MCP in Plain English: Connect Claude to Your Apps
You know how your phone connects to your car via Bluetooth?
MCP does the same thing — but for AI and your work apps.
It lets Claude (or any AI) talk to your:
- Database (where your data lives)
- GitHub (where your code lives)
- Slack (where your team talks)
- Files on your computer
Without MCP, Claude can only read what you paste into the chat box.
With MCP, Claude can look up real data, send messages, and take actions.
How MCP Works (Simple Version)
You ask Claude:
"How much did we sell last week?"
|
v
Claude says: "I'll check the database"
|
v
MCP connects Claude → your database
|
v
Database sends back: "$45,000"
|
v
Claude shows you: a nice chart + insights
MCP is the bridge. It speaks both languages:
- AI language (what Claude understands)
- App language (what your database understands)
The Three Things MCP Can Do
1. Tools (Actions)
Claude can do things through MCP:
| Tool | What Claude Does |
|---|---|
query_database | Looks up data you ask for |
send_slack_message | Sends a message to your team |
create_github_issue | Makes a bug report |
read_file | Opens a file on your computer |
run_test | Runs your code tests |
Example:
You: "Send a Slack message to the team that sales
are up 20% this week"
Claude: [uses MCP to send the message]
2. Resources (Data)
Claude can read things through MCP:
- Your project files
- Your database tables
- Your company docs
- Your calendar
Example:
You: "What does our API documentation say about
user login?"
Claude: [reads the docs via MCP] "It says..."
3. Prompts (Templates)
You can save common questions as templates:
Name: "Weekly Sales Report"
What it does: Checks sales data, makes a chart,
finds trends
Next week, just say: “Run the weekly sales report.”
Setup: Connect Claude to Your Database
Time needed: 15 minutes Coding needed: A little (but we give you the code)
Step 1: Install the MCP Tools
npm install @modelcontextprotocol/sdk
Step 2: Write a Simple MCP Server
This is a small program that sits between Claude and your database.
// This is your "bridge" program
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { Client } from 'pg'; // PostgreSQL database
// Connect to your database
const db = new Client({
host: 'localhost',
database: 'my_store',
user: 'admin',
password: process.env.DB_PASSWORD,
});
await db.connect();
// Create the MCP server
const server = new Server(
{ name: 'my-store-db', version: '1.0' },
{ capabilities: { tools: {} } }
);
// Tell Claude what tools are available
server.setRequestHandler('tools/list', async () => {
return {
tools: [
{
name: 'get_sales',
description: 'Get total sales for a date range',
inputSchema: {
type: 'object',
properties: {
startDate: {
type: 'string',
description: 'Start date (YYYY-MM-DD)'
},
endDate: {
type: 'string',
description: 'End date (YYYY-MM-DD)'
},
},
required: ['startDate', 'endDate'],
},
},
],
};
});
// When Claude uses the tool, run the database query
server.setRequestHandler('tools/call', async (request) => {
const { name, arguments: args } = request.params;
if (name === 'get_sales') {
const result = await db.query(
'SELECT SUM(total) as sales FROM orders
WHERE order_date BETWEEN $1 AND $2',
[args.startDate, args.endDate]
);
return {
content: [{
type: 'text',
text: `Sales: $${result.rows[0].sales}`
}],
};
}
});
// Start the server
console.log('MCP server is running...');
Step 3: Tell Claude to Use It
Add this to Claude’s settings file:
{
"mcpServers": {
"my-store": {
"command": "node",
"args": ["/path/to/your/server.js"],
"env": {
"DB_PASSWORD": "your_password_here"
}
}
}
}
Step 4: Use It
You: "How much did we sell last week?"
Claude: [connects to your database]
Claude: "You sold $45,230 last week. That's up 12%
from the week before."
Ready-Made MCP Servers (No Coding!)
Don’t want to write code? Use these pre-built servers:
| Server | What It Does | How to Install |
|---|---|---|
| Files | Read/write files on your computer | npx @modelcontextprotocol/server-filesystem |
| GitHub | Read issues, make pull requests | npx @modelcontextprotocol/server-github |
| Postgres | Query your PostgreSQL database | npx @modelcontextprotocol/server-postgres |
| Slack | Send and read Slack messages | npx @modelcontextprotocol/server-slack |
| Puppeteer | Control a web browser | npx @modelcontextprotocol/server-puppeteer |
Example — Files server:
npx @modelcontextprotocol/server-filesystem /Users/you/Documents
Now Claude can read any file in your Documents folder.
MCP vs. Old Ways of Connecting AI
| Old Way | MCP Way |
|---|---|
| Copy-paste data into ChatGPT | Claude reads it directly |
| Write custom code for each app | One standard works everywhere |
| AI can’t take actions | AI can send messages, run code, update data |
| Each AI tool has its own system | All AIs use the same MCP standard |
When to Use MCP (And When Not To)
Use MCP when:
- You ask Claude the same data questions over and over
- You want Claude to take actions (not just answer questions)
- Your team uses the same tools (share one MCP setup)
Don’t use MCP when:
- You only ask Claude random one-off questions
- Your data is super private (MCP adds a connection point)
- You need real-time speed (MCP adds a small delay)
Common Problems
“Claude can’t find my MCP server”
- Check the file path in your settings
- Make sure the server is running
- Try restarting Claude
“The database query is too slow”
- Add a time limit to queries
- Ask Claude to check a smaller date range
- Cache common queries
“I don’t want Claude to see everything”
- Only give access to specific folders/tables
- Use read-only database accounts
- Review what Claude accessed in the logs
Try It Now
- Pick one tool you use every day (database, GitHub, files)
- Find the ready-made MCP server for it
- Install it (copy the
npxcommand above) - Ask Claude a question about that tool
- Watch it work
15 minutes to set up. Hours saved every week.
This guide is part of our How-To series. We test every tool before we write about it.