本文以英文发布。
MCP, RAG and the LLM: What Each Layer Actually Does in Your App
A plain walkthrough of what MCP, RAG and an LLM each add to an application you already know how to build, and when a standardized tool protocol is worth the extra layer.
If you were building software before the AI boom, you've probably wondered why everything suddenly needs an acronym. AI, LLM, RAG, MCP, agents, vector databases. Plenty of developers look at that pile and think they shipped perfectly good applications without any of it. A fair way to cut through the buzzwords is to ask what each piece actually adds on top of what you already have.
Start with something you already know
Say a customer asks to see their last 5 billed transactions. That's not a new kind of problem, and your application already handles it.
User
↓
Application
↓
SQL
↓
Database
↓
Transactions
The query behind it can be as plain as this:
SELECT *
FROM transactions
WHERE status = 'billed'
ORDER BY transaction_date DESC
LIMIT 5;
That's it. No AI, no MCP, no vector database, no agent, and it works fine.
Variations don't change much
Now suppose the customer wants 37 transactions instead. The app just accepts a parameter.
limit = 37
Or they ask for billed transactions from August above ₹10,000. The backend turns that into the right query, again with no MCP involved.
This is usually the point where MCP gets confusing. It's tempting to assume MCP will somehow work out how to query your database. It won't. MCP doesn't know your schema, doesn't write your business logic, doesn't fetch your data on its own, and doesn't make the application you've already built obsolete.
So what is MCP?
The shortest description that holds up is this: MCP is a common protocol that lets AI applications find tools and data sources and call them in one consistent way.
Picture three unrelated systems. Transactions live in a database.
Transactions → Database
Support tickets sit in a CRM or Jira, and company policies sit in a RAG setup backed by a vector database.
Support Tickets → CRM/JiraCompany Policies → RAG / Vector Database
An AI assistant could need all three. MCP can publish each one as a capability the assistant can find and call:
get_transactions()
get_support_tickets()
search_knowledge_base()
The model can then decide that it needs information from all three. The catch is that MCP isn't doing any of the real work. Something underneath still has to pull the transactions, query the tickets, search the knowledge base, enforce permissions and filter the results. That's why MCP can feel like an extra layer, and sometimes that's exactly what it is.
Is it pointless, then?
No, it just solves a different problem than the one people first assume.
If you're building a single application and you own the backend, calling your functions directly as tools is perfectly reasonable. Things change when you have several consumers.
AI Agent 1
AI Agent 2
AI Agent 3
Customer Chatbot
Internal Copilot
Now imagine all of them need the same set of systems:
CRM
Jira
Databases
Internal APIs
Knowledge Base
Cloud services
At that point you have an integration problem. Without a shared protocol, every AI application would invent its own way of talking to every system. MCP offers one common interface instead, and that's where a standard starts paying for itself.
Where RAG fits
RAG is the easier one to place, because it answers a retrieval question. Someone asks what the refund policy is, and RAG searches a big pile of documents and returns the passages that matter.
MCP doesn't replace that. You could even publish your RAG system through MCP. The three roles split cleanly:
- RAG finds the relevant information.
- MCP gives the AI a standard way to reach that capability.
- The LLM understands the question, decides what it needs and reasons over what comes back.
Those are different jobs.
The real lesson
The takeaway isn't that MCP is amazing, and it isn't that MCP is a waste of time. It's this: a trend is a bad reason to add a layer, and a real problem that the layer solves is a good one.
You've spent years building APIs, databases, authentication, search, caching, integrations and business logic. AI doesn't erase any of that. It gives you one more way to interact with it. Sometimes a new layer makes the architecture better, and sometimes it's just another layer. Knowing which case you're in is the most useful thing to take away from all these acronyms.