What is the Model Context Protocol (MCP)?
The Model Context Protocol, or MCP, is an open and open source standard that is used to connect an AI application to external systems: files, a database, a search tool, a business software. The official documentation compares it to an USB-C port: a common socket, instead of a different cable for each device.
Anthropic I presented and published in open source on November 25, 2024, with a specification, development kits (SDK), support for local servers in the Claude Desktop application and a ready-to-use server repository for Google Drive, Slack, GitHub, Git, Postgres and Puppeteer. The problem, according to the announcement, was that each new source of data required its own integration. According to the same announcement, the protocol was created in Anthropic by David Soria Parra and Justin Spahr-Summers.
The specification says to be inspired by the Language Server Protocol, which has unified support for programming languages in code editors. MCP does the same for the context and the tools provided to the AI applications. The documentation lists among the compatible software Claude, ChatGPT, Visual Studio Code and Cursor. In ChatGPT, MCP servers run the apps: seeChatGPT app guide.
How an MCP client and server work
The protocol distinguishes three roles. Lhostis the application of the AI you use, for example Claude Desktop, Claude Code or VS Code. For each server it connects to, host creates aclient MCP, which keeps a dedicated connection with this server. The MCP serveris the programme that provides context and actions; it can run on your computer ("local" server) or on the Internet ("remote" server).
A server offers three kinds of elements, which the documentation calls primitives:
- tools: functions that the model decides to call, such as querying a base, sending a message or creating a calendar event;
- of resources: readable data, each identified by an address (URI), such as the content of a file or the schema of a database, which the application chooses to transmit to the model;
- prompt: instructions templates that the user triggers himself, often with a command that starts with "/".
The client discovers what the server proposes by list queries (tools/listfor tools), then call a tool withtools/call. Messages follow JSON-RPC 2.0 format. Two transports are planned:stdio, when the server is a program run on the same machine, and Streamable HTTP, for a remote server that can serve many clients. For the latter, the documentation recommends OAuth to get access chips.
The dialogue also goes in the other direction: by "licensing", a server can request clarification or confirmation from the user. Documentation prevents you from asking for a password, a key to the password or payment data by form; These exchanges go through a separate open page (URL mode), out of the conversation.
The specification evolves in dated versions. The one described in the documentation consulted, 2026-07-28, brings the protocol version and the client's capabilities to each request; a server announces its own by queryserver/discover. Two customer-side functions are deprecated, sampling (sampling) and roots (root). Optional extensions complete the core of the protocol: Tasks for long operations, MCP Apps to display an interactive interface in the conversation, and Skills over MCP to distribute agent instructions via MCP.
Examples of MCP servers
The protocol documentation quotes file servers, databases, GitHub, Slack or calendar. Some specific examples from the pages read:
- the server
@modelcontextprotocol/server-filesystem, used in the official tutorial for Claude Desktop: it reads, creates, moves and searches files, only in the folders you indicate to it; - the Sentry server, cited as a remote server example, hosted by Sentry;
- in the documentation of Claude Code : Notion (
), GitHub, or a PostgreSQL database questioned by the DBHub server, which the documentation advises to connect with a read-only user; - the server hosted by Supabase (
), which provides access to tables, migrations, Edge Functions, newspapers and project documentation.
In the directory, companies describe their uses:ManoMano, an agent reads mobile application crashes by the official Firebase MCP server, limited to five read-only tools; Sorting agentWayflyerqueries internal tools by MCP;SNCF Connectpublished in ChatGPT an application based on the MCP Apps extension, with a server written in Kotlin. All linked sheets are listed below.
To build yours, the skill ofBuild a quality MCP serverguides the design of tools in Python (FastMCP) or TypeScript.
Install an MCP server in Claude, Cursor or VS Code
The principle is the same everywhere: either you declare the address of a remote server or the command that runs a local server, and then you authenticate if the service requests it. The screens and files change according to the software.
Claude Desktop, with local server
Open the application settings (from the Claude menu, not the account settings), Developer tab, Edit Config button. Fileclaude_desktop_config.jsonopen: declare the server under the keymcpServers, with the command to be launched (e.g.npxand the name of the package) and its arguments, then exit and restart Claude Desktop completely. The official tutorial prevents the server from running with the rights of your account: only open the folders you agree to see read and modified. Claude requests your agreement before each action.
Claude on the web or on a computer, with a remote server
In Settings, Connectors section, choose Add, then "Custom Connector", and paste the server address provided by its editor. After authentication, the connector settings allow to enable or disable each tool.
Claude Code
A remote server adds in one command, for exampleclaude mcp add --transport http notion . For a local server, the command that runs the server is placed after-- : claude mcp add --env AIRTABLE_API_KEY=VOTRE_CLE --transport stdio airtable -- npx -y airtable-mcp-server. The option --scopeselects the range:local(by default, you alone, in this project),project (a file .mcp.jsonshared with the team by the repository, which Claude Code has approved in interactive session before using it) oruser(all your projects). The command/mcpdisplays server status and launches OAuth authentication. SSE transport is depreciated to the benefit of HTTP.
Cursor
Cursor lit a file .cursor/mcp.jsonin the project, or~/.cursor/mcp.jsonfor all your projects, with the same keymcpServers : command, args et envfor a local server,url et headersfor a remote server. Servers also install in one click from Cursor Marketplace. By default, Cursor requests your approval before using an MCP tool; in case of problem, the logs are in the Output panel, input "MCP Logs".
VS Code
The "MCP: Add Server" command in the command palette launches a guided addition. VS Code-specific configuration format uses keyservers, where other tools usemcpServers. Documentation requires checking the server editor, the command or address and the accesses requested before installing or starting it.
Example: Supabase server MCP
Supabase publishes its server configuration for many clients, including Claude Code, Cursor and VS Code. In Claude Code:claude mcp add --scope project --transport http supabase "", puis /mcpto authenticate. In Cursor, the address states in.cursor/mcp.json. Added parameters to the address restrict access:project_reflimits the server to a project,read_only=trueonly allows reading,featureschooses the tool groups. The official skillDevelop with SupabaseAlso covers the CLI and the MCP server.
Security: the points to check before connecting a server
The specification clearly says: an MCP tool is about executing code, and the protocol cannot impose security rules itself. It is for applications and servers to apply them. Points that return to the pages read:
- Votre accord avant chaque action.The specification requires explicit consent before any tool call, and holds as unreliable the tool descriptions of a server that is not. Claude Desktop and Cursor request your default agreement, and Supabase notes that most MCP clients have each tool call validated: keep this validation for the current work.
- Reliable source servers.Cursor recommends checking the source, data and API that the server accesses, and reading its code for critical integrations. Claude Code warns that a server that recovers external content exposes to quick injection.
- A local server has your permissions.The protocol's security guide describes trapped boot commands, slipped into a configuration, which e.g. exfil a SSH key. He asks the client to display the complete command before running it, and recommends launching the servers in an isolated environment (sandbox).
- As few rights as possible.Minimally restricted (Cursor) API keys, reduced OAuth permissions rather than global access (protocol security guide), read-only mode and project-limited perimeter when the server allows (Supabase). Mano Mano limited his agent to five read-only tools.
- Secrets outside the chat.Pass the keys through environment variables rather than clear in a file (Cursor), do not paste them into the conversation and do not publish them in the repository (VS Code).
- The data may contain orders.Supabase gives the example of a support ticket whose text asks the agent to extract a table: if a developer with extended rights makes his agent read this ticket, he can try to obey. Review each tool call before validating it.
- Who publishes a server for?The authorization specification prohibits relaying tokens that have not been issued for the server ("token passthrough"). TheSNCF Connectrecalls that an MCP server should be protected like any public API server. Supabase does not recommend entrusting its server to end-customers, as it acts with the developer's rights.
MCP or skill: what difference?
A MCP server gives the agent aaccess: data and actions in another system, via a programme that runs next to it. A skill (Agent Skills) gives him aknow-how: a folder that contains a SKILL.md file (a name, description, instructions) and sometimes scripts or resources. The agent remembers the name and description, and reads the rest only when the task is ready; Anthropic calls for progressive disclosure. Detailed explanation:What is a skill (SKILL.md)?
Both complement each other. In October 2025, Anthropic wrote to explore how skills can complement MCP servers, learning the agent more complex chains that use external tools; the MCP specification now lists an extension "Skills over MCP". In the library, the skillUse the Hugging Face Hub via its MCP serverserves only if this server is connected, andInstall the MCP Google Ads server guide son installation.
The two formats also share the same risk: a skill or a malicious server can cause the agent to leak data or act without anyone wanting to. Anthropic recommends installing skills only from trusted sources and auditing others, as for an MCP server.
FREQUENTLY ASKED QUESTIONS
In brief, with the sources.
What is an MCP server, in one sentence?
A program that provides tools, data and instructions to an AI application according to the MCP (Model Context Protocol) standard protocol. It can run on your computer or on the Internet.
Is it the same?
Yes: "MCP server" is the translation of "MCP server". MCP is the acronym for Model Context Protocol, the open source protocol published by Anthropic on November 25, 2024.
Do you need to know how to code to use an MCP server?
Not to connect one that exists: in Claude, a custom connector is created by sticking the server address, and Cursor offers an one-click installation. A local server asks to edit a JSON file and often install Node.js, as in the official tutorial of the Filesystem server. To build one, you have to program with an SDK; the skillBuild a quality MCP serveraccompany this step.
How to add an MCP server to Claude?
In Claude on the web or computer: Settings, Connectors, Add, "Custom Connector", then the server address. In Claude Desktop, a local server appears in the claude desktop config.json file (Settings, Developer, Edit Config). In Claude Code: command claude mcp add, then /mcp to authenticate.
How to install the Supabase MCP server?
Its hosted address is https://mcp.supabase.com/mcp. In Claude Code: claude mcp add --scope project --transport http supabase "https://mcp.supabase.com/mcp", then /mcp to authenticate. Supabase recommends limiting the server to a project (project ref), enabling read-only (read only=true) and not entrusting it to your end clients.
Is an MCP server safe?
It depends on the server and how to connect it. The specification specifies that the protocol cannot impose security itself: a tool is to execute code. Install reliable source servers, keep each tool call approved, give as little rights as possible, and keep keys out of the conversation.
What is the difference between an MCP server and a skill?
The MCP server gives access to a system (data, actions); the skill brings instructions and scripts that the agent loads when the task is ready. Both combine: some skills assume that an MCP server is connected. SeeWhat's a skill?