How many of you have actually built something with tool calling? If you're reading this, chances are you've at least heard about it. Maybe you've integrated a few tools into your AI agents, or perhaps you're on the other side, providing tools for agents to use. Either way, you know that tool calling is what separates a chatbot from a true AI agent.
Here's the thing: agents without tools are just fancy text generators. What makes them genuinely useful, what gives them their power, is their ability to reach beyond the confines of language models and actually do things in the real world. They can read your emails, browse the web, manipulate files, and interact with the countless APIs that power our digital infrastructure.
But we have a problem. A big one.
The integration bottleneck we all know too well
Picture this: you're building an AI agent, and you want it to interact with Gmail, browse the web, and work with files on a user's computer. In the early days, you'd have to code each integration yourself. Every. Single. One.
This approach created an impossible situation. Agent providers became bottlenecks in their own ecosystems. Want to add a new tool? Sorry, you'll have to wait for the provider to build that integration. Have a proprietary API that's specific to your business? Good luck getting that on anyone's roadmap.
The community recognized this problem and came up with a solution: the Model Context Protocol (MCP). The promise was elegant: standardize how agents communicate with tools so that agent providers only need to implement one communication protocol. Then, any tool can provide a server that translates its functionality into a model-friendly format.
Sounds great, right? Well, not so fast.