[mcp] Support MCP Apps part 3 - Add mcp tool call support. (#17364)

- [x] Add a new app-server method so that MCP Apps can call their own
MCP server directly.
This commit is contained in:
Matthew Zeng
2026-04-10 21:39:19 -07:00
committed by GitHub
parent f8bb088617
commit b7139a7e8f
112 changed files with 871 additions and 238 deletions

View File

@@ -48,6 +48,7 @@ use codex_app_server_protocol::JSONRPCResponse;
use codex_app_server_protocol::ListMcpServerStatusParams;
use codex_app_server_protocol::LoginAccountParams;
use codex_app_server_protocol::McpResourceReadParams;
use codex_app_server_protocol::McpServerToolCallParams;
use codex_app_server_protocol::MockExperimentalMethodParams;
use codex_app_server_protocol::ModelListParams;
use codex_app_server_protocol::PluginInstallParams;
@@ -493,6 +494,15 @@ impl McpProcess {
self.send_request("mcpServer/resource/read", params).await
}
/// Send an `mcpServer/tool/call` JSON-RPC request.
pub async fn send_mcp_server_tool_call_request(
&mut self,
params: McpServerToolCallParams,
) -> anyhow::Result<i64> {
let params = Some(serde_json::to_value(params)?);
self.send_request("mcpServer/tool/call", params).await
}
/// Send a `skills/list` JSON-RPC request.
pub async fn send_skills_list_request(
&mut self,