The short version
A protocol is a shared plug shape.
If you have ever wanted one assistant to use the same filesystem or
GitHub tool as another, this is the problem MCP is trying to solve. It
gives hosts and tool servers a shared shape instead of making everyone
rebuild the same custom integration again.
Useful, yes, but keep it in proportion. MCP is wiring. It can make a
host more connected, but not automatically smarter, safer, or more
trustworthy.
Common shape
A protocol adapter gives a tool a common shape.
Before shared protocols, every AI app wound up with its own pile of
one-off integrations: one way to talk to GitHub, another way to talk
to a database, another way to read local files, and so on.
A protocol gives tool builders a shared shape. If a host supports that
protocol, it can connect to many compatible adapters. If an adapter
speaks that protocol, many hosts can use it.
MCP is the example to study
Model Context Protocol is like USB-C for AI context and tools: not the
device itself, but a standard connection that lets different devices
plug into different hosts.
More technically, MCP is an API contract for tools: the host agrees to
discover and call tools in a specific shape, and any server that speaks
that shape can plug in.
By 2026, MCP has become the dominant standard shape for tool integrations across coding assistants and developer-facing hosts.
How it got this shape
Why MCP showed up when it did
Before MCP, every serious host started accumulating its own adapter zoo.
Reading GitHub, browsing local files, hitting an API, talking to a
database: each connection usually meant custom code on both sides.
MCP showed up in late 2024 right when that duplication was getting hard
to ignore. Tool-calling already existed. Coding assistants were already
popular. What was missing was a shared interface people could actually
reuse.
That is why the USB-C analogy keeps surviving. It is not perfect, but it is fair. USB-C does not make the device smarter; it just gives everyone a connector they can agree on. MCP plays the same role for hosts and tool servers.
The scale changed fast. By late 2025, public MCP listings were already in the thousands, depending on how you count servers, wrappers, and mirrors. If you want to see what already exists before building your own, mcpservers.org is one community registry worth checking, but it is not the only one.
How it relates to skills
MCP and skills solve different parts of the same problem.
It is easy to read about skills and MCP and feel like they overlap.
They can, but they answer different questions. MCP is about how a tool
gets exposed at all. A skill is about knowing when and how to use the
tools you already have.
When MCP fits better
Reach for a protocol when the capability is not exposed any other
way, when you want the same tool to work across more than one host,
or when the action is expensive or risky enough that you want a typed
contract around it.
Good signs: structured inputs and outputs, stateful resources, side effects where a wrong call costs something.
When a skill fits better
Reach for a skill when the tool calls already exist and the real gap
is judgment: when to start, what order to follow, how to check the
result. There is no server to run and no auth to configure.
Good signs: lower overhead, simpler to deploy, the host already has the tools it needs.
The deeper difference is how much is pinned down. MCP gives you two
deterministic anchors: the execution is just a function, and the schema
fixes the shape of inputs, outputs, and errors. A skill is the opposite
kind of thing. It is stochastic guidance that a model still has to reason
about, even though it can drive perfectly deterministic machinery
underneath.
Worth being precise here: a schema catches shape errors, not intent
errors. MCP can stop you from sending the wrong type, but it cannot stop
you from sending a value that is the right type and still wrong for the
job. That part stays on the reasoning side, which is where skills live.
Roughly, MCP is winning the standardization argument while skills are
winning on adoption. They may settle into complementary layers: the
protocol as plumbing, the skill as the guidance sitting on top of it. See
skills, hooks, and wrappers for
the layer skills live in.
Ready to build
Put a protocol adapter in your hands.
Reading about protocol adapters only gets you so far. Lab 03
has you build a tiny one so you can feel the boundary for yourself: list
tools, accept typed calls, and hand structured results back to a host.
If you would rather skip straight to something real and usable, go to
Lab 03b: real MCP quickstart →
If Lab 03b still feels like more setup than you want, fastmcp is worth knowing. It is an active Python library that uses decorators instead of a lot of protocol boilerplate. It is not the default everywhere yet, but it is probably the ergonomic builder choice right now.
And if MCP still feels suspiciously similar to a wrapper, that is a good instinct. Start with lab 02, then come back here.