Make MCP resource read threadless (#18292)

## Summary

Making thread id optional so that we can better cache resources for MCPs
for connectors since their resource templates is universal and not
particular to projects.

- Make `mcpServer/resource/read` accept an optional `threadId`
- Read resources from the current MCP config when no thread is supplied
- Keep the existing thread-scoped path when `threadId` is present
- Update the generated schemas, README, and integration coverage

## Testing
- `just write-app-server-schema`
- `just fmt`
- `cargo test -p codex-app-server-protocol`
- `cargo test -p codex-mcp`
- `cargo test -p codex-app-server --test all mcp_resource`
- `just fix -p codex-mcp`
- `just fix -p codex-app-server-protocol`
- `just fix -p codex-app-server`
This commit is contained in:
Matthew Zeng
2026-04-20 19:59:36 -07:00
committed by GitHub
parent 58e7605efc
commit 1132ef887c
11 changed files with 249 additions and 67 deletions

View File

@@ -9685,7 +9685,10 @@
"type": "string"
},
"threadId": {
"type": "string"
"type": [
"string",
"null"
]
},
"uri": {
"type": "string"
@@ -9693,7 +9696,6 @@
},
"required": [
"server",
"threadId",
"uri"
],
"title": "McpResourceReadParams",