You have probably heard of MCP, which stands for โModel Context Protocolโ. But what does it actually mean?
๐ง๐;๐๐ฅ: MCP lets ChatGPT use your tools, not just OpenAIโs. Itโs not just about giving LLMs more information. Itโs about giving them capabilities that make it work on your domain, data, and workflows.
After reading the docs and watching tutorials, I still wasnโt clear.
Everything clicked when I built an MCP server myself. This post is my attempt to spare you that confusion.
Letโs start from the basics. LLMs are limited. By themselves, they donโt know whatโs happening in the world right now. They donโt have access to your data. And they canโt act on your behalf.
Theyโre trained until a fixed point in time. So, if you ask โWho won the IPL this year?โโthey shouldn't know. But they do. How?
Tools.
When ChatGPT realises it canโt answer your question directly, it triggers its search tool to fetch the most relevant posts on the internet, reads them and answers based on that. The tool fills a gap in its abilities.
OpenAI has added many such tools inside ChatGPT. However, the tools we can use on ChatGPT are limited to the ones OpenAI adds. MCP changes that. Since ChatGPT does not support MCP fully yet, we will use Claude going forward.
Letโs say you want Claude to check your expenses every morning and send you a summary if your monthly spending has crossed a threshold.
How can you do that?
๐ญ. ๐๐ฒ๐ณ๐ถ๐ป๐ฒ ๐๐ผ๐๐ฟ ๐ผ๐๐ป ๐๐ผ๐ผ๐น๐
Here, "tool" is just a small piece of software, a program or script, that performs a specific task for a specific input. You can think of it as something that can perform a specific type of query on your database (e.g. fetch, filter and sort data) or carry out an action like sending a message or generating a report.
๐ฎ. ๐ช๐ฟ๐ฎ๐ฝ ๐๐ต๐ฒ๐๐ฒ ๐๐ผ๐ผ๐น๐ ๐ถ๐ป๐๐ถ๐ฑ๐ฒ ๐ฎ๐ป ๐ ๐๐ฃ ๐๐ฒ๐ฟ๐๐ฒ๐ฟ
MCP is simply a protocol, a common language that defines how tools should be defined and exposed so that Claude can talk to them. An MCP server is just a backend that follows this protocol and exposes your tools like an API. It acts as the bridge between your tools and Claude.
๐ฏ. ๐๐ผ๐ป๐ป๐ฒ๐ฐ๐ ๐๐น๐ฎ๐๐ฑ๐ฒ ๐๐ผ ๐๐ต๐ถ๐ ๐๐ฒ๐ฟ๐๐ฒ๐ฟ
Once connected, the LLM can decide โThis looks like a job for one of your toolsโ, figure out which tool to use instead of the pre-built ones, pass in the right inputs, get the result, and respond back.
For example, if your tool gives Claude the ability to query your internal database, the rest of your team can simply ask it for what they want to analyse and Claude will figure out the right tool to invoke, get back the data, write code to analyse that data, run the code and generate plots or build entire webapps for them to use.
No dev time. No long waiting times. No context switching between interfaces.
A tool could even be as advanced as an agent that calls other tools, connected to other MCP servers, letting you chain together multiple systems and build powerful workflows.