What the Term MCP Server Means
Model Context Protocol is the standard; server is the role a program plays within it, responding to requests from an agent. The word server does not imply a web service, a deployment or a network, and in most cases the program runs locally as a child process of the agent.
Taking the name apart
Model context. The material a model can see and act on: the conversation, plus whatever tools and content are made available to it. The protocol governs how that context is populated from outside sources, which is why it is not called a tool protocol or a plugin protocol. Tools are one of the things it carries.
Protocol. A defined message format and interaction pattern rather than a library or a product. Anything implementing it interoperates. This is the whole reason it exists, and the reason it is worth using a standard at all rather than a bespoke integration.
Server. The role a program plays. It listens for requests and returns responses. That is the entire meaning of the word here.
What trips people up is that server carries assumptions from web development: a machine somewhere, a port, a URL, uptime, deployment. None of that is implied. The common shape is a small program launched by the agent as a child process, communicating over standard input and output, which starts when the agent starts and dies when it exits.
So a phrase like deploying an MCP server is often a category error. Most of the time you install one, and the agent runs it.
Then who is the client?
The agent. Whatever program is orchestrating the model, the coding tool, the desktop application, the custom runtime you wrote, plays the client role: it connects to servers, asks what they offer, and issues calls. Once that is clear, sentences about MCP stop being ambiguous, because every actor in them has a defined role.
Three things people mean by it
The term gets used for three distinguishable things, and the ambiguity is worth naming because it causes real misunderstandings in conversation.
The specification. As in, does this tool support MCP servers. Here the phrase means the standard itself and whether something can speak it.
A particular implementation. As in, the filesystem MCP server. A specific published program that wraps a specific system. This is the most common usage and the one people usually intend.
A running instance. As in, my MCP server is not responding. A process on a machine, right now, in a particular state.
Most confusion in practice is someone talking about the second while their colleague answers about the third. Asking which of the three is meant resolves an unproductive exchange faster than anything else.
There is a fourth loose usage worth flagging: people sometimes say MCP server when they mean any agent integration at all, including things that do not use the protocol. That usage is spreading and it is worth resisting, because the whole value of the term is that it names something specific and interoperable.
What the label does not tell you
Because the phrase sounds technical and precise, it is easy to read guarantees into it that are not there.
It says nothing about scope. One server exposes a single read-only lookup. Another exposes a shell. Both are correctly described as MCP servers, and the gap between them in what they permit is enormous.
It says nothing about quality. The protocol constrains the message format, not whether the tool descriptions are clear, whether errors are handled, or whether the schemas are honest about what a call actually does.
It says nothing about safety. There is no review, no signing and no default sandbox. A server is a program you chose to run with whatever access you gave it, and it should be evaluated the way you would evaluate any dependency you install.
It says nothing about who wrote it. Publication in a catalogue is not endorsement.
So the term is a useful noun and a poor filter. When someone recommends an MCP server, the useful follow-up questions are what does it expose, what credentials does it need, and who maintains it. Those are answerable, and the label is not.
Frequently asked questions
- What does MCP server mean?
- Model Context Protocol is the standard, and server is the role a program plays in it: something that listens for requests from an agent and responds. It does not imply a web service, a deployment or a network. Most run locally as a child process of the agent over standard input and output.
- Why is it called a server if it runs locally?
- Because server describes the role rather than the hosting. In a client and server relationship one party asks and the other answers. Here the agent is the client and the program answering is the server, regardless of whether anything crosses a network.
- Does calling something an MCP server tell you it is safe?
- No. The label constrains the message format only. It says nothing about scope, since one server may expose a read-only lookup and another a shell, and nothing about quality, maintenance or review. Evaluate it as you would any dependency you choose to install.
- Who is the MCP client?
- The agent. Whatever program orchestrates the model, whether a coding tool, a desktop application or a runtime you wrote yourself, plays the client role: it connects to servers, asks what they offer, and issues the calls.