Wednesday, 15 July 2026

MCP for Engineers: Standardizing How LLMs Talk to Tools

Large Language Models have become remarkably good at reasoning, planning, and generating content. As engineers, we’ve quickly learned how powerful they can be for drafting code, answering questions, and even designing systems. But as soon as we move beyond text generation and attempt real-world actions like API calls, database queries, or file operations, the gaps become clear.

 

To make LLMs more useful, developers started giving them tools. Instead of only replying with text, a model could now choose to use a tool like sending an email, checking the weather, or looking up information in another system. The model would decide what needs to be done, and regular software code would handle doing it. This sounded like a big step forward, and it was. These systems were often called agents, because they could both think and act.

 

But in practice, it introduced a new kind of complexity. Every framework defined tool calling differently. Every API integration required custom glue code. Every update to an external service risked breaking the agent and the same integrations were rewritten again and again across teams and projects.

 

For example, imagine three different developers want to build an AI assistant that can send emails. The goal is the same, "Write an email and send it through Gmail". At first, this sounds simple. But here’s what actually happens behind the scenes.

 

Step 1: Everyone Has to Build Their Own Tool

An AI model by itself cannot send emails. So each developer must build a tool (also called a function or API wrapper) that:

 

·      Talks to Gmail’s APIs

·      Handles login and permissions

·      Accepts inputs like to, subject, and message

·      Sends the email using Gmail

 

So:

 

·      Developer A builds a Gmail tool

·      Developer B builds a Gmail tool

·      Developer C builds a Gmail tool

 

Even though they all want the same result, each one writes their own version of the tool. This is repetitive work.

 

Step 2: Different Frameworks, Different Tool Styles

Now it gets trickier. Each developer might be using a different AI framework (for example, one library or platform to build AI agents). Each framework expects tools to be defined in its own format:

 

·      Different structure

·      Different input definitions

·      Different way the AI calls the tool

 

So even if Developer A shares their Gmail tool:

·      Developer B cannot reuse it directly

·      Developer C still has to rewrite it

 

The same "send email" capability gets rebuilt again and again.

 

Step 3: Gmail API Changes (Everything Breaks)

Now imagine that Gmail makes a change. Perhaps the way authentication works is slightly modified. Maybe a new permission is required to send emails, or an existing setting is renamed. Nothing dramatic, just a normal update that happens with most large APIs over time.

 

Suddenly, all three email tools stop working. Each developer has to go back, figure out what changed, update their code, test it again, and redeploy their assistant. Even though the issue is the same for everyone, the fix has to be done separately by each person.

 

Step 4: Multiply This Problem

Now multiply this single example by:

 

·      Email

·      File storage

·      Calendars

·      Databases

·      Payment systems

·      Local files

 

You quickly end up with:

·      Hundreds of custom tools

·      Built differently

·      Maintained separately

·      Breaking frequently

 

The Core Problem

·      The issue isn’t Gmail.

·      The issue isn’t AI models.

 

The real problem is:

 

·      No standard way for AI systems to talk to tools

·      Everyone builds their own connectors

·      The same work is repeated

·      Changes cause widespread breakage

 

This is the exact problem MCP was created to solve.

 

1. What MCP Brings to the Table

MCP (Model Context Protocol) starts with a very simple but powerful idea.

 

What if AI systems didn’t need custom built connectors for every tool they use?

 

Instead of every developer writing their own Gmail tool, file system tool, or database integration, MCP introduces a shared, standardized way for AI systems to interact with external systems.

 

Before MCP, the question developers had to ask was "How do I integrate Gmail with this specific framework, using this specific model, in this specific way?"

 

MCP changes the question entirely. Now the question becomes "Does a Gmail MCP server exist?"

 

If the answer is yes, then:

 

·      Any AI system that supports MCP can use it

·      No framework-specific tool definitions are required

·      No custom API wrappers need to be written

 

The integration logic lives inside the MCP server, not inside every AI application.

 

One Tool, Many AI Systems

An MCP server acts as a single, reusable bridge between an external system and AI models.

 

For example:

·      One Gmail MCP server

·      One file system MCP server

·      One database MCP server

 

Once created:

·      Chat-based assistants can use them

·      IDE assistants can use them

·      Custom agents can use them

·      Local or cloud-based systems can use them

 

The same tool works everywhere, as long as the AI system understands MCP.

 

Centralized Maintenance Instead of Distributed Breakage

When Gmail changes its API, only the Gmail MCP server needs to be updated. AI systems using it don’t need to change. Developers don’t have to chase breaking updates. This shifts maintenance from "Hundreds of developers fixing the same issue"

to "One well-defined MCP server staying up to date".

 

A Clean Separation of Responsibilities

MCP creates a clear boundary:

 

·      AI systems focus on reasoning, decisions, and user interaction

·      MCP servers focus on interacting with tools, APIs, and local resources

·      The protocol defines how they talk to each other

 

This separation reduces complexity, improves reuse, and makes systems easier to reason about especially at scale.

 

2. The Key Idea: Separate "Thinking" from "Doing"

In simple terms, AI systems should focus on thinking, not on doing. In traditional AI agent setups, these two responsibilities were often mixed together. The AI model would decide what action to take, but the developer also had to tightly connect that decision making logic to the exact way an external system worked like its API structure, authentication rules, and edge cases. This coupling made systems fragile and hard to evolve.

 

MCP deliberately separates these responsibilities into two clear roles.

 

2.1 AI Systems Focus on "What to Do"

AI systems such as LLMs or agents are responsible for:

 

·      Understanding the user’s request

·      Reasoning about the steps needed

·      Deciding which action or tool should be used

 

The AI does not need to know:

 

·      Which API endpoint is called

·      How authentication works

·      What parameters the external service expects internally

 

AI systems simply express the intent.

 

2.2 External Systems Handle "How It Gets Done"?

External systems like Gmail, file systems, databases, or local processes are responsible for:

 

·      Executing the actual operation

·      Handling permissions and authentication

·      Dealing with API changes or internal complexity

 

These systems expose their capabilities through MCP servers, which act as standardized entry points. So instead of custom code written by every developer, the "how" is encapsulated once, inside the MCP server.

 

2.3 The Protocol Is the Contract Between Them

The connection between thinking and doing is no longer custom code written differently in every project. Instead, it follows a common protocol, that is MCP.

 

Since this protocol is standardized:

AI systems know how to request actions

Tools know how to receive and execute those requests

Neither side needs to know implementation details of the other

 

This loose coupling is what makes MCP powerful.

 

By clearly separating responsibilities, MCP makes AI systems:

 

·      Easier to build: Developers don’t need to write low-level integration code for every tool. They simply connect to existing MCP servers.

·      Easier to maintain: When an external service changes, the update happens in one place that is at the MCP server rather than across many agents and projects.

·      Easier to extend: New capabilities can be added by plugging in new MCP servers, without modifying the AI system itself.

 

2.4 Why This Separation Matters

By clearly separating responsibilities, MCP makes AI systems:

 

·      Easier to build: Developers don’t need to write low-level integration code for every tool. They simply connect to existing MCP servers.

 

·      Easier to maintain: When an external service changes, the update happens in one place that is at the MCP server rather than across many agents and projects.

 

·      Easier to extend: New capabilities can be added by plugging in new MCP servers, without modifying the AI system itself.

 

In short, MCP allows AI systems to do what they do best (reason and decide), while external systems do what they’re good at (execute reliably). The protocol in between keeps the two cleanly separated, stable, and reusable.

 

3. MCP Architecture (High-Level View)

MCP is not a single library or service. It’s an architecture, a way of organizing how AI systems interact with external tools.

 

At a high level, MCP introduces three core components, each with a clear responsibility. When combined, they form a clean pipeline from user intent to real-world action.


 

3.1 MCP Host (Where the AI Lives)

The MCP Host is the application that runs the AI model and interacts with the user. This is the environment where:

 

·      Users type prompts

·      The AI reasons about requests

·      Decisions are made about which tools to use


 

4.1 Without MCP: Everyone Reinvents the Wheel

In a world without MCP, each developer is on their own.

 

·      Developer A writes custom code to connect their AI assistant to Gmail

·      Developer B does the same

·      Developer C does it again

 

Here, each developer:

·      Learns Gmail’s API

·      Handles authentication

·      Formats requests correctly

·      Deals with errors and edge cases

 

Even though the goal is identical, the work is duplicated three times. Now Gmail releases an update. Maybe authentication rules change or a permission is renamed. Suddenly:

 

·      Developer A’s assistant breaks

·      Developer B’s assistant breaks

·      Developer C’s assistant breaks

 

Each developer must:

·      Investigate the issue

·      Update their Gmail integration

·      Test it

·      Redeploy

 

The same problem is fixed multiple times, by different people, in different codebases.

 

4.2 With MCP: Build Once, Reuse Everywhere

Now imagine the same scenario with MCP. Instead of three developers building three Gmail tools:

 

Someone builds a single Gmail MCP server. This server:

 

·      Knows how to talk to Gmail

·      Handles authentication

·      Exposes actions like "send email" in a standard MCP format

 

When Gmail changes:

·      Only the MCP server needs to be updated

·      The fix happens once, in one place

 

What Changes for Developers

Now the experience for developers looks very different:

 

·      Developer A connects their AI assistant to the Gmail MCP server

·      Developer B does the same

·      Developer C does the same

 

With MCP approach

·      No one writes Gmail specific logic.

·      No one worries about API changes.

·      No one rewrites the same integration.

 

They simply use a ready-made capability.

 

5. What MCP Is (and Is Not)

When people first hear about MCP, it’s easy to misunderstand what it actually provides. So let’s be very explicit about what MCP is and what it is not.

 

5.1 What MCP Is

MCP is a Protocol: At its core, MCP is a communication protocol. It defines:

 

·      How AI systems describe what they want to do

·      How tools describe what they can do

·      How requests and responses are structured

 

Just like HTTP defines how browsers talk to servers, MCP defines how AI systems talk to tools.

 

MCP is a Standard:  MCP is a shared standard that many tools and AI hosts can agree on.

 

This means:

·      Tools don’t have to be rewritten for every AI framework

·      AI systems don’t need custom logic for every tool

·      Different implementations can still work together

 

Once a tool follows MCP, it becomes usable across many AI systems.

 

MCP is a Shared Contract: MCP acts as a contract between two sides:

The AI side promises: "I will ask for actions in this format".

The tool side promises: "I will expose my capabilities in this format".

 

Because both sides follow the same contract, they don’t need to know each other’s internal details.

 

MCP is a Way to Connect AI Systems to Tools

Most importantly, MCP is a clean, reliable way to connect AI reasoning to real-world actions.

 

It allows:

·      AI systems to focus on decision-making

·      Tools to focus on execution

·      Both sides to evolve independently

 

5.2 What MCP Is Not

MCP is Not a New AI Model: MCP does not replace GPT, Claude, or any other LLM. It works with existing models and does not change how they reason or generate text.

 

MCP is Not a Replacement for APIs: MCP does not eliminate APIs like Gmail, Stripe, or databases. Those APIs still exist and still do the real work. MCP simply provides a standardized layer above them so AI systems can use them consistently.

 

MCP is Not a Framework Like LangChain:  MCP is not a framework that tells you how to build agents or structure your application. You can use MCP:

 

·      With LangChain

·      Without LangChain

·      With your own custom agent logic

 

MCP stays focused on tool access, not application architecture.

 

MCP is Not a Magic Abstraction:  MCP doesn’t remove all complexity or business logic.

 

Someone still has to:

·      Decide what tools should exist

·      Implement MCP servers

·      Handle permissions, limits, and safety

 

What MCP removes is unnecessary duplication.

 

6. Why MCP Matters Going Forward

As AI systems grow more capable, they will:

 

·      Use more tools

·      Touch more systems

·      Run closer to users’ machines

·      Operate across many environments

 

Without a standard, this becomes unmanageable.

 

MCP provides:

 

·      Reuse instead of reinvention

·      Stability instead of fragile glue code

·      Scale instead of chaos

 

And that’s why MCP is quickly becoming a foundational piece of modern AI engineering. 


Previous                                                    Next                                                    Home

No comments:

Post a Comment