MCP - Overhyped, Misunderstood, and Actually Useful
MCP - Overhyped, Misunderstood, and Actually Useful
Useful
The number of MCP (Model Context Protocol) myths floating around lately is piling up.
Here’s our attempt to give you the nuanced perspective it deserves.
KIRITI BADAM
APR 05, 2025
47 4 Share
MCP has been becoming more popular in the AI community lately - and it comes with
a LOT of myths and over-selling. It's a perfect example where folks unfamiliar with
software engineering principles start over-hyping what it means for LLM applications.
MCP = Model Context Protocol. Let's breakdown each letter in MCP, explain what
was possible before MCP and what exactly is MCP bringing to the table.
This is a great visualization of MCP, and one of our personal favorites. Created by:
Norah Sakal. Each of these terms will become much clearer as you read through this
article.
What is "Model Context"?
The Nuanced Perspective is a reader-
supported publication. To receive new posts
and support my work, consider becoming a free
or paid subscriber.
"Model Context" refers to the structured information you give an LLM to help it
perform better on your application specific tasks — whether that's accessing tools,
understanding system state, or interacting with external data like user files, databases,
or APIs.
It's a simple idea: LLMs are stateless and context-hungry. You need to give them all
relevant information to reason well. "Model Context" is just the organized way of
doing that.
Before we jump into Protocol (P in MCP), let's understand what was possible before
MCP and why it was a problem.
NO. You've been able to connect LLMs (at least OpenAI models) to APIs for over 18
months — since OpenAI launched function calling. Reference:
https://openai.com/index/function-calling-and-other-api-updates/.
For example:
# 1. DESCRIBE your function to the LLM - here we're describing a
function to get stock price
tools = [{
"type": "function",
"function": {
"name": "get_stock_price",
"description": "Get current stock price",
"parameters": {
"type": "object",
"properties": {
"symbol": {"type": "string", "description": "Stock
symbol (e.g., AAPL)"}
},
"required": ["symbol"]
}
}
}]
This pattern was a game changer. It turned LLMs from passive text generators into
reasoning engines that can orchestrate other tools and get things done.
If you're familiar with APIs, think of this like REST vs SOAP vs GraphQL. We needed
a shared convention.
That means:
Not true again! You only needed to change your logic when switching LLM providers
— because each had their own quirks.
With MCP, you can now switch providers without touching your tool descriptions.
That means:
Think of it like two humans agreeing to speak English. Once the basic vocabulary is
shared, you can discuss anything — from dinner plans to quantum mechanics.
🧠 Host
The Host is an LLM application (like Claude Desktop or Cursor) that initiates
connections.
📡 Client
Maintains a 1:1 connection with servers, and lives inside the host application. It sends
messages, receives responses, and handles the communication protocol.
🛠 Server
Provides context, tools, and prompts to clients. It handles the execution of functions,
manages state, and owns the implementation logic.
The magic happens when all these components communicate using the standardized
protocol layers:
Transport layer - Manages the actual data exchange (via Stdio or HTTP with SSE)
You can read more details about the MCP architecture here.
Rich data exchange: Audio, video, file metadata, or search index references — all
can be modeled cleanly.
Stateful agents: Servers can retain context across requests. Clients stay simple.
TL;DR
MCP has not invented the way to connect tools to an LLM - it's just a protocol for
doing what we've already been doing — just better, cleaner, and more interoperably.
Much like HTTP for the web or USB for hardware — it's the unsexy infrastructure
layer that will quietly power the next generation of LLM apps.
MCP GitHub
47 Likes ∙ 4 Restacks
A guest post by
Kiriti Badam Subscribe to Kiriti
Read more about me here - https://www.linkedin.com/in/sai-
kiriti-badam/
Discussion about this post
Comments Restacks
Write a comment...