validate

Validate MCP server JSON

Validate a server.json file without publishing it to the registry

post/v0.1/validate

Request

  • Base URL: https://registry.modelcontextprotocol.io (the document declares no server; this is the origin it was published from)
  • URL: https://registry.modelcontextprotocol.io/v0.1/validate
  • Auth: none declared

Request body

$schemastring uri required

JSON Schema URI for this server.json format

descriptionstring required

Clear human-readable explanation of server functionality.

namestring required

Server name in reverse-DNS format. Must contain exactly one forward slash separating namespace from server name.

titlestring

Optional human-readable title or display name for the MCP server.

versionstring required

Version string for this server. SHOULD follow semantic versioning.

websiteUrlstring uri

Optional URL to the server's homepage, documentation, or project website.

Example request

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
  "icons": [
    {
      "mimeType": "image/png",
      "src": "https://example.com/icon.png"
    }
  ],
  "name": "io.github.user/weather",
  "packages": [
    {
      "environmentVariables": [
        {
          "name": "SOME_VARIABLE"
        }
      ],
      "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
      "identifier": "@modelcontextprotocol/server-brave-search",
      "packageArguments": [
        {
          "name": "--port",
          "type": "positional",
          "valueHint": "file_path"
        }
      ],
      "registryBaseUrl": "https://registry.npmjs.org",
      "registryType": "npm",
      "runtimeArguments": [
        {
          "name": "--port",
          "type": "positional",
          "valueHint": "file_path"
        }
      ],
      "runtimeHint": "npx",
      "transport": {
        "headers": [
          {
            "name": "SOME_VARIABLE"
          }
        ],
        "type": "stdio",
        "url": "https://api.example.com/mcp"
      },
      "version": "1.0.2"
    }
  ],
  "remotes": [
    {
      "headers": [
        {
          "name": "SOME_VARIABLE"
        }
      ],
      "type": "stdio",
      "url": "https://api.example.com/mcp"
    }
  ],
  "repository": {
    "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
    "source": "github",
    "subfolder": "src/everything",
    "url": "https://github.com/modelcontextprotocol/servers"
  },
  "title": "Weather API",
  "version": "1.0.2",
  "websiteUrl": "https://modelcontextprotocol.io/examples"
}

Response

OK

validboolean required

Changes

No recorded changes to this operation across all 1 revision of this API.