og.cc.cd / guides / what-is-mcp-model-context-protocol

What Is MCP (Model Context Protocol)? A Beginner’s Explainer

By og.cc.cd · Published · Updated · 4 min read

TL;DR: MCP (Model Context Protocol) is an open standard that lets AI apps such as Claude, ChatGPT, VS Code and Cursor connect to external tools and data through MCP servers.

Updated · All sources ↓

MCP is the open standard that lets AI apps such as Claude, ChatGPT, VS Code and Cursor plug into outside tools and data. This guide explains what it is, how the pieces fit together, and what actually happens when you “add an MCP server”.

Open the MCP Config Generator →All guides

The one-sentence version

The official documentation describes MCP (Model Context Protocol) as “an open-source standard for connecting AI applications to external systems” and compares it to a USB-C port: one standard plug instead of a different cable for every device (What is MCP?).

In practice that means a developer writes an integration once — say, for a database, a ticket tracker or the local file system — as an MCP server, and every app that speaks MCP can use it. Before MCP, each AI app needed its own plug-in format, so the same integration was rebuilt many times.

Hosts, clients and servers

MCP uses a client–server design with three roles (MCP architecture):

  • Host — the AI application you use, such as Claude Desktop, VS Code or Cursor. It coordinates everything and decides what reaches the model.
  • Client — a connector object the host creates for each server. Each client keeps one dedicated connection to one server.
  • Server — the program that provides context and actions: a file-system server, a GitHub server, a browser-automation server, and so on. It can run on your machine or on the internet.

The docs use VS Code as an example: when it connects to a Sentry server and a local file-system server, it creates two separate MCP client objects, one per server.

What a server can offer

MCP defines three core “primitives” that servers expose:

PrimitiveWhat it isExample
ToolsFunctions the AI app can invoke to perform actionsWrite a file, query a database, call an API
ResourcesData sources that provide contextFile contents, database records, API responses
PromptsReusable templates that structure an interactionA “review this PR” prompt with arguments

There are also client-side features. Servers can ask the user for extra input (elicitation). The architecture page notes that sampling — servers asking the host’s model to generate text — is deprecated as of protocol version 2026-07-28.

Local vs remote: the two transports

  • stdio — the host starts the server as a child process on your computer and talks to it over standard input/output. This is what you configure with a command and args, e.g. npx -y @modelcontextprotocol/server-filesystem. A local stdio server typically serves a single client.
  • Streamable HTTP — the server runs somewhere else and the host connects to a URL. It uses HTTP POST plus optional Server-Sent Events, supports bearer tokens, API keys and custom headers, and MCP recommends OAuth for obtaining tokens. Remote servers typically serve many clients.

Under both transports the messages are the same: MCP’s data layer is built on JSON-RPC 2.0. In the current version the protocol is stateless — every request carries the protocol version and relevant capabilities in its _meta field, and clients can call server/discover to learn what a server supports.

What “adding an MCP server” looks like

For a local server you usually add a few lines of JSON to your app’s config. This is the official Claude Desktop example for the file-system server:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Desktop",
        "/Users/username/Downloads"
      ]
    }
  }
}

The paths at the end are the only folders the server may touch. After a restart, the app launches the server, discovers its tools, and the model can ask to use them — with your approval. Remote servers are added by URL instead; in Claude that happens in Settings → Connectors → Add custom connector (Connect to remote MCP servers).

Different apps use slightly different files and keys — Claude Desktop and Cursor use mcpServers, VS Code’s own mcp.json uses servers. Our MCP config generator writes the right format for each, and the setup guide walks through all three apps.

MCP vs function calling

Function calling is a feature of a model API: you describe functions in a request, the model replies with a structured call, and your code runs it. MCP sits one level up. It standardises how an application discovers tools from external servers and invokes them, so the same server works in many apps. Hosts still use the model’s tool-calling ability underneath; MCP is the plumbing that brings the tools in.

Who supports MCP

The official introduction lists AI assistants such as Claude and ChatGPT and development tools such as Visual Studio Code and Cursor among the clients that support MCP, and points to an ecosystem of servers and SDKs. A reference collection of servers (file system, fetch and more) is maintained alongside the specification.

Safety: what to check before you install

  • A local server runs with your permissions. The Claude Desktop guide warns that the file-system server “runs with your user account permissions”, so grant only the folders you are comfortable with.
  • Review the publisher. VS Code’s docs advise reviewing the publisher, command or endpoint and requested access before starting a server, because local servers can run code on your machine.
  • Approve actions. Hosts ask before a tool runs. Read the request instead of clicking through.
  • Keep secrets out of git. Tokens belong in environment variables or the app’s secret prompts, not in a committed config file.

Key terms

TermMeaning
HostThe AI app (Claude Desktop, VS Code, Cursor…)
ClientOne connection object per server, created by the host
ServerProgram exposing tools, resources and prompts
stdioLocal transport: host launches the server process
Streamable HTTPRemote transport: host connects to a URL
JSON-RPC 2.0Message format used by every MCP request and response

Sources

Vendor features and prices were checked against these official pages on 2026-10-20. Products change; if something here no longer matches, the official page is right.

Related guides