Skip to content

When Does MCP Earn Its Weight for AI Agents?

I kept rewriting the same database connector. First for Claude Desktop, then for Cursor, then for VS Code Copilot. Each time, I thought: “There has to be a better way.” Then I found MCP, and I understood the problem—and why MCP isn’t always the answer.

The Problem: Fragmented AI-Tool Integrations

Every AI model invented its own way to talk to external tools:

  • OpenAI has function calling
  • LangChain has tool abstractions
  • Every agent framework rolls its own integration layer

The result? You build a database connector for Claude, then rewrite it for Cursor, then again for Copilot. The “rewrite for every client” loop drains engineering time.

I hit this wall when trying to connect my AI agents to our internal tools. I had three different AI clients, all needing the same five backend services. That’s fifteen potential integrations.

MCP’s Value Proposition

MCP (Model Context Protocol) provides three primitives:

PrimitivePurposeUse Case
ToolsFunctions AI can callquery_database, create_issue, fetch_weather
ResourcesRead-only context dataproject_readme, database_schema, recent_errors
PromptsReusable templatescode_review_checklist, sql_query_examples

Tools are the workhorses—80% of usage. Each tool includes a JSON Schema for inputs/outputs, a description that AI reads to decide when to invoke, and a handler that executes the operation.

The critical innovation: AI clients discover capabilities at connection time, not deployment time. Add a new tool to your server, and every connected client sees it immediately.

When MCP Earns Its Weight

The tipping point from a Reddit discussion nailed it: build an MCP server when you’d otherwise build the same integration twice.

More specifically, MCP shines when:

Scenario 1: Multi-Client Deployment

Before and After MCP Integration
Before MCP: 3 clients × 1 backend = 3 custom integrations
After MCP: 1 MCP server → all 3 clients connect directly

You’re building tools that Claude Desktop, Cursor, VS Code Copilot, and your internal agent all need. One MCP server replaces N integration layers.

Scenario 2: User-Brought Integrations

A developer signs into their Slack/Jira/Notion accounts. MCP plugins enable. The agent reads sprint data and posts summaries—without the agent author knowing which tools exist.

This is where MCP truly earns its weight: the deployer (user) and the author (agent developer) are different people. The user decides which tools exist at runtime, not the app author.

Scenario 3: The “USB-C for AI” Misunderstanding

The “USB-C for AI” metaphor misses the point. MCP is more like LSP (Language Server Protocol): one server, many clients. The protocol standardizes discovery, not just data transfer.

When REST Beats MCP

I initially thought MCP was overkill for my simple use case. I was right.

Decision Matrix
Condition | Recommendation
---------------------------------------|---------------
Multiple AI clients need same tools | MCP
Runtime capability discovery matters | MCP
User brings their own integrations | MCP
---------------------------------------|---------------
Single client, single service | REST API
Fine-grained HTTP semantics needed | REST API
Non-AI consumers (service-to-service) | REST API

For single client calling one backend? Just use a REST endpoint. MCP adds unnecessary abstraction.

Thoughtworks notes that for “less complex AI projects with clearly defined context, perhaps local-only or single-language deployment, an MCP server will likely be overkill.”

Common Mistakes I’ve Seen

Mistake 1: Over-Engineering Simple Integrations

Not every tool needs MCP. If you’re calling one API from one AI client, a simple function call or REST endpoint suffices.

Mistake 2: The “Too Many Tools” Trap

Giving an AI 50 tools degrades its ability to pick the right one. Keep servers focused: 5-10 well-described tools beat 50 vague ones.

Tool Count vs. AI Performance
Tools: 5 → AI picks correctly 85% of the time
Tools: 20 → AI picks correctly 60% of the time
Tools: 50 → AI picks correctly 35% of the time

Mistake 3: Skipping Security

MCP servers run with whatever permissions you give them. A tool that can query your database can query ALL of it unless scoped. Always validate inputs server-side.

Mistake 4: Confusing MCP with RAG

MCP doesn’t eliminate retrieval challenges. You still need proper RAG techniques for context management. MCP solves tool discovery, not information retrieval.

The Real Test: Separation of Concerns

The key insight from the Reddit discussion: MCP earns its weight for user-brought integrations—scenarios where the deployer and tool author are separated.

Ask yourself:

  1. Will multiple AI clients need these tools?
  2. Does the user decide which tools exist at runtime?
  3. Would I otherwise build the same integration twice?

If you answered yes to any of these, MCP is worth the investment. If not, keep it simple with REST.

Bottom Line

MCP is not over-hyped, but it’s also not universally applicable. The protocol’s value proposition is narrow but genuine: it stops you from rewriting the same tool integration for every new AI client.

For a standardized protocol, that’s exactly enough.

Final Words + More Resources

My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me

Here are also the most important links from this article along with some further resources that will help you in this scope:

Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!

Comments