The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
MCP Client Capabilities
Index of all Model Context Protocol (MCP) clients and their capabilities
Install
pip install mcp-client-capabilitiesInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →MCP Client Capabilities
This package strives to be the most up-to-date database of all Model Context Protocol (MCP) clients and their capabilities, to enable MCP servers understand what features an MCP client supports and how to respond to it in order to provide the best user and agent experience. Unfortunately, the MCP protocol capability negotiation during the initial handshake is not sufficient for that—see Background bellow for details.
In other words, this package is the programmatic version of the community MCP clients table.
How it works
This package provides a JSON file called mcp-clients.json that lists all known MCP clients, their metadata and capabilities.
It's a single JSON file to make it easy for multiple programming languages to access the data while enabling TypeScript type safety
for the NPM package.
The JSON file contains an object where keys are client names and values an object with information about the MCP client:
{
// Client name corresponds to `params.clientInfo.name` from the MCP client's `initialize` request, e.g. "ExampleClient"
"<client-name>": {
// Display name of the MCP client, e.g. "Example Client"
title: string,
// URL to the homepage of the client
url: string,
// Corresponds to `params.protocolVersion` from the MCP client's `initialize` request, e.g. "2024-11-05"
protocolVersion: string,
// Present if the client supports accessing server resources,
// whether it can handle their dynamic changes, and whether it can subscribe to resource updates
resources?: { listChanged?: boolean, subscribe?: boolean },
// Present if the client supports accessing server prompts,
// and whether it can handle their dynamic changes
prompts?: { listChanged?: boolean },
// Present if the client supports accessing server tools,
// and whether it can handle their dynamic changes.
tools?: { listChanged?: boolean },
// Present if the client supports elicitation from the server.
elicitation?: object,
// Present if the client supports sampling from an LLM.
sampling?: object,
// Present if the client supports listing its roots,
// and whether it can notify the server about their dynamic changes
roots?: { listChanged?: boolean },
// Present if the client can handle server's argument autocompletion suggestions.
completions?: object,
// Present if the client supports reading log messages from the server.
logging?: object,
},
"<client-name-2>": { ... },
...
}
Note that the client object is inspired by MCP's ClientCapabilites
and ServerCapabilites objects,
and the respective field types are compatible. Additional fields might be added in the future.
IMPORTANT: MCP servers must always prioritize the information received from the MCP client's initalize request
via the params.capabilities field (of type
ClientCapabilites)
to the capabilities information provided by this package, as it will always be more accurate!
Client versioning
Similar plugs
Reverse engineer anything with agents, from app behavior down to native binaries.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io