A curated guide to Model Context Protocol servers that ship value, not just demos.
Model Context Protocol went from Anthropic's open-source release in November 2024 to a Linux Foundation project in December 2025. The ecosystem exploded. Hundreds of MCP servers now exist - databases, design tools, documentation systems, file operations, web scraping and everything in between.
Most MCP content falls into two buckets: official documentation (technically accurate, not opinionated) and 'what is MCP' explainers (useful once, then noise). Missing: a practitioner perspective on which MCPs actually help and which are demos that look impressive but ship nothing.
This article is curation, not explanation. I assume you know MCP exists and roughly what it does. If not: MCP is an open protocol that lets AI tools like Claude Desktop connect to external services through standardized servers. Now let us talk about which servers are worth your time.
MCP is a protocol. Claude Desktop (or other clients) connects to MCP servers that expose tools, resources and prompts. When you ask Claude to 'read that file' or 'check my database,' it calls an MCP server that actually does the operation.
Not all MCPs are created equal. Some are production-ready tools maintained by dedicated teams. Others are weekend projects that worked once on someone's machine. Before adding any MCP to your workflow, evaluate maintenance signals, security posture and practical utility.
I have watched engineers add 15 MCPs because they 'might be useful' and then wonder why Claude Desktop takes 30 seconds to start and hallucinates tool names. Start minimal. Add MCPs when you have a specific problem, not because they exist.
Based on daily usage across real projects, here are the MCPs worth your time by category.
File and code operations
Filesystem MCP is essential. Read files, write files, list directories, search content. This is the foundation of any dev workflow with Claude. Git MCP is nearly essential for dev workflows - status, diff, log, commit operations. Filesystem + Git covers probably 80% of what most developers need from MCP. Both are reference servers, which their maintainers call educational examples rather than production-ready solutions, so scope them to one project folder and one repository. The git server is a Python package: run it with uvx, not npx.
Database and data
A Postgres MCP saves significant time if you work with PostgreSQL - query databases, inspect schemas, run migrations with AI assistance. Supabase MCP handles auth, database, storage for Supabase projects specifically. Security note: Database MCPs need connection strings with real credentials. Consider read-only users for exploration. The original reference servers for Postgres and GitHub are archived and deprecated on npm, so use a maintained server (for GitHub, GitHub's own) and run it through the evaluation checklist first.
Design tools
Figma MCP is interesting for design systems work. It can read component properties, extract text and layer structure, get design token values. What does not work yet: reliable design-to-code generation (needs human cleanup), complex interaction specifications, maintaining design-code parity automatically. Treat it as a research assistant, not a code generator.
Most workflows need one MCP at a time. Add filesystem MCP, work with files for a few weeks, understand its patterns and limitations before adding more. Some workflows naturally combine MCPs (filesystem + git + docs for dev work), but composed MCPs add cognitive load for Claude. Keep your config under 5 MCPs for most work.
The key: add MCPs for specific problems, remove them when done. Your everyday config should be minimal.
The 2025 research on MCP security identified real concerns. MCP servers run with whatever permissions you grant them and many request more than they need. Most MCP servers are not sandboxed in any meaningful way - a malicious or buggy MCP can read any file you can read, write anywhere, make network requests, access environment variables including API keys.
Trust but verify. Review source code of MCPs you use. Prefer MCPs from known maintainers. Grant minimum permissions needed - specific directories, not home folder.
MCP is evolving rapidly. MCP Apps, an official extension, let servers render interactive UI such as charts and forms inside the conversation. Multi-agent coordination MCPs help multiple AI agents work together. Cross-vendor ecosystem is growing with Linux Foundation governance. Expect better sandboxing and permission models as the ecosystem matures.
Focus on patterns, not versions. The specific MCPs will evolve. The evaluation criteria and integration patterns will remain relevant.
Before adding any MCP to your config:
Add more only when you have a specific problem. Remove MCPs you have not used in a month. Pin exact versions, as above: npx -y without a version runs whatever was published last, on every restart.
For each MCP in your config, document: version, review date, permissions granted (filesystem directories, network, credentials), justification, risk assessment (LOW/MEDIUM/HIGH), mitigation steps, next review date. MCP is infrastructure - treat it like infrastructure with evaluation, documentation and periodic review.
MCP reached Linux Foundation governance about a year after launch.
In my own work, filesystem and git MCPs cover most practical dev workflows.
MCP security research in 2025 identified permission and sandboxing gaps.
Vet an MCP server before you install it: 36 gated checks, a tool-list scanner with 13 rules and a scorer that says approve or reject.
Start Claude Desktop and Claude Code with a small, pinned MCP set: 23 rules, two verified configs and a validator that finds secrets.
Review MCP permissions with STRIDE: 27 items, an inventory check that finds the lethal trifecta and a tool diff that catches rug pulls.
Choose single, composed or no MCP at all: 25 rules across five patterns and a working token server on the official TypeScript SDK.
The share link includes source tracking so LinkedIn traffic stays measurable in analytics.
Want help implementing this? Let's talk about your system or workflow.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem@2026.8.31",
"/path/to/allowed/directory"
]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git==2026.8.18", "--repository", "/path/to/allowed/directory"]
}
}
}{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem@2026.8.31",
"/path/to/your/project"
]
},
"git": {
"command": "uvx",
"args": ["mcp-server-git==2026.8.18", "--repository", "/path/to/your/project"]
}
}
}