Expand description
Transport-agnostic MCP (Model Context Protocol) client for Everruns agents.
everruns-mcp is part of the Everruns ecosystem. It
is the shared MCP client used across Everruns hosts (runtime, worker, and
server), so every host wires MCP the same way without duplicating protocol
logic.
The crate owns the JSON-RPC client (HTTP, and optional stdio behind the
stdio feature), credential acquisition (McpAuthProvider), result
mapping, and tool execution (McpExecutor, which implements
everruns_core::McpToolInvoker so MCP tools register as regular Tools).
Wire types and tool-name helpers live in everruns-core and are reused
as-is.
§Example
use everruns_mcp::{McpClient, McpConnection};
let client = McpClient::direct();
let connection = McpConnection::http("docs", "https://example.com/mcp");
let tools = client.discover(&connection).await?;
let result = client
.call(&connection, &tools[0].name, serde_json::json!({}))
.await?;Re-exports§
pub use auth::McpAuthProvider;pub use auth::McpAuthRequest;pub use auth::McpCredential;pub use auth::NoAuthProvider;pub use auth::StaticAuthProvider;pub use client::McpClient;pub use executor::McpConnectionResolver;pub use executor::McpExecutor;pub use executor::StaticConnectionResolver;pub use http::HttpTransport;pub use http::http_call_tool;pub use http::http_list_tools;pub use http::http_send_rpc;pub use protocol::Negotiated;pub use result::extract_json_from_response;pub use result::map_tool_call_result;pub use transport::McpConnection;pub use transport::McpEndpoint;pub use transport::McpTransport;
Modules§
- auth
- Pluggable MCP credential acquisition (specs/runtime-mcp.md D3).
- client
- High-level MCP client: resolves credentials via a
McpAuthProvider, selects the transport for a connection’s endpoint, and maps results. - executor
- MCP tool execution.
- http
- HTTP (Streamable-HTTP) MCP transport with multi-era protocol support.
- protocol
- Multi-era MCP protocol support (specs/mcp-servers.md “Multi-era protocol support”).
- result
- MCP
tools/callresult → internalToolResultmapping. - transport
- Transport abstraction over MCP connections (specs/runtime-mcp.md D2).