mirror of
https://github.com/openai/codex.git
synced 2026-06-01 19:02:59 +00:00
Add MCP server context to otel tool_result logs (#12267)
Summary - capture the origin for each configured MCP server and expose it via the connection manager - plumb MCP server name/origin into tool logging and emit codex.tool_result events with those fields - add unit coverage for origin parsing and extend OTEL tests to assert empty MCP fields for non-MCP tools - currently not logging full urls or url paths to prevent logging potentially sensitive data Testing - Not run (not requested)
This commit is contained in:
@@ -102,6 +102,21 @@ impl ToolRegistry {
|
||||
sandbox_policy_tag(&invocation.turn.sandbox_policy),
|
||||
),
|
||||
];
|
||||
let (mcp_server, mcp_server_origin) = match &invocation.payload {
|
||||
ToolPayload::Mcp { server, .. } => {
|
||||
let manager = invocation
|
||||
.session
|
||||
.services
|
||||
.mcp_connection_manager
|
||||
.read()
|
||||
.await;
|
||||
let origin = manager.server_origin(server).map(str::to_owned);
|
||||
(Some(server.clone()), origin)
|
||||
}
|
||||
_ => (None, None),
|
||||
};
|
||||
let mcp_server_ref = mcp_server.as_deref();
|
||||
let mcp_server_origin_ref = mcp_server_origin.as_deref();
|
||||
|
||||
let handler = match self.handler(tool_name.as_ref()) {
|
||||
Some(handler) => handler,
|
||||
@@ -116,6 +131,8 @@ impl ToolRegistry {
|
||||
false,
|
||||
&message,
|
||||
&metric_tags,
|
||||
mcp_server_ref,
|
||||
mcp_server_origin_ref,
|
||||
);
|
||||
return Err(FunctionCallError::RespondToModel(message));
|
||||
}
|
||||
@@ -131,6 +148,8 @@ impl ToolRegistry {
|
||||
false,
|
||||
&message,
|
||||
&metric_tags,
|
||||
mcp_server_ref,
|
||||
mcp_server_origin_ref,
|
||||
);
|
||||
return Err(FunctionCallError::Fatal(message));
|
||||
}
|
||||
@@ -146,6 +165,8 @@ impl ToolRegistry {
|
||||
&call_id_owned,
|
||||
log_payload.as_ref(),
|
||||
&metric_tags,
|
||||
mcp_server_ref,
|
||||
mcp_server_origin_ref,
|
||||
|| {
|
||||
let handler = handler.clone();
|
||||
let output_cell = &output_cell;
|
||||
|
||||
Reference in New Issue
Block a user