Before MCP, connecting a model to a real system meant writing an adapter. One for your database, one for your ticketing tool, one for your document store — each with its own schema, its own auth, and its own way of describing what it could do. Change the model and much of that work was rewritten.

The Model Context Protocol standardises that contract. A server exposes its tools, resources and prompts in one agreed format; any compatible client can discover and call them. The adapter stops being bespoke.

What this means in practice

  • Tools are discovered at runtime, not hardcoded into the agent
  • One server can serve many models and many clients
  • Permissions live at the server, where your security team can see them
  • Swapping the underlying model does not mean rewriting integrations

Where it earns its keep

We built an agent that traces machine-learning lineage through DataHub's MCP server. It answers a question engineers ask constantly and dread investigating: if I change this schema, what breaks downstream?

The valuable part was not the reasoning. It was that the agent could walk a real dependency graph in a live system through a documented interface, instead of us maintaining a fragile scraper against an internal API.

What it does not solve

MCP is a transport and a contract. It is not judgement. An agent with tool access still needs guardrails, approval gates for destructive actions, and a log of what it did — none of which the protocol provides for you.

Giving a model hands is the easy half. Deciding what it may touch, and proving afterwards what it touched, is the engineering.

If you are evaluating agent platforms, ask where the audit trail lives and who can revoke a tool. Those answers matter more than the protocol on the box.