An MCP server is a program that exposes tools, resources, and prompts to AI applications through the Model Context Protocol. It runs over stdio or Streamable HTTP, so a language model can call it.
An MCP server is a program that exposes specific capabilities to AI applications through standardized protocol interfaces. It provides the building blocks for adding context to language models. The Model Context Protocol (MCP) is an open standard for connecting AI applications to external systems, and it works like a USB-C port for AI applications. Anthropic introduced MCP in November 2024.
The server is one of three roles in the MCP architecture, alongside the host and the client. A Model Context Protocol server can be a local process or a remote service, and it exposes resources, tools, and prompts through MCP primitives. Developers either expose their data through MCP servers or build AI applications that connect to them.
An MCP server works as one endpoint of a client-host-server architecture. A host application creates and manages multiple clients, and each client has a one-to-one relationship with a particular server. The host is typically an AI agent that interacts with a language model and needs services from one or more servers. For each server, the host creates a dedicated client that communicates with that server.
The protocol uses JSON-RPC, a lightweight remote procedure call format, to encode messages, and those messages must be UTF-8 encoded. MCP defines two standard transports. In the stdio transport, the client launches the server as a subprocess, a child process, and the server reads JSON-RPC messages from standard input and writes to standard output. In the Streamable HTTP transport, the server runs as an independent process that handles multiple client connections over HTTP POST and GET requests.
A connection follows a three-phase lifecycle, initialization, operation, and shutdown. Initialization is the first interaction, where the client and server establish protocol version compatibility and negotiate capabilities. During operation, the client and server exchange the messages that carry tools, resources, and prompts.
The server exposes three primitives, each with a different control model. Tools are model-controlled, meaning the language model can discover and invoke them automatically. Resources are application-controlled, meaning the application decides what data to share. Prompts are user-controlled, meaning the user selects the template. Tools are discovered with a tools/list request and invoked with a tools/call request. Resources are discovered with resources/list and read with resources/read, and each is identified by a URI, a uniform resource identifier. Prompts are discovered with prompts/list and retrieved with prompts/get.
The transport layer converts MCP messages into JSON-RPC format on the way to the server and back into MCP messages on the return. The three JSON-RPC message types are requests, responses, and notifications. Requests require a response; notifications do not. The server exposes capabilities, and the model decides which to call. An MCP gateway sits in front of one or more servers to govern that access. A newer revision of the specification, dated July 2026, removes protocol-level session tracking and makes MCP stateless at the protocol layer.
What an MCP server does
An MCP server does three things: it exposes tools, resources, and prompts. MCP server tools are executable functions that let a model perform actions or retrieve information. A tool can write to a database, call an external API, modify a file, or trigger other logic. Tools are model-controlled, so the model discovers and invokes them based on the user's request. MCP server resources are structured data that provides context to the model, such as files, database schemas, or application-specific information. Resources are read-only and application-controlled. They return data but do not execute computations. MCP server prompts are pre-built instruction templates that tell the model how to work with specific tools and resources. Prompts are user-controlled, and clients can discover, retrieve, and customize them.
When a model calls a tool, the server performs the action and returns the result, and the host injects that result into the conversation. Each server provides one or more tools or resources. Authorization is optional in MCP, and a protected server acts as an OAuth 2.1 resource server, the component that holds protected data. This is where agent authorization and agent identity apply, because a server must know who is calling it and what that caller may do. MCP is not an agent framework; it is a standardized integration layer for agents accessing tools.
Conclusion
An MCP server is the capability provider. The model decides what to call. MCP standardizes the connection, not the decision.
An MCP server in AI is a program that exposes tools, resources, and prompts to a language model through the Model Context Protocol. It lets the model call external systems such as databases and APIs.
An MCP server is used to give a language model access to external capabilities. It exposes tools the model can call, resources the model can read, and prompts that guide the model's behavior.
An MCP server exposes capabilities. An MCP client is created by the host to connect to a server, and it converts requests into protocol format. Each client has a one-to-one relationship with a server.
The host is the AI agent that coordinates everything. The client is the connection the host creates for each server. The server is the program that exposes tools, resources, and prompts.
We tap into data from real cloud environments to explore the rapid adoption of AI technologies and how security teams should respond.
Give them a Basecamp. Go from AI chaos to AI work, in minutes.