Skip to content
Developer Preview

SessionMcpServerConfig

One native MCP server supplied at session construction (ADR 32760 D1).

Closed union: a validator MUST reject an undeclared transport arm — the server fails session/start decode on an unknown transport, and a future transport arrives as an explicit schema addition.

  • args
  • command
  • env
  • framing
  • headers
  • mode
  • transport
  • url
Source

schema/msp/experimental/msp.schema.json#/types/SessionMcpServerConfig

{
"description": "One native MCP server supplied at session construction (ADR 32760 D1).\n\n**Closed union**: a validator MUST reject an undeclared `transport` arm — the\nserver fails `session/start` decode on an unknown transport, and a future\ntransport arrives as an explicit schema addition.",
"oneOf": [
{
"properties": {
"args": {
"description": "Ordered child arguments.",
"items": {
"type": "string"
},
"type": "array"
},
"command": {
"description": "Executable name or path. Configuration diagnostics never echo it.",
"type": "string"
},
"env": {
"additionalProperties": {
"type": "string"
},
"description": "Explicit child environment additions.",
"type": "object"
},
"framing": {
"$ref": "#/$defs/SessionMcpStdioFraming",
"description": "Stdio framing mode; defaults to automatic detection."
},
"mode": {
"$ref": "#/$defs/SessionMcpServerMode",
"description": "Required/optional startup posture; defaults to required."
},
"transport": {
"const": "stdio",
"type": "string"
}
},
"required": [
"command",
"transport"
],
"type": "object"
},
{
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"description": "Explicit request headers.",
"type": "object"
},
"mode": {
"$ref": "#/$defs/SessionMcpServerMode",
"description": "Required/optional startup posture; defaults to required."
},
"transport": {
"const": "streamableHttp",
"type": "string"
},
"url": {
"description": "HTTP(S) endpoint. Configuration diagnostics never echo it.",
"type": "string"
}
},
"required": [
"transport",
"url"
],
"type": "object"
}
],
"x-msp-openness": "closed"
}