mirror of
https://github.com/openai/codex.git
synced 2026-04-25 07:05:38 +00:00
Addresses #16244 This was a performance regression introduced when we moved the TUI on top of the app server API. Problem: `/mcp` rebuilt a full MCP inventory through `mcpServerStatus/list`, including resources and resource templates that made the TUI wait on slow inventory probes. Solution: add a lightweight `detail` mode to `mcpServerStatus/list`, have `/mcp` request tools-and-auth only, and cover the fast path with app-server and TUI tests. Testing: Confirmed slow (multi-second) response prior to change and immediate response after change. I considered two options: 1. Change the existing `mcpServerStatus/list` API to accept an optional "details" parameter so callers can request only a subset of the information. 2. Add a separate `mcpServer/list` API that returns only the servers, tools, and auth but omits the resources. I chose option 1, but option 2 is also a reasonable approach.
43 lines
948 B
JSON
43 lines
948 B
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"definitions": {
|
|
"McpServerStatusDetail": {
|
|
"enum": [
|
|
"full",
|
|
"toolsAndAuthOnly"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"properties": {
|
|
"cursor": {
|
|
"description": "Opaque pagination cursor returned by a previous call.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"detail": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/McpServerStatusDetail"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"description": "Controls how much MCP inventory data to fetch for each server. Defaults to `Full` when omitted."
|
|
},
|
|
"limit": {
|
|
"description": "Optional page size; defaults to a server-defined value.",
|
|
"format": "uint32",
|
|
"minimum": 0.0,
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"title": "ListMcpServerStatusParams",
|
|
"type": "object"
|
|
} |