MCP (Model Context Protocol)
What MCP actually is
The Model Context Protocol (MCP) is an open specification released by Anthropic in late 2024. Its purpose is simple to state: give AI models a standard way to reach the context and tools they need in order to act. Before MCP, every connection between an assistant and an external system (a CMS, an Airtable base, a CRM, a file store) required its own bespoke integration. Ten tools meant ten custom connectors, each maintained separately. MCP replaces that tangle with a shared language, so a tool exposes itself once and any compatible assistant can use it.
A useful comparison is the Language Server Protocol (LSP) in code editors. Before LSP, every editor needed a custom plugin for every programming language, an N times M problem. LSP turned it into N plus M by defining one protocol between editors and language servers. MCP does the same thing for AI: instead of building a custom bridge for each assistant and each tool, you build one MCP server per tool and one MCP client per assistant, and they speak the same protocol.
How MCP works under the hood
MCP follows a client and server architecture. The host is the AI application (for example a desktop assistant or an IDE). Inside it runs an MCP client, which opens a connection to one or more MCP servers. Each server wraps a specific system and advertises what it can do. Communication uses JSON-RPC messages, and the transport can be a local process over standard input and output or a remote connection over HTTP.
A server exposes three core kinds of capability:
- Resources: data the model can read, such as a document, a database record or a file.
- Tools: actions the model can invoke, such as creating an item, sending a request or running a query.
- Prompts: reusable templates that package a task so the assistant can trigger it consistently.
The key move is discovery. The client asks the server what it offers, the server describes each capability in a structured, self-explaining way, and the model decides when and how to use it. Nobody hand-codes each call in advance.
MCP versus a classic API
It is tempting to ask why this is not just an API, and the honest answer is that MCP sits on top of APIs rather than replacing them. A REST API exposes endpoints designed for developers, who read documentation and write code to call each one deterministically. That is still the right tool for machine-to-machine work where the sequence of calls is fixed and known in advance.
MCP is different because it describes its capabilities in a way a model can interpret on its own. The assistant does not need a programmer to wire each call; it reads the tool descriptions at runtime and reasons about which action fits the request. So the dividing line is not technical superiority but fit: use a plain API for deterministic, coded integrations, and use MCP when an agent has to decide, in the moment, what to read and what to do. In practice an MCP server is often a thin, well-described layer over the same APIs you already have.
When to use MCP, and when not to
MCP earns its place when you want a general assistant to act reliably on your own data and systems: drafting content into your CMS, looking up a customer record, checking stock, triggering a workflow, all in natural language and all traceable. It is especially valuable when the same data needs to be reachable from several assistants, because you build the server once instead of a connector per tool.
It is the wrong choice for a fixed, high-throughput pipeline where no reasoning is involved. If a system simply needs to copy records from A to B on a schedule, a direct API call or an automation platform is simpler and cheaper. MCP adds a reasoning layer, and that layer is only worth its weight when something actually has to decide. Adding it to a purely mechanical task is overhead without benefit.
Security, control and common pitfalls
Because an MCP server can expose real actions on real systems, control is the central design question, not an afterthought. A well-built server exposes only the resources and tools it should, enforces fine-grained permissions, and validates every input, so an agent cannot read or change something it was never meant to touch. The recurring mistake is the opposite: wiring a broad, over-permissive server and trusting the model to behave. Other pitfalls include leaking credentials through the server, returning far more data than a task needs, and skipping an audit trail. Treat every tool the model can call as a door into your systems, and design each door with the least privilege that still lets the job get done.
MCP at BeBranded
At BeBranded, we build custom MCP servers to make a client's own environment drivable by AI. A concrete example: an MCP server wired to a client's Webflow CMS lets an assistant draft an article, push it as a draft into the right Collection, check the SEO fields and flag an empty code block before anything is published. We can also expose an Airtable base or an internal tool so a non-technical team runs its site and data in plain language, without leaving the systems they already trust. We scope each server tightly, expose only what a given task needs, and keep actions traceable, because control is what makes an AI-driven workflow safe to hand over. This is the piece that turns a Webflow site from a place you edit by hand into a surface an assistant can operate under clear, auditable limits.
