modelcontextprotocol / modelcontextprotocol/registry

Create Client schema for identifying supported MCP features

Open
#718 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement v1
Dominant language
Go
Stars
7.3k
Forks
994
Avg merge
4d 12h
Merged PRs (30d)
19

Description

Is your feature request related to a problem? Please describe.

This sub-issue covers the following questions from this parent issue:

While the initial scope of the official registry is of course MCP server-oriented, there is a (less pressing) need for similar functionality for MCP clients.

How should we model it in the OpenAPI spec?

Do we need some sort of client.json concept?

Current Problem:

The MCP client documentation (docs/clients.mdx) currently uses a manually-maintained markdown table with 87+ clients. As discussed in PR #1515, this approach has become difficult to maintain and doesn't scale well:

  1. Hard to update: Each feature addition (e.g., transport columns) requires manually editing every row
  2. Inconsistent data: No validation ensures completeness or accuracy
  3. Missing information: Current schema doesn't capture transport support, platform availability, or authentication capabilities

From PR #1515 discussion:

@olaservo: "IMO we need to change the way we store vs present this information before we add more columns. The markdown table is already very clunky and getting very hard to understand and use once there are diffs/PRs which doesn't really motivate others to keep the page up to date."

@theailanguage: "Maybe it could entail moving the data to docs/data/clients.json and a component to render it in docs/components/ClientsTable.jsx so that clients.mdx is clean and acts as a separate "presentation" tool compared to the data "stored" in json?"

Describe the solution you'd like

Define a schema for client metadata that we could using in the MCP client documentation.

Describe alternatives you've considered

Stay with the manually-maintained table, or define the schema totally separately from the registry.

Additional context

Scope

This issue focuses on:

  • ✅ Defining the schema for client metadata
  • ✅ Establishing file structure and naming conventions

This issue explicitly excludes:

  • ❌ Fully incorporating clients into the registry API/backend
Key Questions

Schema scope: What metadata should we capture?

  • Current table columns: Resources, Prompts, Tools, Discovery, Sampling, Roots, Elicitation
  • Missing from table: Transport support (STDIO, SSE, Streamable HTTP) per PR #1515
  • Additional useful fields: Supported platforms, OAuth compatibility details

Support status granularity: How do we represent support levels?

  • Current docs use: ✅ (yes), ❌ (no), ❓ (unknown), ⚠️ (partial)
  • Need to model these states in the schema?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/clients.mdx and the linked parent issue and PR #1515 to understand the current client table and its proposed data separation. Review the possible docs/data/clients.json and docs/components/ClientsTable.jsx structure, then define the metadata fields, support-status values, naming conventions, and file structure without extending the registry API/backend.

Written by the indexing model from the issue text.

Assessment

Tech stack
json, openapi
Domain
documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.