Tracks SEP-2127 (MCP Server Cards) as an experimental extension while the SEP
itself is under review. The schema.ts is structured to be lifted directly into
schema/draft/schema.ts of the main spec when Server Cards graduate -- only the
inlined MetaObject and Icon definitions need to be removed during migration.
- schema.ts: ServerCard, Server, Repository, Remote, Package, Argument, Input,
KeyValueInput, etc. plus inlined MetaObject and Icon
- scripts/generate-schema.ts: typescript-json-schema with 2020-12 transforms
- scripts/validate-examples.ts: ajv validator over examples/{ServerCard,Server}/
- examples/: 2 valid + 4 invalid Server Card cases, 1 valid Server case
- README: status, layout, schema URL conventions, graduation plan
- CI workflow: check + validate + format on every PR
38 lines
1.1 KiB
JSON
38 lines
1.1 KiB
JSON
{
|
|
"$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
|
|
"name": "example-org/with-remote",
|
|
"version": "2.1.0",
|
|
"description": "Server Card with a templated remote endpoint and headers.",
|
|
"title": "Example Remote Server",
|
|
"websiteUrl": "https://example.com",
|
|
"remotes": [
|
|
{
|
|
"type": "streamable-http",
|
|
"url": "https://{tenant}.example.com/mcp",
|
|
"headers": [
|
|
{
|
|
"name": "Authorization",
|
|
"description": "Bearer token for the remote endpoint.",
|
|
"isRequired": true,
|
|
"isSecret": true,
|
|
"value": "Bearer {token}",
|
|
"variables": {
|
|
"token": {
|
|
"description": "API token issued by Example Inc.",
|
|
"isRequired": true,
|
|
"isSecret": true
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"variables": {
|
|
"tenant": {
|
|
"description": "Tenant subdomain.",
|
|
"isRequired": true,
|
|
"default": "default"
|
|
}
|
|
},
|
|
"supportedProtocolVersions": ["2025-06-18", "2025-11-25"]
|
|
}
|
|
]
|
|
}
|