Skip to content

Unclear purpose or source of the repository.id property #173

Description

@joelverhagen

Describe the bug

In the OpenAPI YAML there is a repository.id required property. It is required in the server.json schema too.

Is this generated by the MCP registry? Or owned by the source forge (e.g. github)? I am guessing either this is generated by the MCP registry, in which case it should not be required in the server.json schema, or it is defined by the source forge and recorded here to prevent resurrection attacks.

The example values look kind of like UUIDs but GitHub has numeric or GraphQL style IDs. I am not sure what to make of it.

The publisher tool does not require it:

"repository": {
"url": "https://github.com/<owner>/<server-name>",
"source": "github"
},

But maybe that is an oversight or because the tool can compute it using the GH context akin to:

> gh api repos/modelcontextprotocol/registry --jq '.id'
927890076

To Reproduce

The YAML OpenAPI schema has this, but no description:

Repository:
type: object
required:
- url
- source
- id

The JSON schema has this, but no description:

"Repository": {
"type": "object",
"required": [
"url",
"source",
"id"
],

Expected behavior

I would like to understand!

Activity

  1. tadasant commented on Jul 9, 2025

    @tadasant
    Member

    The intent is this:

    Or owned by the source forge (e.g. github)?

    We want to store an id, not just a repository name, because it is actually quite common for MCP servers to move repository names (the common case is that someone starts an MCP server as a personal project and then "promotes" it to their organization, thus changing the GitHub owner, but an operation which should retain the GitHub id).

    PR to improve documentation around this would be very welcome 🙏

  2. joelverhagen commented on Jul 10, 2025

    @joelverhagen
    ContributorAuthor

    PR to improve documentation around this would be very welcome 🙏

    #174

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions