- [x] Switch to use MCP style elicitation payload for mcp tool approvals. - [ ] TODO: Update the UI to support the full spec.
609 lines
No EOL
13 KiB
JSON
609 lines
No EOL
13 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"definitions": {
|
|
"McpElicitationArrayType": {
|
|
"enum": [
|
|
"array"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"McpElicitationBooleanSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"type": [
|
|
"boolean",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationBooleanType"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationBooleanType": {
|
|
"enum": [
|
|
"boolean"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"McpElicitationConstOption": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"const": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"const",
|
|
"title"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationEnumSchema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpElicitationSingleSelectEnumSchema"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpElicitationMultiSelectEnumSchema"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpElicitationLegacyTitledEnumSchema"
|
|
}
|
|
]
|
|
},
|
|
"McpElicitationLegacyTitledEnumSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enum": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"enumNames": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationStringType"
|
|
}
|
|
},
|
|
"required": [
|
|
"enum",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationMultiSelectEnumSchema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpElicitationUntitledMultiSelectEnumSchema"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpElicitationTitledMultiSelectEnumSchema"
|
|
}
|
|
]
|
|
},
|
|
"McpElicitationNumberSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"format": "double",
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"maximum": {
|
|
"format": "double",
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"minimum": {
|
|
"format": "double",
|
|
"type": [
|
|
"number",
|
|
"null"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationNumberType"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationNumberType": {
|
|
"enum": [
|
|
"number",
|
|
"integer"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"McpElicitationObjectType": {
|
|
"enum": [
|
|
"object"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"McpElicitationPrimitiveSchema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpElicitationEnumSchema"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpElicitationStringSchema"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpElicitationNumberSchema"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpElicitationBooleanSchema"
|
|
}
|
|
]
|
|
},
|
|
"McpElicitationSchema": {
|
|
"additionalProperties": false,
|
|
"description": "Typed form schema for MCP `elicitation/create` requests.\n\nThis matches the `requestedSchema` shape from the MCP 2025-11-25 `ElicitRequestFormParams` schema.",
|
|
"properties": {
|
|
"$schema": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"properties": {
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/McpElicitationPrimitiveSchema"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"required": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationObjectType"
|
|
}
|
|
},
|
|
"required": [
|
|
"properties",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationSingleSelectEnumSchema": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpElicitationUntitledSingleSelectEnumSchema"
|
|
},
|
|
{
|
|
"$ref": "#/definitions/McpElicitationTitledSingleSelectEnumSchema"
|
|
}
|
|
]
|
|
},
|
|
"McpElicitationStringFormat": {
|
|
"enum": [
|
|
"email",
|
|
"uri",
|
|
"date",
|
|
"date-time"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"McpElicitationStringSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"format": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpElicitationStringFormat"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"maxLength": {
|
|
"format": "uint32",
|
|
"minimum": 0.0,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"minLength": {
|
|
"format": "uint32",
|
|
"minimum": 0.0,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationStringType"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationStringType": {
|
|
"enum": [
|
|
"string"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"McpElicitationTitledEnumItems": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"anyOf": {
|
|
"items": {
|
|
"$ref": "#/definitions/McpElicitationConstOption"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"anyOf"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationTitledMultiSelectEnumSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"items": {
|
|
"$ref": "#/definitions/McpElicitationTitledEnumItems"
|
|
},
|
|
"maxItems": {
|
|
"format": "uint64",
|
|
"minimum": 0.0,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"minItems": {
|
|
"format": "uint64",
|
|
"minimum": 0.0,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationArrayType"
|
|
}
|
|
},
|
|
"required": [
|
|
"items",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationTitledSingleSelectEnumSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"oneOf": {
|
|
"items": {
|
|
"$ref": "#/definitions/McpElicitationConstOption"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationStringType"
|
|
}
|
|
},
|
|
"required": [
|
|
"oneOf",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationUntitledEnumItems": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"enum": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationStringType"
|
|
}
|
|
},
|
|
"required": [
|
|
"enum",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationUntitledMultiSelectEnumSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": [
|
|
"array",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"items": {
|
|
"$ref": "#/definitions/McpElicitationUntitledEnumItems"
|
|
},
|
|
"maxItems": {
|
|
"format": "uint64",
|
|
"minimum": 0.0,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"minItems": {
|
|
"format": "uint64",
|
|
"minimum": 0.0,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationArrayType"
|
|
}
|
|
},
|
|
"required": [
|
|
"items",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"McpElicitationUntitledSingleSelectEnumSchema": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"default": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"description": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"enum": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"title": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/McpElicitationStringType"
|
|
}
|
|
},
|
|
"required": [
|
|
"enum",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"oneOf": [
|
|
{
|
|
"properties": {
|
|
"_meta": true,
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"enum": [
|
|
"form"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"requestedSchema": {
|
|
"$ref": "#/definitions/McpElicitationSchema"
|
|
}
|
|
},
|
|
"required": [
|
|
"message",
|
|
"mode",
|
|
"requestedSchema"
|
|
],
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"_meta": true,
|
|
"elicitationId": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"mode": {
|
|
"enum": [
|
|
"url"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"elicitationId",
|
|
"message",
|
|
"mode",
|
|
"url"
|
|
],
|
|
"type": "object"
|
|
}
|
|
],
|
|
"properties": {
|
|
"serverName": {
|
|
"type": "string"
|
|
},
|
|
"threadId": {
|
|
"type": "string"
|
|
},
|
|
"turnId": {
|
|
"description": "Active Codex turn when this elicitation was observed, if app-server could correlate one.\n\nThis is nullable because MCP models elicitation as a standalone server-to-client request identified by the MCP server request id. It may be triggered during a turn, but turn context is app-server correlation rather than part of the protocol identity of the elicitation itself.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"serverName",
|
|
"threadId"
|
|
],
|
|
"title": "McpServerElicitationRequestParams",
|
|
"type": "object"
|
|
} |