{
  "title": "MCP Product Role Classification",
  "schemaVersion": "1.0",
  "researchFreeze": "2026-08-25",
  "protocolRevision": "2026-07-28",
  "reviewNote": "This is a first-party documentation snapshot checked August 25, 2026, not an interoperability test. Current product behavior remains live-check required.",
  "count": 16,
  "records": [
    {
      "recordId": "R5-PRODUCT01",
      "product": "Claude Desktop",
      "organization": "Anthropic",
      "host": "Yes, when MCP functionality is configured",
      "client": "Local clients for desktop extensions; Anthropic-managed infrastructure connects remote connectors",
      "server": "No general MCP server role documented for this surface",
      "gatewayOrPlatformRole": "Connector management surface",
      "deployment": "Local desktop-extension servers and cloud-brokered remote connectors",
      "capabilityNotes": "Desktop extensions are local/on-device; remote connectors originate from Anthropic cloud infrastructure",
      "roleInterpretation": "Claude Desktop is the host when MCP is configured; local and remote connection mechanisms are distinct",
      "packageSourceIds": [
        "S035",
        "S037",
        "S038"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S258",
        "S260",
        "S145"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://support.claude.com/en/articles/11725091-when-to-use-desktop-and-web-connectors"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT02",
      "product": "Claude Code",
      "organization": "Anthropic",
      "host": "Yes",
      "client": "Yes",
      "server": "Optional",
      "gatewayOrPlatformRole": "No general gateway role",
      "deployment": "Local stdio; remote Streamable HTTP, deprecated SSE, and WebSocket",
      "capabilityNotes": "Consumes configured servers; `claude mcp serve` can separately expose Claude Code as a server",
      "roleInterpretation": "Bundled product can contain host and client roles and optionally instantiate a server role",
      "packageSourceIds": [
        "S036"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S259"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://code.claude.com/docs/en/mcp"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT03",
      "product": "Claude remote connectors (web, mobile, Cowork, Desktop, and Claude Code)",
      "organization": "Anthropic",
      "host": "Yes, when a remote connector is enabled",
      "client": "Anthropic-managed cloud connection infrastructure",
      "server": "The Claude surface is not the connected MCP server",
      "gatewayOrPlatformRole": "Managed connector platform",
      "deployment": "Remote connections originate from Anthropic cloud infrastructure",
      "capabilityNotes": "Availability and supported actions vary by surface, plan, and connector",
      "roleInterpretation": "The enabled Claude surface is user-facing host; Anthropic infrastructure performs the remote MCP connection",
      "packageSourceIds": [
        "S035",
        "S038"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S258",
        "S145"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://support.claude.com/en/articles/11725091-when-to-use-desktop-and-web-connectors"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT04",
      "product": "Anthropic Messages API MCP connector",
      "organization": "Anthropic",
      "host": "Developer application remains the application-level orchestrator",
      "client": "Anthropic-managed beta connector for remote servers",
      "server": "This connector is not an MCP server",
      "gatewayOrPlatformRole": "Provider-hosted connector execution",
      "deployment": "Public HTTPS remote servers over Streamable HTTP or legacy SSE",
      "capabilityNotes": "Beta; tools only; no direct local stdio, prompts, or resources",
      "roleInterpretation": "API feature supplies a managed MCP client path inside a larger developer-owned application",
      "packageSourceIds": [
        "S039"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S175"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://platform.claude.com/docs/en/agents-and-tools/mcp-connector"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT05",
      "product": "ChatGPT",
      "organization": "OpenAI",
      "host": "Yes, on ChatGPT web when an MCP app is enabled in a supported product mode",
      "client": "OpenAI-managed remote MCP client infrastructure",
      "server": "ChatGPT is not the connected MCP server",
      "gatewayOrPlatformRole": "Managed apps/connectors platform",
      "deployment": "Direct remote MCP; supported private, on-premises, or local servers use Secure MCP Tunnel",
      "capabilityNotes": "Full write/modify MCP is beta for Business, Enterprise, and Edu; Pro developer mode supports read/fetch",
      "roleInterpretation": "ChatGPT owns the user/model experience while managed infrastructure performs remote MCP client behavior",
      "packageSourceIds": [
        "S040",
        "S041"
      ],
      "supplementalSourceIds": [
        "S261"
      ],
      "sourceIds": [
        "S140",
        "S262",
        "S261"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt",
        "https://developers.openai.com/api/docs/guides/secure-mcp-tunnels"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT06",
      "product": "OpenAI Agents SDK application",
      "organization": "OpenAI",
      "host": "The developer's application",
      "client": "Yes through SDK classes or hosted MCP tool",
      "server": "No built-in server role documented in the cited integration; a separate implementation is possible",
      "gatewayOrPlatformRole": "Hosted MCP connection available through provider infrastructure",
      "deployment": "Hosted remote, Streamable HTTP, legacy SSE and stdio options",
      "capabilityNotes": "MCPServerManager can coordinate multiple configured servers",
      "roleInterpretation": "The developer’s running application is the host; HostedMCPTool or SDK connection classes provide client behavior",
      "packageSourceIds": [
        "S042"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S090"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://openai.github.io/openai-agents-python/mcp/"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT07",
      "product": "Visual Studio Code agent experience",
      "organization": "Microsoft",
      "host": "Yes in MCP role terminology",
      "client": "Yes",
      "server": "No general MCP server role documented for this surface",
      "gatewayOrPlatformRole": "Enterprise policy, extension and agent platform",
      "deployment": "Local and remote servers",
      "capabilityNotes": "MCP tools, resources, prompts, and Apps are supported; Microsoft’s separate Agent Host term names an AHP runtime/process",
      "roleInterpretation": "The MCP relationship may run in the extension host or Microsoft Agent Host without changing VS Code’s MCP host role",
      "packageSourceIds": [
        "S043",
        "S044",
        "S045",
        "S046"
      ],
      "supplementalSourceIds": [
        "S270"
      ],
      "sourceIds": [
        "S141",
        "S263",
        "S088",
        "S264",
        "S270"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://code.visualstudio.com/docs/agent-customization/mcp-servers",
        "https://code.visualstudio.com/docs/agents/concepts/agent-host"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT08",
      "product": "GitHub Copilot cloud agent (formerly Copilot coding agent)",
      "organization": "GitHub",
      "host": "Yes, when MCP is configured in the hosted cloud-agent environment",
      "client": "Yes",
      "server": "No general MCP server role documented for this surface",
      "gatewayOrPlatformRole": "Repository-managed cloud agent platform",
      "deployment": "Configured local/remote semantics within GitHub-hosted environment",
      "capabilityNotes": "Tools only; no resources or prompts; no remote OAuth servers; configured tools may run without per-call approval",
      "roleInterpretation": "Cloud agent is the host/orchestrator and connects through MCP clients",
      "packageSourceIds": [
        "S047",
        "S048"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S265",
        "S266"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://docs.github.com/en/copilot/concepts/agents/cloud-agent/mcp-and-cloud-agent"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT09",
      "product": "GitHub Copilot Chat on GitHub",
      "organization": "GitHub",
      "host": "Yes",
      "client": "Yes",
      "server": "No general MCP server role documented for this chat surface",
      "gatewayOrPlatformRole": "Preconfigured GitHub integration platform",
      "deployment": "Remote",
      "capabilityNotes": "Can use the GitHub MCP server with approval UI",
      "roleInterpretation": "Chat product is host; GitHub MCP server is a separate server implementation",
      "packageSourceIds": [
        "S049"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S267"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT10",
      "product": "GitHub Copilot CLI",
      "organization": "GitHub",
      "host": "Yes",
      "client": "Yes",
      "server": "No general MCP server role documented by default",
      "gatewayOrPlatformRole": "CLI agent platform",
      "deployment": "Local and remote servers",
      "capabilityNotes": "Includes built-in GitHub server integration and configurable servers",
      "roleInterpretation": "CLI is a host application containing client implementations",
      "packageSourceIds": [
        "S050"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S268"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT11",
      "product": "Cursor IDE/Agent Window and Cursor CLI (distinct surfaces)",
      "organization": "Cursor",
      "host": "Yes, for each configured MCP-consuming surface",
      "client": "Yes",
      "server": "Neither surface is thereby the configured MCP server",
      "gatewayOrPlatformRole": "Editor/agent platform",
      "deployment": "Configured local and remote servers",
      "capabilityNotes": "The IDE/Agent Window and CLI share MCP configuration but are distinct host surfaces; this does not classify Cursor Cloud Agents",
      "roleInterpretation": "Classify each running surface separately even when configuration is shared",
      "packageSourceIds": [
        "S051"
      ],
      "supplementalSourceIds": [
        "S283"
      ],
      "sourceIds": [
        "S269",
        "S283"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://cursor.com/docs/mcp",
        "https://cursor.com/docs/cli/mcp"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT12",
      "product": "Gemini CLI",
      "organization": "Google",
      "host": "Yes",
      "client": "Yes",
      "server": "No general MCP server role documented by default",
      "gatewayOrPlatformRole": "CLI agent environment",
      "deployment": "Local and remote servers",
      "capabilityNotes": "Permission prompts and server configuration are host behavior",
      "roleInterpretation": "Gemini CLI coordinates model and tools and maintains MCP client connections",
      "packageSourceIds": [
        "S052",
        "S053"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S144",
        "S271"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://geminicli.com/docs/tools/mcp-server/"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT13",
      "product": "Zed Agent",
      "organization": "Zed Industries",
      "host": "Yes",
      "client": "Yes",
      "server": "No general MCP server role documented by default",
      "gatewayOrPlatformRole": "Editor extension and agent platform",
      "deployment": "Configured context/MCP servers",
      "capabilityNotes": "Restricted Mode gates project-configured servers until worktree trust; global servers are outside that gate; per-tool policy remains host behavior",
      "roleInterpretation": "Zed owns the UI, model context and permission layer; connected server extensions remain separate implementations",
      "packageSourceIds": [
        "S054",
        "S055",
        "S056"
      ],
      "supplementalSourceIds": [
        "S284",
        "S285"
      ],
      "sourceIds": [
        "S022",
        "S272",
        "S273",
        "S284",
        "S285"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://zed.dev/docs/ai/mcp",
        "https://zed.dev/docs/worktree-trust",
        "https://zed.dev/docs/ai/tool-permissions"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT14",
      "product": "JetBrains AI Assistant",
      "organization": "JetBrains",
      "host": "Yes, when AI Assistant MCP integration is enabled",
      "client": "Yes, when configured to consume external servers",
      "server": "Separate IDE feature, not the client role itself",
      "gatewayOrPlatformRole": "IDE/agent policy platform",
      "deployment": "stdio, Streamable HTTP and legacy SSE",
      "capabilityNotes": "Configured MCP tools may be passed to Junie, Claude Agent, Codex or Copilot integrations",
      "roleInterpretation": "AI Assistant is the host/client side of the JetBrains product suite",
      "packageSourceIds": [
        "S057",
        "S059",
        "S060"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S274",
        "S276",
        "S277"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT15",
      "product": "JetBrains IDE integrated MCP Server",
      "organization": "JetBrains",
      "host": "No in this role",
      "client": "No in this role",
      "server": "Yes",
      "gatewayOrPlatformRole": "IDE tool provider",
      "deployment": "IDE-hosted server; external-client configuration is available for SSE, stdio, or HTTP Stream",
      "capabilityNotes": "Exposes IDE/project tools to external clients; enabled tools are configurable",
      "roleInterpretation": "Same IDE suite can implement a server role distinct from AI Assistant's client role",
      "packageSourceIds": [
        "S058",
        "S059"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S275",
        "S276"
      ],
      "liveCheck": "Required",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": [
        "https://www.jetbrains.com/help/pycharm/mcp-server.html"
      ],
      "editorialCorrection": "First-party product documentation rechecked and normalized on 2026-08-25; raw package values remain preserved in the archive."
    },
    {
      "recordId": "R5-PRODUCT16",
      "product": "Custom application built with an official SDK",
      "organization": "Independent developer",
      "host": "Optional and common",
      "client": "Optional and common",
      "server": "Optional",
      "gatewayOrPlatformRole": "Architecture-dependent",
      "deployment": "Any supported transport",
      "capabilityNotes": "An SDK can instantiate one or several roles; the library alone is none of them",
      "roleInterpretation": "Classify the running component, not the dependency name",
      "packageSourceIds": [
        "S026",
        "S029",
        "S032",
        "S033"
      ],
      "supplementalSourceIds": [],
      "sourceIds": [
        "S252",
        "S167",
        "S256",
        "S257"
      ],
      "liveCheck": "Periodically review",
      "checkedAt": "2026-08-25",
      "currentSourceUrls": []
    }
  ]
}