Which Apps Support MCP? The Major MCP Clients Compared

Claude, ChatGPT, Codex, Cursor, VS Code, Copilot CLI, Gemini CLI, Devin Desktop and Zed all speak MCP, but not in the same way. What each one’s own documentation says about local and remote servers, sign-in, and support beyond tools.

8 min read

The major MCP clients today are Claude on the web, desktop and mobile, Claude Code, ChatGPT, Codex, Cursor, VS Code with GitHub Copilot, GitHub Copilot CLI, Gemini CLI, Devin Desktop (formerly Windsurf) and Zed. All of them can call a server’s tools. Where they differ is in three places: whether they can start a local server on your machine or only reach remote ones, how they sign in to a remote server, and whether they use anything beyond tools, such as prompts, resources or interactive MCP Apps. The short version: the chat apps reach remote servers from their makers’ clouds, the coding tools run local servers as well, and support beyond tools is uneven.

Is there an official list?

Not a complete one any more. The address of the protocol site’s old clients page now leads to its introduction, which names Claude, ChatGPT, Visual Studio Code, Cursor and MCPJam as examples of the “many others”. The nearest thing to an official table is the Extension Support Matrix (opens in a new tab), which the site describes as community-maintained and which tracks only the optional extensions, such as MCP Apps. So the list below is built from each vendor’s own documentation, as it reads on 28 September 2026. Where a vendor’s page does not mention a feature, it says “not documented”, which is not the same as “not supported”.

What to compare

  • Transports. The current specification’s transports (opens in a new tab) are stdio, for a local process the client starts, and Streamable HTTP, for a server at a URL. Many clients still accept the older HTTP+SSE transport for servers that have not moved on; MCP specification changes has the history.
  • Remote sign-in. OAuth in a browser, where you approve and never see a token, or a static header or key you paste into a config.
  • Beyond tools. Prompts are templates a person picks; resources are data a person or app attaches; tools, resources and prompts explains the difference. MCP Apps render an interactive interface in the conversation.

The clients, one by one

  • Claude (web, desktop, mobile, Cowork). Remote servers are added as connectors and reached from Anthropic’s cloud. Anthropic’s guide to building an MCP server for Claude (opens in a new tab) lists Streamable HTTP plus the legacy HTTP+SSE transport; OAuth with dynamic client registration, a static credential entered by an owner, or no authentication; and tools, prompts, resources, and text and image results. It says resource subscriptions and sampling are not supported yet. MCP Apps are supported. Local stdio servers run in Claude Desktop only, through its config file or desktop extensions; see the Claude Desktop MCP config.
  • Claude Code. The Claude Code MCP documentation (opens in a new tab) lists stdio, HTTP, SSE (deprecated) and WebSocket servers; OAuth through /mcp or claude mcp login, with dynamic registration or pre-configured credentials; resources referenced with @; prompts run as commands; and dialogs for servers that ask the user for input. Connectors added on claude.ai appear in Claude Code when you sign in with a claude.ai account.
  • ChatGPT. Remote only. ChatGPT’s developer mode (opens in a new tab), on the web for Pro, Plus, Business, Enterprise and Education accounts, takes SSE and streaming HTTP servers with OAuth, no authentication or a mix, and supports read and write tools, with writes confirmed by default. MCP Apps are supported, per the extension matrix. Prompts and resources: not documented. Listed apps and admin controls are in ChatGPT connectors and apps.
  • Codex. OpenAI’s Codex MCP page lists stdio servers and Streamable HTTP servers, a bearer token read from an environment variable or OAuth with codex mcp login, and one config.toml shared by the Codex CLI, the IDE extension and the ChatGPT desktop app. It reads server instructions; prompts and resources are not documented.
  • Cursor. Cursor’s MCP documentation (opens in a new tab) lists stdio, SSE and Streamable HTTP, OAuth including fixed client credentials, and the widest feature list here: tools, prompts, resources, roots, elicitation and MCP Apps. Servers go in .cursor/mcp.json in a project or ~/.cursor/mcp.json for everything.
  • VS Code with GitHub Copilot. VS Code’s MCP configuration reference covers stdio servers and HTTP servers, trying Streamable HTTP first and falling back to SSE, with a browser OAuth flow on first connection. VS Code’s MCP guide adds resources, prompts and MCP Apps. Servers live in .vscode/mcp.json, your user profile, or a portable .mcp.json; how trust works there is in VS Code MCP security.
  • GitHub Copilot CLI. GitHub’s page on adding MCP servers to Copilot CLI lists local stdio servers, HTTP (Streamable HTTP) and SSE, marked legacy; its command reference adds OAuth with dynamic registration or a static client ID, /mcp auth to sign in again, and a headless client-credentials option. The GitHub MCP server is built in. Prompts and resources: not documented. More in GitHub Copilot CLI.
  • Gemini CLI. Gemini CLI’s MCP guide maps each transport to a settings key: command for stdio, url for SSE and httpUrl for Streamable HTTP. It supports OAuth with automatic discovery, prompts as slash commands and resources referenced with @.
  • Devin Desktop (formerly Windsurf). Its agent, Devin Local, reads MCP servers from config files: .devin/config.json in a project and ~/.config/devin/config.json for you. The older Cascade MCP page, with its 100-tool limit, now applies only to legacy Cascade conversations.
  • Zed. Zed’s MCP documentation covers local stdio servers and remote servers by URL, running the standard OAuth flow when a remote server has no authorisation configured. It says Zed currently supports tools and prompts.
  • Others. The extension matrix also lists Microsoft 365 Copilot, Goose, Postman, MCPJam, Archestra.AI, PostHog Code, fast-agent and the MCP Inspector itself. Check each one’s own documentation before you rely on a feature.
At a glance (from each vendor’s documentation, 28 Sep 2026)
Client            Local stdio  Remote HTTP  OAuth  Beyond tools
Claude (apps)     Desktop      yes (cloud)  yes    prompts, resources, Apps
Claude Code       yes          yes          yes    prompts, resources, elicitation
ChatGPT           no           yes (cloud)  yes    Apps
Codex             yes          yes          yes    not documented
Cursor            yes          yes          yes    prompts, resources, roots,
                                                   elicitation, Apps
VS Code Copilot   yes          yes          yes    prompts, resources, Apps
Copilot CLI       yes          yes          yes    not documented
Gemini CLI        yes          yes          yes    prompts, resources
Devin Desktop     yes          yes          yes    prompts, resources
Zed               yes          yes          yes    prompts

What the differences mean in practice

Cloud chat apps need a public server. Claude on the web and ChatGPT call your server from their makers’ infrastructure, so a server on your laptop or behind a company VPN is out of reach unless it is exposed to the internet. Coding tools run on your machine and can start local servers, or reach internal ones, directly.

Build new servers on Streamable HTTP. SSE still works in most clients for compatibility, but vendors describe it as legacy or deprecated, and the current specification defines only stdio and Streamable HTTP.

Design for tools first. Every client calls tools; prompts and resources are patchy, and sampling is not supported in Claude and not mentioned in the other clients’ pages above; it is also deprecated in the 2026-07-28 revision, so new servers should not rely on it. A server whose value depends on resources will look empty in a client that only reads tools.

Config files are almost the same, which is the trap. Claude Desktop, Cursor, Gemini CLI, Devin Desktop and Copilot CLI all use an mcpServers object; VS Code’s own file uses servers; Codex uses TOML; Zed uses context_servers. Copying a block between them usually needs one key renamed, and remote entries differ more than local ones.

Choosing a client

  • You want MCP in a chat window, with no config file: Claude or ChatGPT, each with a remote server and a browser sign-in.
  • You want it while you code: Claude Code, Codex, Cursor, Copilot in VS Code or the CLI, Gemini CLI, Devin Desktop or Zed. Pick the one you already use; all take both local and remote servers.
  • Your server offers prompts and resources as well as tools: Claude Code, Cursor, VS Code, Gemini CLI or Devin Desktop document them.
  • Your server is internal: a local client, or a public endpoint with proper sign-in. The considerations are in MCP security best practices.
  • Your team uses several: pick servers that are remote with OAuth, so each person signs in as themselves in whichever client they prefer.

One server, every client

fenbs, a task board where people and AI assistants are members with roles, is a remote MCP server at https://fenbs.ai/api/mcp with a browser sign-in, so the same URL works in each client above that accepts a remote server. Each assistant you connect holds your role on the board, narrowed by the scopes you tick, and the board’s history records which assistant made each change, so a week of work by Claude, Cursor and Copilot reads as one list. The per-client steps are under integrations, and the tools are listed in the MCP docs.

Related

New to all of this: MCP for beginners. Nine working servers to try in any client: MCP examples. The difference between an MCP server and a plain API: MCP vs API. What MCP is: MCP.

Questions people ask.

Is there an official list of MCP clients?

Not a complete one. The protocol site names a few examples on its introduction page and keeps a community-maintained Extension Support Matrix for optional extensions such as MCP Apps. For anything else, check each client’s own documentation.

Which MCP clients can run local servers?

Claude Desktop, Claude Code, Codex, Cursor, VS Code with Copilot, Copilot CLI, Gemini CLI, Devin Desktop and Zed can all start a local server over stdio. Claude on the web and ChatGPT reach remote servers only, from their makers’ clouds.

Does ChatGPT support MCP?

Yes, for remote servers. Developer mode, on the web for Pro, Plus, Business, Enterprise and Education accounts, adds a server by URL over SSE or streaming HTTP, with OAuth or no authentication, and supports read and write tools with writes confirmed by default.

What is the best MCP client?

The one you already work in. For chat, Claude and ChatGPT both take remote servers with a browser sign-in. For coding, Claude Code, Cursor and VS Code document the widest support beyond tools, while Codex, Copilot CLI, Gemini CLI, Devin Desktop and Zed cover local and remote servers too.

Start with one thing.

There is nothing to set up first. Write one line and you’ve started.