1,313 pages for user.
Titles and paths first, then pages whose text carries it. Each row opens that page as this site last read it.
Build an MCP client
Model Context Protocol · in the page
docs/draft/develop/build-client
…nd available tools""" messages = [ { "role": "user", "content": query } ] tool_list = await client.list_tools() available_tools = [{ "n…
Build an MCP server
Model Context Protocol · in the page
docs/draft/develop/build-server
…r-concepts.md#tools)**: Functions that can be called by the LLM (with user approval) 3. **[Prompts](/docs/draft/learn/server-concepts.md#prompts)**: Pre-written templates that help users accomplish sp…
Build with Agent Skills
Model Context Protocol · in the page
docs/draft/develop/build-with-agent-skills
…| | `build-mcpb` | Packages a local stdio server with its runtime so users can install it without Node or Python. | Each skill ships a `SKILL.md` file plus a `references/` folder of supporting mater…
Client Best Practices
Model Context Protocol · in the page
docs/draft/develop/clients/client-best-practices
…the majority of the context window before the model has even read the user's message. ![Comparison of loading all tools upfront versus discovering tools on demand. The upfront approach consumes \~150…
Connect to local MCP servers
Model Context Protocol · in the page
docs/draft/develop/connect-local-servers
…"-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/Users/username/Downloads" ] } } } ``` ```json Windows theme={null} { "mcpServers…
Connect to remote MCP Servers
Model Context Protocol · in the page
docs/draft/develop/connect-remote-servers
…n the server implementation but commonly involves OAuth, API keys, or username/password combinations. ?
Model Context Protocol · in the page
docs/draft/getting-started/intro
…can connect to multiple databases across an organization, empowering users to analyze data using chat. * AI models can create 3D designs on Blender and print them out using a 3D printer. ## Why does…
Architecture overview
Model Context Protocol · in the page
docs/draft/learn/architecture
…lient * **Client features**: Enables servers to elicit input from the user. Sampling is [deprecated](/specification/draft/deprecated.md) as of protocol version `2026-07-28`. * **Utility features**: Su…
Understanding MCP clients
Model Context Protocol · in the page
docs/draft/learn/client-concepts
…. The host application, like Claude.ai or an IDE, manages the overall user experience and coordinates multiple clients. Each client handles one direct communication with one server. Understanding the…
Understanding MCP servers
Model Context Protocol · in the page
docs/draft/learn/server-concepts
…hat your LLM can actively call, and decides when to use them based on user requests. Tools can write to databases, call external APIs, modify files, or trigger other logic. | Search flights Send messa…
Versioning
Model Context Protocol · in the page
docs/draft/learn/versioning
…request with a mutually supported version, or surface an error to the user if none exists. Clients that want to select a version up front can call [`server/discover`](/specification/draft/server/disc…
Debugging
Model Context Protocol · in the page
docs/draft/tools/debugging
…"-y", "@modelcontextprotocol/server-filesystem", "/Users/username/data" ] } } } ``` Instead of relative paths like `./data` ### Environment variables MCP servers laun…
CLI client
Model Context Protocol · in the page
docs/draft/tools/inspector/cli
…, but it does **not** scrub credentials embedded in a > server `url` (userinfo or query tokens) or in stdio `args`. Treat raw URL and > `detail` fields as sensitive before pasting them into an issue.…
Configuration and flags
Model Context Protocol · in the page
docs/draft/tools/inspector/configuration
…y, that file is **unencrypted**. Mode `0600` keeps out other non-root users, but not root, not backups or copies of your home directory, and not any program running as you, including the stdio servers…
mcpdo connection client
Model Context Protocol · in the page
docs/draft/tools/inspector/mcpdo
…mon, not what a server can **do**. A stdio server runs with your full user privileges. To contain one you don't fully trust, make the stdio command a container: ```bash theme={null} mcpdo connect @sa…
Recipes
Model Context Protocol · in the page
docs/draft/tools/inspector/recipes
…0.0:6274` with browser auto-open off, and runs as the non-root `node` user (uid `1000`). It sets `DANGEROUSLY_BIND_ALL_INTERFACES=true` because a container must bind the wildcard address to be reachab…
Security
Model Context Protocol · in the page
docs/draft/tools/inspector/security
…lived process holding live connections**, guarded by a token and same-user file permissions. ## The web backend and its API token The web client is a browser app backed by a Node server that owns th…
Understanding Authorization in MCP
Model Context Protocol · in the page
docs/draft/tutorials/security/authorization
…ces and operations exposed by MCP servers. If your MCP server handles user data or administrative actions, authorization ensures only permitted users can access its endpoints. MCP uses standardized a…
Local Server Security
Model Context Protocol · in the page
docs/draft/tutorials/security/local-server-security
…download code from the internet and run it as a child process of your user account. That process inherits your environment variables, can read anything your account can read — SSH keys, cloud credenti…
Security Best Practices
Model Context Protocol · in the page
docs/draft/tutorials/security/security_best_practices
…allows malicious clients to obtain authorization codes without proper user consent by exploiting the combination of static client IDs, dynamic client registration, and consent cookies. #### Terminolo…
Build an MCP App
Model Context Protocol · in the page
extensions/apps/build
…s.anthropic.com/en/docs/claude-code/skills) | `~/.claude/skills/` | `%USERPROFILE%\.claude\skills\` | | [VS Code](https://code.visualstudio.com/docs/copilot/customization/agent-skills) and [GitHub Cop…
MCP Apps
Model Context Protocol · in the page
extensions/apps/overview
…delcontextprotocol.io). Text responses can only go so far. Sometimes users need to interact with data, not just read about it. MCP Apps let servers return interactive HTML interfaces (data visualizat…
Enterprise-Managed Authorization
Model Context Protocol · in the page
extensions/auth/enterprise-managed-authorization
…ation > extension. ## What it is In a standard MCP deployment, each user independently authorizes an MCP client to access each MCP server. For consumer applications, this user-driven model is ideal…
OAuth Client Credentials
Model Context Protocol · in the page
extensions/auth/oauth-client-credentials
…ables automated systems to connect to MCP servers without interactive user authorization. > **[Specification](https://github.com/modelcontextprotocol/ext-auth/blob/main/specification/draft/oauth-clie…
Authorization Extensions
Model Context Protocol · in the page
extensions/auth/overview
…d) built on OAuth 2.0. That framework handles the common case well: a user interactively grants an MCP client permission to access a server on their behalf. But not every MCP deployment fits this pat…
Extension Support Matrix
Model Context Protocol · in the page
extensions/client-matrix
…uth-client-credentials` | Machine-to-machine auth without interactive user login | | [Enterprise-Managed Authorization](/extensions/auth/enterprise-managed-authorization.md) | `io.modelcontextprotocol…
Skills
Model Context Protocol · in the page
extensions/skills/overview
…data and load instructions and supporting files only when needed. ## User Interaction Model Host applications determine how skills are exposed to the model and user. Skills can be selected by the mo…
Tasks
Model Context Protocol · in the page
extensions/tasks/overview
…ht interaction.** When a task needs input (e.g., an elicitation for user confirmation), it moves to `input_required` and surfaces the request. The client responds via `tasks/update` — no second co…
The MCP Registry
Model Context Protocol · in the page
registry/about
….json), which contains: * The server's unique name (e.g., `io.github.user/server-name`) * Where to locate the server (e.g., npm package name, remote server URL) * Execution instructions (e.g., comman…
How to Authenticate When Publishing to the Official MCP Registry
Model Context Protocol · in the page
registry/authentication
…our server's name in `server.json` **MUST** be of the form `io.github.username/*` (or `io.github.orgname/*`). For example, `io.github.alice/weather-server`. If you choose domain-based authentication,…
How to Automate Publishing with GitHub Actions
Model Context Protocol · in the page
registry/github-actions
…th a GitHub Personal Access Token (PAT) that has `read:org` and `read:user` scopes. * **DNS Authentication**: Add a `MCP_PRIVATE_KEY` secret with your Ed25519 private key. You may also need to add se…
MCP Registry Supported Package Types
Model Context Protocol · in the page
registry/package-types
…tocol.io/schemas/2025-12-11/server.schema.json", "name": "io.github.username/email-integration-mcp", "title": "Email Integration", "description": "Send emails and manage email accounts", "vers…
Quickstart: Publish an MCP Server to the MCP Registry
Model Context Protocol · in the page
registry/quickstart
…"name": "mcp-quickstart-ts", - "version": "1.0.0", + "name": "@my-username/mcp-weather-server", + "version": "1.0.1", "main": "index.js", ``` ```diff package.json theme={null} "license": "…
MCP Registry Aggregators
Model Context Protocol · in the page
registry/registry-aggregators
…ide additional value. For example, a server marketplace that provides user ratings and security scanning. The MCP Registry provides an unauthenticated read-only REST API that aggregators can use to p…
Publishing Remote Servers
Model Context Protocol · in the page
registry/remote-servers
…true } } } ] } ``` When configuring this server, users provide their `tenant_id` value, and the URL template gets resolved to the appropriate endpoint (e.g., `https://us-cell1.ana…
Official MCP Registry Terms of Service
Model Context Protocol · in the page
registry/terms-of-service
…erms are governed by the laws of the State of California. ## For All Users 1. No Warranties. The Registry is provided “as is” with no warranties of any kind. That means we don't guarantee the accura…
Versioning Published MCP Servers
Model Context Protocol · in the page
registry/versioning
…tocol.io/schemas/2025-12-11/server.schema.json", "name": "io.github.username/email-integration-mcp", "title": "Email Integration", "description": "Send emails and manage email accounts", "vers…
SEP-1024: MCP Client Security Requirements for Local Server Installation
Model Context Protocol · in the page
seps/1024-mcp-client-security-requirements-for-local-server-
…ion flows, allowing malicious actors to execute arbitrary commands on user systems through crafted MCP server configurations distributed via links or social engineering. This proposal establishes a b…
SEP-1034: Support default values for all primitive types in elicitation schemas
Model Context Protocol · in the page
seps/1034--support-default-values-for-all-primitive-types-in
…rting to convoluted parameter handling. The challenge however is that users must manually enter obvious information that could be pre-populated for more natural interactions. Currently, only `BooleanS…
SEP-1036: URL Mode Elicitation for secure out-of-band interactions
Model Context Protocol · in the page
seps/1036-url-mode-elicitation-for-secure-out-of-band-intera
…ts, *without* exposing sensitive data to the MCP client. By directing users to trusted URLs in their browser, this mode maintains security boundaries while enabling rich integrations with third-party…
SEP-1046: Support OAuth client credentials flow in authorization
Model Context Protocol · in the page
seps/1046-support-oauth-client-credentials-flow-in-authoriza
…ntly silent on how to solve machine-to-machine scenarios where an end-user is unavailable for interactive authorization. ### Specification The authorization spec would be amended to list the OAuth c…
SEP-1303: Input Validation Errors as Tool Execution Errors
Model Context Protocol · in the page
seps/1303-input-validation-errors-as-tool-execution-errors
…s and thus cannot self-correct, leading to repeated failures and poor user experiences. ### Problem Statement Consider a flight booking tool that validates departure dates using the following `zod`…
SEP-1330: Elicitation Enum Schema Improvements and Standards Compliance
Model Context Protocol · in the page
seps/1330-elicitation-enum-schema-improvements-and-standards
…uture) to a single selection model. It is a common pattern to ask the user to select multiple entries. In the UI, this amounts to the difference between using checkboxes or radio buttons. For these r…
SEP-1577: Sampling With Tools
Model Context Protocol · in the page
seps/1577--sampling-with-tools
…un their own agentic loops using the client's tokens (still under the user supervision), and reduces the complexity of client implementations (context support becoming explicitly optional). ## Motiva…
SEP-1686: Tasks
Model Context Protocol · in the page
seps/1686-tasks
…before calling the tool again. It cannot resume until receiving a new user message. This also complicates expiration times, as it is not possible to predict when the client will retrieve the result wh…
SEP-1730: SDKs Tiering System
Model Context Protocol · in the page
seps/1730-sdks-tiering-system
…on. ## Motivation The MCP ecosystem needs SDK harmonization to help users make informed decisions. Users currently face challenges: * **Feature Support Uncertainty**: No standardized way to know wh…
SEP-1850: PR-Based SEP Workflow
Model Context Protocol · in the page
seps/1850-pr-based-sep-workflow
…cess - **Created**: YYYY-MM-DD - **Author(s)**: Name <email> (@github-username) - **Sponsor**: @github-username (or "None" if seeking sponsor) - **PR**: https://github.com/modelcontextprotocol/specifi…
SEP-2106: Tools `inputSchema` & `outputSchema` Conform to JSON Schema 2020-12
Model Context Protocol · in the page
seps/2106-json-schema-2020-12
…eturning an array of objects: ```json theme={null} { "name": "list_users", "description": "List all users in the system", "inputSchema": { "type": "object", "properties": { "limit…
SEP-2127: MCP Server Cards - HTTP Server Discovery
Model Context Protocol · in the page
seps/2127-mcp-server-cards
…recedent set by [SEP-1865 (MCP Apps)](/seps/1865-mcp-apps-interactive-user-interfaces-for-mcp.md). ## Motivation MCP clients need an out-of-band way to discover remote servers before choosing or ope…
SEP-2148: MCP Contributor Ladder
Model Context Protocol · in the page
seps/2148-contributor-ladder
…design participation * Compatibility analysis #### Documentation * User guides and tutorials * API documentation * Architecture documentation * Maintaining content currency #### Community Building…