MCP — Model Context Protocol — turned Claude Desktop from a chat box into something that can read your files, query your databases, and edit your GitHub issues. The hard part isn't the protocol; it's knowing which servers to install and how to configure them safely. This guide covers the five we actually use day-to-day in 2026.
What changed in 2026
- MCP shipped 1.0 with stable spec — server authors stopped breaking everything every release.
- Anthropic's reference servers cover 80% of real-world needs out of the box.
- Claude Desktop ships MCP enabled by default — no flags, just edit the config.
The config file
Claude Desktop reads ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (%APPDATA%\Claude\ on Windows). Every server gets an entry under mcpServers. Restart Claude Desktop after editing — it doesn't hot-reload. Below is the working config for the five servers in this guide; copy it, replace the paths, and you're set.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pw@localhost/dev"]
},
"fetch": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-fetch"]
},
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
The five MCPs we actually use
Filesystem. Lets Claude read and write within whitelisted directories. Scope tightly — pass a single project root, not your home folder. Useful for: reading code, drafting docs, refactor planning.
GitHub. Read PRs, create issues, search repos. The token needs repo scope; for org work, use a fine-grained PAT scoped to the specific repos you want Claude to touch.
Postgres. Read-only access to a database via connection string. Killer use case: "what queries are slowest in the last 24 hours" against a logs table. Don't connect production directly — use a read replica.
Fetch. Lets Claude pull web pages into the conversation as cleaned markdown. Better than copy-paste because it preserves structure (headings, lists, code blocks).
Memory. A persistent key-value store that survives across chats. We use it as a personal notebook — "remember I prefer pnpm over npm" — and Claude actually pulls those notes back into future conversations.
Comparison: MCPs ranked by daily use
| MCP |
Daily use score |
Setup time |
Risk if misconfigured |
| Filesystem |
10/10 |
1 min |
High — narrow the root |
| GitHub |
9/10 |
2 min |
Medium — scope PAT carefully |
| Postgres |
7/10 |
3 min |
High — use read replica only |
| Fetch |
8/10 |
30s |
Low |
| Memory |
6/10 |
30s |
Low |
Common mistakes to avoid
Pointing filesystem at $HOME. You'll regret it. Pick ~/projects or specific repo roots.
Reusing your personal GitHub PAT. Create a dedicated fine-grained PAT and rotate it quarterly.
Forgetting to restart Claude Desktop. Config changes only apply on a fresh launch.
Ignoring server logs. When an MCP misbehaves, check ~/Library/Logs/Claude/mcp*.log — the answer is almost always there.
FAQ
Do MCPs work with Claude Code (the CLI)?
Yes — same protocol, different config file (.claude/mcp_config.json per project, or the global one).
Can I write my own MCP?
The TypeScript and Python SDKs make it a one-afternoon project. Start with mcp-server-template on GitHub and add the tools you need.
Are there MCPs for Slack, Notion, Linear?
All three exist as community servers. Quality varies — read the source before trusting them with creds.
Is the connection encrypted?
MCP itself runs locally over stdio, so there's no network connection to encrypt. Your secrets sit in the config file — protect that file like you would .env.
Where to go next
For related guides see MCP servers explained — how to build and use them in 2026, How to use Claude for coding in 2026, and Claude Sonnet vs Opus in 2026.