Giridhar Chettiar

Full Stack Developer and AI enthusiast with a passion for creating intuitive, high-performance applications.

Quick Links

  • Home
  • About
  • Projects
  • Blog
  • Contact

Let's Connect

  • GitHub
  • LinkedIn
  • Instagram
  • Email

Contact

  • giri.chettiar@gmail.com
  • Adelaide, Australia

© 2026 Giridhar Chettiar. All rights reserved.

Privacy PolicyTerms of ServiceSitemap
Logo
CONTACT
Logo
HOMEABOUTPROJECTSREVIEWSBLOG
CONTACT
Logo
HOMEABOUTPROJECTSREVIEWSBLOGCONTACT
AI & ML
May 31, 2026
9 min read

MCP — The Why

Why connecting AI to your tools quietly turns into an integration explosion — N tools times M services — and how the Model Context Protocol collapses that to N + M. Written up from the CampusX 'MCP Trilogy' video, Anthropic's own docs, and the servers I've actually wired into Claude Code.

Giridhar Chettiar
Giridhar Chettiar
Author
MCP — The Why

MCP — The Why

I didn't go looking for MCP. I backed into it.

For months my setup was the same ritual: a capable model in one window, and all my actual work — Jira tickets, a GitHub repo, a database, a Google Drive full of half-finished docs — in a dozen others. Every time I wanted the AI to do something with that work, I had to carry the context across by hand. And every time I bolted on a new tool, I was wiring up one more bespoke integration that only I understood.

It took me an embarrassingly long time to notice the shape of the problem. Then CampusX put a name on it in their "MCP Trilogy" — and the why of MCP clicked in a single slide. This is my write-up of those notes, plus what changed once I started running MCP servers in Claude Code myself.

First, the boom that started it

ChatGPT launched on Nov 30, 2022. It crossed a million users in five days, and a hundred million in two months. Nothing in consumer software had moved like that.

What followed came in two distinct waves.

Wave 1 — Pure Wonder
"Explain quantum physics from a cat's perspective"
"What would happen if gravity worked backwards?"
"Write a song about pizza in the style of Shakespeare"
play — we were finding out what it could do
Wave 2 — Professional Adoption
Lawyers: "Summarise this 50-page contract."
Developers: "Debug this Python function."
Teachers: "Create a lesson plan on photosynthesis."
work — an individual productivity boom

Wave two is where the trouble started. Once the AI was doing real work, people wanted it to do that work with their actual stuff — and their actual stuff lived in a dozen different apps.

Living in five AI worlds

Here's the thing nobody designed on purpose: the AI in Notion couldn't talk to the AI in Slack. The coding assistant in VS Code knew nothing about the discussion happening in MS Teams. Everyone ended up juggling a handful of disconnected assistants, each smart, each on its own island.

What people actually wanted
One unified AI partner that understood all of their work — not five clever tools that each understood a fifth of it.
But there was a hard problem sitting between that vision and reality. The problem of context.

What "context" actually means

Context is everything an AI can see when it generates a response. More formally: the information — conversation history, external documents, the lot — that the model uses to produce its answer. When you chat with ChatGPT, your past messages are the context.

Which sounds simple until you picture a real job. Take a software engineer. Their work is scattered across Jira, GitHub, MySQL, Slack, Google Drive — and the AI sits in the middle of all of it, able to see exactly none of it.

Jira
GitHub
MySQL
Slack
Google Drive
🤖 the AI, in the middle, blind to all of it

So how did we feed it the context? We pasted. By hand.

The copy-paste hell

This was my life for a good while, and the slide that called it "copy-paste hell" felt personally attacked. I was the integration. I'd copy a stack trace out of the terminal, paste it into a chat, paste back the schema, paste in the relevant file, ask one question — then do the whole dance again for the follow-up.

Symptom 01
Developers became Human APIs
Paste thousands of lines just to ask one simple question. You are the data pipe.
Symptom 02
Context assembly > development
More time gathering and pasting context than actually building the thing.
Symptom 03
Managing what it remembers
Re-pasting the same background every session because nothing persisted.
Symptom 04
It doesn't scale
Fine for one tool. Absurd across ten. Every extra source multiplies the manual work.

The first fix: function calling

In mid-2023, OpenAI shipped function calling, and the picture changed. Function calling is a way for an LLM to call external functions — instead of just answering, the model can say "run load_file("abc.txt") for me" and use the result.

Ask"Read the file abc.txt"
→
LLM emits a callload_file("abc.txt")
→
Your code runsdef load_file(name): ...

Wrap a function so the model can call it and you've got a tool. Suddenly an LLM could reach a Weather API, a database, a GitHub repo. Cursor got filesystem access and code search. Perplexity got live web browsing. ChatGPT Plus and Claude grew real tool capabilities. Every serious AI product raced to add Salesforce connectors, Slack bots, Drive integrations, database query tools.

It genuinely felt like the answer. The AI was finally connected to the world.

The fix created a worse problem

Look closely at how those tools were built and the catch appears. Every AI product was building its own way to call every API. A chatbot needed a Jira tool, a Slack tool, a GitHub tool, a MySQL tool. The coding agent needed its own Jira tool, its own Slack tool. So did the analytics agent. Everybody re-implementing the same connectors, slightly differently, forever.

This is the integration problem, and it's the whole reason MCP exists. With N AI clients and M services, you're on the hook for N × M separate integrations — each with its own authentication, its own data format, its own error handling. A maintenance nightmare, fragmented security, and a pile of wasted cost and time.

Here's the part worth playing with. Drag the size of your stack up and watch the two numbers diverge — point-to-point integrations grow like a square, the MCP approach grows like a line:

Drag the scale — N AI tools × N services. Watch the tangle densify, then collapse.
Direct wiring · 2 × 2 = 4 connections
MCP
Through MCP · 2 + 2 = 4 connections
N × M = 4
N + M = 4
At toy scale it's a wash — 0% saved. This is exactly why MCP looks pointless on a two-tool demo.
Direct wiring · 3 × 3 = 9 connections
MCP
Through MCP · 3 + 3 = 6 connections
N × M = 9
N + M = 6
33% fewer integrations to build, secure and maintain.
Direct wiring · 5 × 5 = 25 connections
MCP
Through MCP · 5 + 5 = 10 connections
N × M = 25
N + M = 10
60% fewer integrations to build, secure and maintain.
Direct wiring · 8 × 8 = 64 connections
MCP
Through MCP · 8 + 8 = 16 connections
N × M = 64
N + M = 16
75% fewer integrations to build, secure and maintain — 64 bespoke connectors collapse to 16. This is the explosion MCP exists to stop.
Numbers assume N tools and N services for illustration; the real relationship is N × M vs N + M.

That square-versus-line gap is the why of MCP. Everything else is detail.

Enter MCP

The Model Context Protocol does for AI-to-tool communication what a standard port did for hardware: instead of every device inventing its own plug, everyone agrees on one. MCP defines two roles — a client and a server — and a shared language between them.

MCP Client
Lives with the AI app (ChatGPT, Claude, your coding agent). It speaks MCP and asks for what it needs. Built with the MCP Client SDK.
MCP Server
Wraps one service — GitHub, Google Drive, your database — and exposes it in MCP's language. Built with the MCP Server SDK.

One client can fan out to many servers, and one server can be reused by any client. That's the whole topology shift below — from a tangled mesh to a clean hub:

MCP Client
Your AI app
Claude Code · ChatGPT · Cursor. Speaks MCP, asks for what it needs, and never touches a service API directly.
one protocol
⇄
MCP Server GitHub issues · PRs · code
MCP Server Google Drive docs · files
MCP Server Postgres queries · schema
MCP Server Slack messages · threads
Write each server once — every MCP-aware client reuses it. N + M, not N × M.

The server does the heavy lifting

This is the bit I underrated until I'd built one. The server owns all the painful, service-specific work — and the client never has to care:

  • ▸ Authentication with the service (e.g. GitHub)
  • ▸ API rate limiting
  • ▸ Data-format translation
  • ▸ Error handling
  • ▸ Service-specific business logic
The client just connects and speaks the same language to every server. Write the GitHub server once; every MCP-aware AI can use it.

MCP vs function calling vs an API

It's a fair question: isn't this just function calling with extra steps? The difference is where the work lives and who can reuse it. Function calling is per-app glue you keep rewriting. An MCP server is a standalone, reusable boundary — the client calls a tool by name, and the server is the one importing the SDK, holding the credentials, and talking to the real API.

# MCP client — the AI app just calls a tool by name
result = call_tool("get_weather", {"city": "London"})
# MCP server — wraps the service once, reusable by any client
from mcp.server import Server

server = Server("WeatherServer")

@server.tool("get_weather")
def get_weather(city: str):
    data = lookup_weather(city)          # auth, rate limits, parsing all live here
    return {"temperature": data["temp_c"], "condition": data["condition"]}

server.start()

In practice, hooking one up is mostly a config entry. I've now edited more claude_desktop_config.json files than I'd like to admit — point the client at a server command, restart, and the tools just show up. I've also stood up a couple of small servers of my own, and the mental model held: the server hides the mess, the client stays simple.

The payoff — and why it compounds

Add it up and you get the slide that made the whole trilogy worth watching:

01
N + M, not N × M
The integration count goes linear.
02
No maintenance sprawl
Fix a server once; everyone benefits.
03
Reduced cost & time
Stop re-building the same connectors.
04
Better security
Auth handled in one audited place.

And then it stops being about one team's tidy diagram and becomes a flywheel. More AI clients supporting MCP makes it more worthwhile for services to ship MCP servers. More servers available makes it more worthwhile for AI tools to support MCP. More adoption drives more standardisation, which drives more ecosystem value. The flip side is the part that made me pay attention: not supporting MCP increasingly means being cut off from a fast-growing ecosystem.

What I take away

The honest version: MCP isn't a clever new capability. It's the boring, correct decision to standardise the plug. Function calling already let a model reach the outside world — MCP just stopped every app from reinventing that reach, and turned a quadratic problem into a linear one.

I felt all three stages of this personally. I was the human API doing the copy-pasting. I bolted on tool after tool until the integrations sprawled. And then I started running MCP servers in Claude Code and the sprawl quietly went away — the same servers, reused everywhere.

There's a small loop-closing detail I like: this very post came out of an MCP pipeline. A OneNote server reached straight into my notebook, pulled the "MCP — The Why" page and its slides off the page, and handed them to the model to write up — no copy-paste, no carrying context by hand. The thing the protocol is for is exactly how the thing got made.

References and Resources

  • Introducing the Model Context Protocol — Anthropic — the original announcement and the clearest statement of the "why".
  • Model Context Protocol — official site & docs — specification, concepts, and the client/server SDKs.
  • modelcontextprotocol on GitHub — the spec, reference servers, and SDKs in the open.
  • Connect Claude Code to tools via MCP — Claude Docs — how to actually wire servers into your client (the claude_desktop_config.json side of things).

Massive Shoutout to CampusX

These notes started as scribbles alongside the CampusX "Model Context Protocol — The Why | MCP Trilogy" video. If you want the full narration and the live demos I've compressed into a sentence or two, that's where to go — the same channel I credited in my Skills in Claude Code and Gen AI without the Hype posts. Still the clearest walk-throughs of fast-moving AI tooling I've found. Subscribe to the CampusX YouTube channel if any of this landed.

Tags

MCP
Model Context Protocol
Anthropic
Claude
AI Tools
LLM

Related articles

AI & ML

Skills in Claude Code

Why a general-purpose model still struggles on specific tasks, what a Skill actually is, and how progressive disclosure makes a library of them practical — written up from My Personal Project Experience, the CampusX video and Anthropic's own docs.

AI & ML

Exploring Gen AI the right way without the hype

Navigate the world of Generative AI beyond the hype, focusing on practical applications and responsible implementation

Read More Articles