Protocols & Standards

MCP Server

An MCP server is a program that exposes tools, resources, and/or prompt templates to AI applications through the MCP protocol.

ToolResourcePrompt templateMCP Server
An MCP server can expose up to three kinds of primitives: tools, resources, and prompt templates.

An MCP server is the "provider" side of an MCP connection. It wraps some capability — access to a database, a set of file operations, a SaaS product's API, a set of reusable prompts — and exposes it in the standard shape MCP clients expect, so any MCP-compatible application can use it without custom code.

A server doesn't have to expose all three MCP primitives. Many servers expose only tools (for example, a server that lets an agent create GitHub issues or run a search); some also expose resources (readable context like files or database rows); a smaller number expose prompt templates that a client can insert into a conversation. What a given server offers depends entirely on what its author built.

Because the protocol side is standardized, the same server can be reused across different host applications — a coding agent, a chat client, an IDE plugin — as long as each one implements an MCP client. This is the main practical benefit: write the server once, connect it anywhere MCP is supported.

How it works

When a client connects to a server, the server responds during capability negotiation with a description of what it offers: the tools' names, descriptions, and input schemas; the resources it can serve and their URIs; and any prompt templates. When the client (on behalf of the model) calls a tool, the server executes the underlying logic — hitting a real API, querying a real database, running a real command — and returns a structured result or an error. The server is responsible for its own authentication, rate limiting, and safety checks; MCP itself doesn't guarantee the server is safe or correct, so a host application should still apply its own judgment about which servers it trusts and what to run automatically versus flag for approval.

Example

A filesystem MCP server might expose tools like read_file and list_directory, each with a schema describing its expected arguments — any MCP client that connects to it can call those tools without knowing anything about how they're implemented underneath.

Common misconceptions

Often assumed: Every MCP server exposes all three primitives — tools, resources, and prompts.
Actually: Most servers only implement tools; resources and prompts are optional primitives a server author can choose to expose or skip.
Often assumed: An MCP server is inherently safe to connect to because it follows the MCP spec.
Actually: MCP standardizes the connection format, not the server's behavior — a host application still needs to decide how much it trusts a given server's code before granting it access.

FAQ

What does an MCP server actually do?
It exposes some capability — tools to call, data to read, or prompt templates to reuse — in the standard MCP format so any MCP client can connect to it without custom integration code.
Can one MCP server expose multiple tools?
Yes, a single server commonly exposes several related tools, for example a GitHub server offering separate tools for creating issues, listing pull requests, and searching code.
Is an MCP server the same as an API?
Not exactly — an MCP server usually wraps an existing API or system and re-exposes it in MCP's standardized tool/resource/prompt format so AI clients can discover and call it consistently.

Last checked: 2026-08-28

Related terms