Программный интерфейс
/web_api/mcp_call/execute
/web_api/mcp_call/execute
Страница собрана из снимка JSON Schema в репозитории документации. Снимок обновляется отдельной командой из каталога основного приложения и при сборке сайта не переписывается.
Запрос
main-app://schemas/api_mcp_testing/mcp_call/execute.request.json
REQUEST /web_api/mcp_call/execute
| Имя | Тип | Обязательное | Ограничение |
|---|---|---|---|
mcp_call_id | integer | Да | minimum 1 |
execution_confirmed | any | Да | - |
Другие поля верхнего уровня запрещены.
Ответ
main-app://schemas/api_mcp_testing/mcp_call/execute.response.json
RESPONSE /web_api/mcp_call/execute
| Имя | Тип | Обязательное | Ограничение |
|---|---|---|---|
api_code | integer | Да | const 200 |
api_result | object | Да | другие поля допустимы |
empty | boolean | Нет | - |
Другие поля верхнего уровня запрещены.
api_result
| Имя | Тип | Обязательное | Ограничение |
|---|---|---|---|
mcp_call_result_id | integer | Нет | minimum 0 |
mcp_call_id | integer | Нет | minimum 0 |
mcp_server_id | integer | Нет | minimum 0 |
mcp_server_snapshot_id | integer | Нет | minimum 0 |
team_id | integer | Нет | minimum 0 |
project_id | integer | Нет | minimum 0 |
mcp_call_result_execution | enum | Нет | "COMPLETED", "NOT_COMPLETED" |
mcp_call_result_code | enum | Нет | "SUCCESS", "TOOL_ERROR", "ADDRESS_DENIED", "REDIRECT_DENIED", "TIMEOUT", "NETWORK", "RATE_LIMITED", "AUTH_FAILED", "INSUFFICIENT_SCOPE", "PROTOCOL_ERROR", "RESPONSE_UNREADABLE", "RESPONSE_TOO_LARGE", "NOT_FINAL" |
output_capture_status | enum | Нет | "EMPTY", "CAPTURED", "UNSUPPORTED" |
output_check_status | enum | Нет | "NOT_APPLICABLE", "VALID", "INVALID" |
content_capture_status | enum | Нет | "FULL", "UNSTORED" |
executed_url | string | Нет | maxLength 2048 |
protocol_adapter_version | string | Нет | maxLength 128 |
protocol_revision | string | Нет | - |
http_status | integer | null | Нет | minimum 0 |
response_bytes | integer | null | Нет | minimum 0 |
catalog_hash | string | Нет | - |
credential_generation | integer | Нет | minimum 0 |
access_subject | string | null | Нет | maxLength 512 |
redaction_policy_version | string | Нет | maxLength 32 |
error_message | string | null | Нет | - |
started_at | string | Нет | - |
finished_at | string | Нет | - |
duration_ms | integer | Нет | minimum 0 |
created_by_user_id | integer | Нет | minimum 0 |
created_at | string | Нет | - |
Исходная схема
Файлы ниже скопированы из снимка без изменений. Фрагмент по $ref приведён отдельным блоком, схемы не сливаются.
Запрос: main-app://schemas/api_mcp_testing/mcp_call/execute.request.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/api_mcp_testing/mcp_call/execute.request.json",
"title": "REQUEST /web_api/mcp_call/execute",
"$comment": "execution_confirmed must be a user-session confirmation. A call from the MCP interface is refused.",
"type": "object",
"additionalProperties": false,
"required": ["mcp_call_id", "execution_confirmed"],
"properties": {
"mcp_call_id": { "type": "integer", "minimum": 1 },
"execution_confirmed": true
}
}Ответ: main-app://schemas/api_mcp_testing/mcp_call/execute.response.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/api_mcp_testing/mcp_call/execute.response.json",
"title": "RESPONSE /web_api/mcp_call/execute",
"allOf": [
{ "$ref": "main-app://schemas/_shared/envelope-success.json" },
{
"type": "object",
"properties": {
"api_result": { "$ref": "main-app://schemas/api_mcp_testing/mcp_call_result/row.json" }
}
}
]
}Фрагмент: main-app://schemas/_shared/envelope-success.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/_shared/envelope-success.json",
"title": "Canonical success envelope",
"type": "object",
"required": ["api_code", "api_result"],
"properties": {
"api_code": { "const": 200 },
"api_result": true,
"empty": { "type": "boolean" }
},
"additionalProperties": false
}Фрагмент: main-app://schemas/api_mcp_testing/mcp_call_result/row.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/api_mcp_testing/mcp_call_result/row.json",
"title": "Row mcp_call_result",
"$comment": "Generated from the DB model structure_scheme. Edit the model, then run node fill-from-structure-scheme.mjs.",
"type": "object",
"additionalProperties": true,
"properties": {
"mcp_call_result_id": {
"type": "integer",
"minimum": 0
},
"mcp_call_id": {
"type": "integer",
"minimum": 0
},
"mcp_server_id": {
"type": "integer",
"minimum": 0
},
"mcp_server_snapshot_id": {
"type": "integer",
"minimum": 0
},
"team_id": {
"type": "integer",
"minimum": 0
},
"project_id": {
"type": "integer",
"minimum": 0
},
"mcp_call_result_execution": {
"type": "string",
"enum": [
"COMPLETED",
"NOT_COMPLETED"
]
},
"mcp_call_result_code": {
"type": "string",
"enum": [
"SUCCESS",
"TOOL_ERROR",
"ADDRESS_DENIED",
"REDIRECT_DENIED",
"TIMEOUT",
"NETWORK",
"RATE_LIMITED",
"AUTH_FAILED",
"INSUFFICIENT_SCOPE",
"PROTOCOL_ERROR",
"RESPONSE_UNREADABLE",
"RESPONSE_TOO_LARGE",
"NOT_FINAL"
]
},
"output_capture_status": {
"type": "string",
"enum": [
"EMPTY",
"CAPTURED",
"UNSUPPORTED"
]
},
"output_check_status": {
"type": "string",
"enum": [
"NOT_APPLICABLE",
"VALID",
"INVALID"
]
},
"content_capture_status": {
"type": "string",
"enum": [
"FULL",
"UNSTORED"
]
},
"executed_url": {
"type": "string",
"maxLength": 2048
},
"protocol_adapter_version": {
"type": "string",
"maxLength": 128
},
"protocol_revision": {
"type": "string"
},
"http_status": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"response_bytes": {
"type": [
"integer",
"null"
],
"minimum": 0
},
"catalog_hash": {
"type": "string"
},
"credential_generation": {
"type": "integer",
"minimum": 0
},
"access_subject": {
"type": [
"string",
"null"
],
"maxLength": 512
},
"redaction_policy_version": {
"type": "string",
"maxLength": 32
},
"error_message": {
"type": [
"string",
"null"
]
},
"started_at": {
"type": "string",
"description": "timestamp Y-m-d H:i:s"
},
"finished_at": {
"type": "string",
"description": "timestamp Y-m-d H:i:s"
},
"duration_ms": {
"type": "integer",
"minimum": 0
},
"created_by_user_id": {
"type": "integer",
"minimum": 0
},
"created_at": {
"type": "string",
"description": "timestamp Y-m-d H:i:s"
}
}
}Страница не помогла?