Update server.schema.json from registry repo (#4)
Synced from modelcontextprotocol/registry 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
9e385a46f2
commit
51b2b7988b
1 changed files with 41 additions and 25 deletions
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
|
||||
"title": "MCP Server Detail",
|
||||
"$ref": "#/$defs/ServerDetail",
|
||||
"$defs": {
|
||||
"$ref": "#/definitions/ServerDetail",
|
||||
"definitions": {
|
||||
"Repository": {
|
||||
"type": "object",
|
||||
"description": "Repository metadata for the MCP server source code. Enables users and security experts to inspect the code, improving transparency.",
|
||||
|
|
@ -65,19 +65,32 @@
|
|||
"description": "Server lifecycle status. 'deprecated' indicates the server is no longer recommended for new usage. 'deleted' indicates the server should never be installed and existing installations should be uninstalled - this is rare, and usually indicates malware or a legal takedown."
|
||||
},
|
||||
"repository": {
|
||||
"$ref": "#/$defs/Repository",
|
||||
"$ref": "#/definitions/Repository",
|
||||
"description": "Optional repository metadata for the MCP server source code. Recommended for transparency and security inspection."
|
||||
},
|
||||
"version": {
|
||||
"type": "string",
|
||||
"maxLength": 255,
|
||||
"example": "1.0.2",
|
||||
"description": "Version string for this server. SHOULD follow semantic versioning (e.g., '1.0.2', '2.1.0-alpha'). Equivalent of Implementation.version in MCP specification. Non-semantic versions are allowed but may not sort predictably."
|
||||
"description": "Version string for this server. SHOULD follow semantic versioning (e.g., '1.0.2', '2.1.0-alpha'). Equivalent of Implementation.version in MCP specification. Non-semantic versions are allowed but may not sort predictably. Version ranges are rejected (e.g., '^1.2.3', '~1.2.3', '>=1.2.3', '1.x', '1.*')."
|
||||
},
|
||||
"website_url": {
|
||||
"type": "string",
|
||||
"format": "uri",
|
||||
"description": "Optional URL to the server's homepage, documentation, or project website. This provides a central link for users to learn more about the server. Particularly useful when the server has custom installation instructions or setup requirements.",
|
||||
"example": "https://modelcontextprotocol.io/examples"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Package": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"registry_type",
|
||||
"identifier",
|
||||
"version",
|
||||
"transport"
|
||||
],
|
||||
"properties": {
|
||||
"registry_type": {
|
||||
"type": "string",
|
||||
|
|
@ -97,7 +110,10 @@
|
|||
},
|
||||
"version": {
|
||||
"type": "string",
|
||||
"description": "Package version",
|
||||
"description": "Package version. Must be a specific version. Version ranges are rejected (e.g., '^1.2.3', '~1.2.3', '>=1.2.3', '1.x', '1.*').",
|
||||
"not": {
|
||||
"const": "latest"
|
||||
},
|
||||
"example": "1.0.2",
|
||||
"minLength": 1
|
||||
},
|
||||
|
|
@ -120,13 +136,13 @@
|
|||
"transport": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/$defs/StdioTransport"
|
||||
"$ref": "#/definitions/StdioTransport"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/StreamableHttpTransport"
|
||||
"$ref": "#/definitions/StreamableHttpTransport"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/SseTransport"
|
||||
"$ref": "#/definitions/SseTransport"
|
||||
}
|
||||
],
|
||||
"description": "Transport protocol configuration for the package"
|
||||
|
|
@ -135,21 +151,21 @@
|
|||
"type": "array",
|
||||
"description": "A list of arguments to be passed to the package's runtime command (such as docker or npx). The `runtime_hint` field should be provided when `runtime_arguments` are present.",
|
||||
"items": {
|
||||
"$ref": "#/$defs/Argument"
|
||||
"$ref": "#/definitions/Argument"
|
||||
}
|
||||
},
|
||||
"package_arguments": {
|
||||
"type": "array",
|
||||
"description": "A list of arguments to be passed to the package's binary.",
|
||||
"items": {
|
||||
"$ref": "#/$defs/Argument"
|
||||
"$ref": "#/definitions/Argument"
|
||||
}
|
||||
},
|
||||
"environment_variables": {
|
||||
"type": "array",
|
||||
"description": "A mapping of environment variables to be set when running the package.",
|
||||
"items": {
|
||||
"$ref": "#/$defs/KeyValueInput"
|
||||
"$ref": "#/definitions/KeyValueInput"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -202,7 +218,7 @@
|
|||
"InputWithVariables": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/$defs/Input"
|
||||
"$ref": "#/definitions/Input"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
|
|
@ -211,7 +227,7 @@
|
|||
"type": "object",
|
||||
"description": "A map of variable names to their values. Keys in the input `value` that are wrapped in `{curly_braces}` will be replaced with the corresponding variable values.",
|
||||
"additionalProperties": {
|
||||
"$ref": "#/$defs/Input"
|
||||
"$ref": "#/definitions/Input"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -222,7 +238,7 @@
|
|||
"description": "A positional input is a value inserted verbatim into the command line.",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/$defs/InputWithVariables"
|
||||
"$ref": "#/definitions/InputWithVariables"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
|
|
@ -267,7 +283,7 @@
|
|||
"description": "A command-line `--flag={value}`.",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/$defs/InputWithVariables"
|
||||
"$ref": "#/definitions/InputWithVariables"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
|
|
@ -300,7 +316,7 @@
|
|||
"KeyValueInput": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/$defs/InputWithVariables"
|
||||
"$ref": "#/definitions/InputWithVariables"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
|
|
@ -321,10 +337,10 @@
|
|||
"description": "Warning: Arguments construct command-line parameters that may contain user-provided input. This creates potential command injection risks if clients execute commands in a shell environment. For example, a malicious argument value like ';rm -rf ~/Development' could execute dangerous commands. Clients should prefer non-shell execution methods (e.g., posix_spawn) when possible to eliminate injection risks entirely. Where not possible, clients should obtain consent from users or agents to run the resolved command before execution.",
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/$defs/PositionalArgument"
|
||||
"$ref": "#/definitions/PositionalArgument"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/NamedArgument"
|
||||
"$ref": "#/definitions/NamedArgument"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -368,7 +384,7 @@
|
|||
"type": "array",
|
||||
"description": "HTTP headers to include",
|
||||
"items": {
|
||||
"$ref": "#/$defs/KeyValueInput"
|
||||
"$ref": "#/definitions/KeyValueInput"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -398,7 +414,7 @@
|
|||
"type": "array",
|
||||
"description": "HTTP headers to include",
|
||||
"items": {
|
||||
"$ref": "#/$defs/KeyValueInput"
|
||||
"$ref": "#/definitions/KeyValueInput"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -407,7 +423,7 @@
|
|||
"description": "Schema for a static representation of an MCP server. Used in various contexts related to discovery, installation, and configuration.",
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/$defs/Server"
|
||||
"$ref": "#/definitions/Server"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
|
|
@ -421,7 +437,7 @@
|
|||
"packages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/Package"
|
||||
"$ref": "#/definitions/Package"
|
||||
}
|
||||
},
|
||||
"remotes": {
|
||||
|
|
@ -429,10 +445,10 @@
|
|||
"items": {
|
||||
"anyOf": [
|
||||
{
|
||||
"$ref": "#/$defs/StreamableHttpTransport"
|
||||
"$ref": "#/definitions/StreamableHttpTransport"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/SseTransport"
|
||||
"$ref": "#/definitions/SseTransport"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue