On this page#
- What is an MCP server in AI?
- Why does MCP exist?
- How does an MCP server actually work?
- When do you need an MCP server, and when do you not?
- The part MCP vendors leave out
- FAQ
What is an MCP server in AI?#
An MCP server is a program that exposes tools, data, or reusable prompts to an AI application through the Model Context Protocol. It does not think, choose goals, or replace the model. It gives a compatible AI host a standardized way to discover capabilities and request specific operations.
The name causes unnecessary confusion. “Server” does not necessarily mean a remote service running in a data center. An MCP server can be:
- A local process that reads files or invokes development tools
- A service reached over a network
- A controlled adapter in front of an internal API
- A bridge to a database, repository, or documentation system
The AI application is the host. It creates an MCP client that communicates with the server. The server publishes capabilities; the host decides which capabilities the model may see and whether a requested action should run.
That boundary matters. Calling an MCP server “an AI integration” is technically true but operationally vague. It is better understood as a typed adapter between an AI host and a system you already use.
Photo by Snapwire on Pexels.
Why does MCP exist?#
MCP exists because every AI tool previously needed custom integration code for every external system. One editor implemented filesystem access one way, another implemented Git operations differently, and each internal API required another bespoke adapter. MCP standardizes the connection boundary without standardizing the underlying systems themselves.
Before MCP, teams generally used one of four approaches:
- Paste context into the prompt.
- Write product-specific function-calling definitions.
- Build an editor extension or agent plugin.
- Give the agent shell access and hope command-line tools covered everything.
Those approaches still work. MCP does not make them obsolete. It makes repeated integrations less wasteful when multiple compatible hosts need access to the same capability.
For example, a repository service might expose operations such as:
- Read an issue
- Search pull requests
- Add a review comment
- Retrieve a build result
Without a shared protocol, each AI host needs its own schemas, transport code, authentication handling, and error translation. With MCP, one server can describe those operations in a form compatible clients can discover. The official reference server repository shows the intended pattern: servers wrap concrete systems rather than becoming another general-purpose agent.
The practical benefit is portability, not magic. A well-designed MCP server can reduce duplicated adapter work. It cannot guarantee that two hosts will present tools identically, approve calls under the same policy, or make equally good decisions about when to use them.
If your real problem is getting reliable agent behavior inside an existing repository, protocol knowledge is only one layer. The repository’s instructions, verification commands, scope boundaries, and acceptance criteria still matter more. PairFoundry’s foundations are the right next step for that operational layer.
How does an MCP server actually work?#
An MCP server advertises structured capabilities, receives protocol requests, executes approved operations against another system, and returns structured results. The model normally does not connect to the server directly. The host manages the connection, supplies available capabilities to the model, and mediates each requested call.
The MCP architecture separates the system into three roles:
| Component | Responsibility | |---|---| | Host | Runs the AI experience and enforces user-facing policy | | Client | Maintains a connection to one MCP server | | Server | Exposes capabilities and handles requests |
An MCP server can expose three important kinds of capability:
- Tools: Actions the model can request, such as searching a repository or creating an issue.
- Resources: Context the host can retrieve, such as a file, schema, or document.
- Prompts: Reusable prompt templates offered by the server.
A normal interaction looks like this:
- The host starts or connects to the server.
- Client and server establish their supported protocol capabilities.
- The client asks what the server provides.
- The host makes selected capabilities available to the model.
- The model proposes a tool call or requests context.
- The host applies permissions or asks for approval.
- The server performs the operation and returns a result.
- The host places that result back into the model’s working context.
Configuration is usually small because it identifies how to start or reach the server; it does not define the server’s entire behavior. A schematic local configuration might look like this:
{
"mcpServers": {
"repository-tools": {
"command": "repository-mcp-server",
"args": ["--workspace", "/path/to/repository"],
"env": {
"REPOSITORY_TOKEN": "<provided-outside-source-control>"
}
}
}
}This example is intentionally generic. Exact configuration keys and transport support belong to the host you use. Copying configuration from another product without checking its host documentation is a common and avoidable mistake.
The security boundary is also easy to misread. A tool schema describes what a call accepts; it does not prove that the operation is safe. Authentication, authorization, path restrictions, confirmation rules, logging, and secret handling remain implementation responsibilities. The official protocol specification defines interoperability, not your organization’s trust policy.
Photo by ThisIsEngineering on Pexels.
When do you need an MCP server, and when do you not?#
Use an MCP server when a durable capability must be shared across compatible AI hosts or when direct shell access is too broad. Do not add one merely because an agent can call tools. If a stable CLI already expresses the operation safely, MCP may add another failure surface without adding meaningful control.
MCP is a good fit when:
- Several AI hosts need the same internal integration.
- The operation needs a narrow, explicit schema.
- Context should be discoverable without pasting it into prompts.
- Credentials must remain behind a controlled adapter.
- You need consistent validation and audit behavior around agent actions.
- A system has an API but no usable command-line interface.
MCP is usually unnecessary when:
- One local script solves a one-off task.
- The agent already has safe access to a mature CLI.
- The integration exposes little more than unrestricted shell execution.
- Nobody will own compatibility, permissions, or deployment.
- The server would wrap unstable internal behavior without creating a stable contract.
A useful decision test is simple: Does the server create a narrower and more reusable boundary than the access the agent already has? If the answer is no, do not build it.
For teams standardizing a broader agent workflow, the protocol should be evaluated alongside repository instructions and task-specific operating constraints. PairFoundry’s packs overview separates those concerns instead of treating every reliability problem as an integration problem.
The part MCP vendors leave out#
MCP moves integration complexity; it does not remove it. You still own the server, its credentials, capability design, errors, upgrades, observability, and blast radius. A poorly designed MCP server is simply a custom integration with a standardized handshake—and standardization does not make unsafe operations safe.
The hidden costs are predictable:
- More tools can reduce decision quality. Large, overlapping tool catalogs make selection harder for the model.
- Schemas become interfaces. Renaming arguments or changing result shapes can break host behavior and saved workflows.
- Errors cross several boundaries. A failure may originate in the model, host, client, server, transport, or upstream API.
- Local servers still carry risk. A local process can read secrets or modify files if its operating-system permissions allow it.
- Remote servers introduce another trust relationship. Data sent for a tool call may leave the repository or machine.
- Approval prompts are not authorization design. Users habituated to clicking “Allow” are a weak security boundary.
The most common misconception is that an MCP server makes an agent capable. It does not. It makes capabilities available in a standard form. Whether the agent selects the right tool, supplies valid arguments, interprets the result correctly, and verifies the final repository state remains a separate problem.
Start with the smallest capability surface that completes a real workflow. Prefer read_build_status over run_arbitrary_command, explicit repository roots over unrestricted paths, and structured errors over prose. The reference implementations can clarify protocol patterns, but they are not substitutes for your own threat model or production requirements.
For more definitions stripped of vendor framing, see PairFoundry’s plain definitions.
Photo by Al Nahian on Pexels.
Related reading#
- What Claude Code context window actually is, and when you need it
- Gemini CLI skills — a plain explanation for people with a real repo
FAQ#
What is the difference between MCP and copilot?#
MCP is a protocol for connecting AI hosts to tools and data. A copilot is an AI product or interaction pattern that assists a user. A copilot may act as an MCP host, but MCP itself has no model, user interface, planning loop, or coding ability.
What is the difference between MCP and LLM?#
An LLM generates and interprets language; MCP defines how an AI host communicates with external capabilities. The LLM may decide to request a tool, but the host and MCP client carry out the protocol interaction. An MCP server does not become an LLM merely because a model uses it.
Does ChatGPT use MCP?#
MCP is not an inherent property of ChatGPT. MCP use requires a product surface that implements an MCP-compatible host or connector and permits the relevant server connection. Do not assume that a model name implies protocol support; models, hosts, and enabled integrations are separate parts of the system.
What’s the difference between an AI agent and MCP server?#
An AI agent selects actions in pursuit of a task; an MCP server exposes actions or context through a standard interface. The agent is the decision-maker. The server is an adapter. Treating the server as the agent obscures where planning, permissions, execution, and verification actually occur.