An MCP server is a program that gives an AI application access to a specific tool or data source over the Model Context Protocol, an open standard from Anthropic. The AI application, the host, connects a client to the server, and the server exposes functions the AI can call and data it can read. It is how you let an assistant like Claude Code reach your files, your database, or your production logs. Here is how it works, and how to build or use one.

What an MCP server is

The Model Context Protocol is an open standard that Anthropic introduced in November 2024 for connecting AI applications to the systems where data and tools actually live.1 Before it, every AI-to-tool connection was a bespoke integration. MCP replaces that with one protocol, so any compatible client can talk to any compatible server, the way a browser can talk to any website.

Within that, an MCP server is simply a program that provides context and capabilities to MCP clients.2 If you want an AI assistant to be able to read your files, query your database, or search your logs, you point it at an MCP server that exposes exactly that. The server is the adapter between the AI and one specific system.

How an MCP server works

MCP uses a client-server architecture with three roles.2 The host is the AI application, such as Claude Code, Cursor, or Claude Desktop. For each server it wants to use, the host spins up an MCP client that holds a dedicated connection to one MCP server. Connect to three servers and the host runs three clients. Underneath, they talk JSON-RPC: the client discovers what the server can do, then calls it.

Servers run in one of two places, set by the transport they use. A local server runs on your machine and communicates over standard input and output (stdio); the official filesystem server is a local one. A remote server runs elsewhere and communicates over HTTP, with standard authentication like bearer tokens; Sentry's MCP server is a remote one.2 Same protocol either way, so a client does not care where the server lives.

What a server exposes: tools, resources, prompts

A server offers its capabilities as three kinds of primitive. The client discovers them (it asks the server to list what it has) and then uses them.

PrimitiveWhat it isExample
ToolsExecutable functions the AI can call to do somethingQuery a database, call an API, search logs
ResourcesData sources the AI can read for contextFile contents, a database schema, records
PromptsReusable templates for structuring an interactionA system prompt or few-shot example set

Tools are the ones that make MCP powerful, because they let the AI take actions and fetch live answers rather than work from stale context. A database MCP server, for instance, might expose a tool to run a query, a resource holding the schema, and a prompt with examples of good queries.2 Each tool describes its inputs, so the assistant knows how to call it correctly.

How to use or build one

To use a server, you register it with your host. In Claude Code that is a single command or a small config entry, after which the server's tools show up and you work with them in plain language. We walk through this end to end in how to connect Claude Code to your logs.

To build a server, you use an official MCP SDK, available for TypeScript, Python, and other languages, which handles the protocol so you mostly write functions.3 You define each tool and the inputs it takes, expose any resources, and pick a transport: stdio if it runs locally, Streamable HTTP if it runs as a remote service. There is a catalog of reference server implementations to start from rather than writing one from scratch. The work is small; the protocol is the standard part, and you just describe your system's capabilities.

A real example: an MCP server for your production data

A concrete way to see the value: Fixter exposes a remote MCP server for your production monitoring data. You send your logs, traces, and metrics to Fixter through its SDK, and it runs an MCP server that exposes tools to query all of it. Register that server with Claude Code, and your production data becomes something you can ask about in the editor you already work in, no dashboard and no query language.

claude code
$ claude mcp add --transport http fixter https://mcp.fixter.dev/mcp
> what errored most in the last hour?
Top error: a timeout on the payments service, 142 times, all in the EU region, starting right after the 14:02 deploy. Traces attached.

That is the shape of every MCP server: it takes one system, your files, a database, your production logs, and makes it something an AI assistant can reach through a standard protocol. For the hands-on version with Fixter, see connect Claude Code to your logs.

Key takeaways

  • An MCP server is a program that gives an AI application access to one tool or data source over the Model Context Protocol
  • MCP is an open standard from Anthropic (November 2024); a host runs one client per server
  • Servers expose tools (actions), resources (data to read), and prompts (templates)
  • Local servers use stdio; remote servers use HTTP with authentication
  • Fixter runs an MCP server for your logs, traces, and metrics, so you query production from Claude Code

Frequently asked questions

What is an MCP server?

An MCP server is a program that provides an AI application with access to a specific tool or data source over the Model Context Protocol, an open standard from Anthropic. The AI application connects a client to the server, and the server exposes functions the AI can call and data it can read. It is how you let an assistant like Claude Code reach your files, database, or production logs.

What is the Model Context Protocol (MCP)?

MCP is an open standard, introduced by Anthropic in November 2024, for connecting AI applications to the systems where data and tools live. Instead of a custom integration for every tool, MCP gives one standard protocol, so any MCP-compatible client can talk to any MCP server. It uses a client-server architecture over JSON-RPC.

What does an MCP server expose?

Three kinds of things, called primitives: tools, which are executable functions the AI can call to do something like query a database or hit an API; resources, which are data sources it can read such as file contents or records; and prompts, which are reusable templates for structuring an interaction. Tools are the most common and the most powerful.

How do I use an MCP server?

Register it with an MCP host, an AI application like Claude Code, Cursor, or Claude Desktop. Once registered, the host connects to the server and its tools and data become available to the assistant, which you then use in plain language. Local servers run on your machine over stdio; remote ones run elsewhere and connect over HTTP with authentication.

How do I build an MCP server?

Use one of the official MCP SDKs, available for TypeScript, Python, and other languages, to define the tools and resources you want to expose and choose a transport, stdio for local or Streamable HTTP for remote. The SDK handles the protocol details, so you mostly write the functions and describe their inputs. Reference server implementations exist to start from.