MCP basics
MCP basics
Plain answers about the Model Context Protocol, its transports, the MCP Registry and the files sites publish for AI systems, from this directory's glossary and Learn articles.
Questions and answers
- What is the Model Context Protocol (MCP)?
- An open protocol for connecting AI applications to outside tools and data. It defines how an application and a server describe what they can do to each other and exchange requests, so one server works with every application that supports the protocol. Model Context Protocol (MCP) →
- What is an MCP server?
- A program that offers tools, resources or prompts to AI applications over MCP. It can be remote - run by its publisher and reached at a URL - or local - a program started on the user's own computer. MCP server →
- What is an MCP client?
- The part of an AI application that holds the connection to one MCP server. An application connected to three servers runs three clients, each talking to its own server. MCP client →
- What is an MCP host?
- The AI application the user works in - a chat assistant, a desktop app, a code editor, a command-line agent. The host starts the clients, decides which servers they connect to, passes what the servers offer to the language model and asks the user for consent before actions. MCP host →
- What is a tool in MCP?
- A function a server offers for the model to call: it has a name, a description that tells the model when to use it, and a JSON Schema for its input. Search flights, get a departure board and create an issue are tools. Tool →
- What is a resource in MCP?
- Data a server makes available to read, each identified by a URI: a file, a database record, a document. The application, not the model, generally decides which resources to read into the conversation. Resource →
- What is a prompt in MCP?
- A reusable message template a server offers, often with arguments, which the user picks in the application - for example as a slash command - to start a task in a way the server's author has prepared. Prompt →
- What is sampling in MCP?
- A request from a server to the client to have the application's language model generate text, so a server can use a model without holding its own API key. The host keeps control and can show the request to the user. Sampling →
- What is elicitation in MCP?
- A request from a server, through the client, for more information from the user - a missing date, a confirmation - answered in a form the application shows. Added in the 2025-06-18 revision of the specification. Elicitation →
- What message format does MCP use?
- JSON-RPC 2.0: every request, response and notification is a small JSON object. A connection starts with an initialize exchange in which client and server agree on the protocol version and state the capabilities each supports. JSON-RPC 2.0 →
- What is an MCP transport?
- How MCP messages travel between client and server. The specification defines stdio for local servers and Streamable HTTP for remote ones; the earlier HTTP with Server-Sent Events transport is still met. Transport →
- What is the stdio transport?
- The local transport: the client starts the server as a program on the same computer and exchanges messages through its standard input and output, one JSON message per line. Nothing listens on the network, and the program runs with the user's own permissions. stdio →
- What is Streamable HTTP?
- The current transport for remote servers, introduced in the 2025-03-26 revision: one HTTPS endpoint that the client sends messages to with POST, and that answers with a single JSON response or a stream of Server-Sent Events. A server can keep a session, named in an Mcp-Session-Id header. Streamable HTTP →
- What is the SSE transport in MCP?
- The remote transport of the first revision (2024-11-05): the client keeps a Server-Sent Events stream open to receive messages and posts its own to a second URL the server names. Streamable HTTP replaced it in 2025-03-26; many clients still accept it. SSE (HTTP + Server-Sent Events) →
- What is a remote MCP server?
- An MCP server run by its publisher and reached at an HTTPS URL. Nothing is installed; the publisher runs and updates it, and what you ask passes through its systems. Remote server →
- What is a local MCP server?
- An MCP server installed from a package and started on the user's own computer, usually over stdio. It can reach local files and applications, and its keys stay in the client's configuration. Local server →
- How do remote MCP servers handle sign-in?
- How a remote server asks a user to sign in. The authorization part of the specification, first added in 2025-03-26, builds on OAuth 2.1: the client sends the user to the service's own sign-in page, receives an access token and sends it with each request. OAuth for MCP (MCP authorization) →
- What are declared headers in an MCP Registry entry?
- HTTP headers a remote server's registry entry says a client must send, such as Authorization with an API key. The entry marks each as required or optional, and as secret or not. Declared headers →
- Why do local MCP servers need environment variables?
- Named values, often API keys, that a local server reads when the client starts it. The registry entry lists the ones its package expects; the client's configuration sets them. Environment variables →
- What is the official MCP Registry?
- The official public catalogue of MCP servers at registry.modelcontextprotocol.io, run by the MCP project and launched in preview in September 2025. It holds metadata only - names, descriptions, versions, endpoints and packages - with an open read-only API, and expects catalogues built on it, such as this directory, to add their own curation. MCP Registry →
- What is a namespace in the MCP Registry?
- The part of a registry name before the slash, in reverse-DNS form. io.github.<account> is granted to whoever signs in to the registry with GitHub as that user, or with the rights the registry requires in that organisation (its documentation now asks for an organisation owner); a reversed domain such as com.example to whoever proves control of example.com by a DNS record (which also covers its subdomains) or by a file served at /.well-known/mcp-registry-auth. It shows who published an entry, not that the entry is endorsed by the product it works with. Namespace →
- What is server.json?
- The file a publisher submits to the registry describing a server: its name, description, version, optional title, website and repository, and how to reach it - remotes and packages. server.json →
- Which package types can an MCP server be published as?
- The package registries a local server can be published to, named in its registry entry: npm (Node.js), PyPI (Python), OCI images (Docker and other container registries), NuGet (.NET), Cargo (Rust crates) and MCP Bundles. The type tells the client which runtime it needs. Package types →
- How is an MCP server from npm started?
- A Node.js package from the npm registry. Clients usually start it with npx, which downloads it on first use; Node.js must be installed. npm package →
- How is an MCP server from PyPI started?
- A Python package from PyPI. Clients usually start it with uvx, from the uv tool, which runs it in an isolated environment, or after installing it with pip. PyPI package →
- How is an MCP server in a container image started?
- A container image in an OCI registry such as Docker Hub or GitHub Container Registry, started with docker run. The server runs inside the container rather than directly on the computer. OCI image →
- What is an MCP Bundle (.mcpb)?
- A single archive holding a local MCP server and a manifest.json that describes it, so a client that supports bundles can install it in one step. The format was formerly called Desktop Extensions (.dxt). MCP Bundle (.mcpb) →
- Do MCP Registry entries have versions?
- Each publish to the registry adds a version that does not change afterwards; the newest is marked latest. An entry's status is active, deprecated or deleted. Version and status →
- What is llms.txt?
- A Markdown file at a site's root, /llms.txt, proposed in September 2024 at llmstxt.org, that tells language models what the site is and links its most useful pages, each with a short note. It grants and refuses nothing; it is a map. llms.txt →
- What is OpenAPI?
- A standard, machine-readable format for describing an HTTP API - its endpoints, parameters, responses and authentication - in JSON or YAML, formerly known as Swagger. Agent frameworks can turn its operations into tools. OpenAPI →
- What is ai-plugin.json?
- A manifest at /.well-known/ai-plugin.json introduced in 2023 for ChatGPT plugins: it names the service, describes it for the model and points to an OpenAPI description. The plugin system has since been retired, but some sites still serve the file. ai-plugin.json →
- What is /.well-known/mcp.json?
- A file some sites serve to describe their MCP server - its endpoint, transport and sign-in - so clients and catalogues can find it from the domain alone. It is not part of a published revision of the specification, and the files met in practice differ in shape; this directory records whether a site answers with a JSON object there. /.well-known/mcp.json →
- What is agents.json?
- A proposed JSON file, served at /agents.json, that describes an API's operations and the multi-step flows an agent can carry out with them, building on OpenAPI. Few sites publish one; this directory records whether a site answers with a JSON object there. agents.json →
- What is a ChatGPT app?
- An app a service publishes inside ChatGPT. Apps are built with OpenAI's Apps SDK, which is based on MCP, and can show interactive results in the chat; the user connects an app before ChatGPT can call it. ChatGPT app →
- What is a Claude connector?
- A remote MCP server added to Claude, from Anthropic's directory of connectors or by URL, so Claude can read from or act in that service once the user connects it. Claude connector →
- What does a public API offer an AI agent?
- A documented API that anyone can sign up to call, usually with a key from the service. It is how custom-built agents reach a service that has no MCP server. Public API →
- What's the difference between a remote and a local MCP server?
- An MCP server is either remote - run by its publisher and reached at a URL - or local - a program on your own computer that the assistant's app starts for you. Some services offer both, and the choice changes what you install, where your data goes and who holds the keys. Remote or local: which kind of MCP server to use →
- How do I add an MCP server to an AI assistant?
- The steps differ from one assistant to the next, and change often, but they follow two patterns: give the assistant a URL, for a remote server, or give a client the command that starts a program, for a local one. Each server page in this directory states what you need for both. How to add an MCP server to an AI assistant →
- Which MCP transport should a server use?
- A hosted service that many people reach from many assistants normally offers Streamable HTTP, the transport the protocol now recommends for remote servers. A tool that must touch local files or applications uses stdio. MCP transports: stdio, Streamable HTTP and SSE →
- Is the MCP Registry moderated?
- Only lightly: its moderation policy removes illegal content, malware, spam and servers that do not work, but not low-quality or duplicate ones, and tells readers to assume minimal-to-no moderation. What is the official MCP Registry? →
- Is llms.txt the same as robots.txt?
- No: llms.txt grants and refuses nothing, and it is not a sitemap either - it picks the few pages that matter and says what each is for. What goes in an llms.txt file →
- Can an AI agent use an OpenAPI description?
- Yes: an OpenAPI document describes an API's endpoints, parameters, responses and authentication in a machine-readable form, so an agent can learn to call an API it has never seen, and many agent frameworks turn its operations into tools. OpenAPI for AI agents →
- How do AI assistants find travel availability?
- By asking the provider: availability and prices change by the minute, so only a direct call to the provider's MCP server or API, with the place, dates and guests, returns a real answer. How AI assistants find travel availability →
- What should I check before connecting an MCP server?
- Who publishes it, what its tools can do, which credentials it gets and, for a local server, which code you run - the registry lists servers, it does not vouch for them. Before you connect an MCP server: a checklist →
- How are the listings in this directory verified?
- For every service, the directory requests the public files that declare an AI integration - /llms.txt, MCP manifests, OpenAPI descriptions - and records the HTTP status and the date. How listings are verified →
Sources: This directory's glossary and Learn articles, written from the MCP specification and the registry's documentation. All questions