ext-server-card/examples/ServerCard/valid/templated-remote.json
Tadas Antanavicius 7a3ff5d452 Bootstrap repo with TypeScript source-of-truth and generated JSON Schema
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
2026-04-27 19:47:01 +00:00

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"]
}
]
}