[mcp] Support MCP Apps part 1. (#16082)

- [x] Add `mcpResource/read` method to read mcp resource.
This commit is contained in:
Matthew Zeng
2026-04-06 19:17:14 -07:00
committed by GitHub
parent ee12772e80
commit 5fe9ef06ce
20 changed files with 754 additions and 2 deletions

View File

@@ -22,6 +22,7 @@ use codex_protocol::protocol::Submission;
use codex_protocol::protocol::TokenUsage;
use codex_protocol::protocol::W3cTraceContext;
use codex_protocol::user_input::UserInput;
use rmcp::model::ReadResourceRequestParams;
use std::path::PathBuf;
use tokio::sync::Mutex;
use tokio::sync::watch;
@@ -199,6 +200,26 @@ impl CodexThread {
self.codex.thread_config_snapshot().await
}
pub async fn read_mcp_resource(
&self,
server: &str,
uri: &str,
) -> anyhow::Result<serde_json::Value> {
let result = self
.codex
.session
.read_resource(
server,
ReadResourceRequestParams {
meta: None,
uri: uri.to_string(),
},
)
.await?;
Ok(serde_json::to_value(result)?)
}
pub fn enabled(&self, feature: Feature) -> bool {
self.codex.enabled(feature)
}