main
md 33 lines 1.19 KB
Rendered Raw
1 # ed-mcp
2
3 MCP client glue over [`rmcp`](https://crates.io/crates/rmcp), the official Rust SDK, for
4 [Ed](https://crates.io/crates/ed-agent) agents.
5
6 `rmcp` is the client. This crate owns what every agent was writing around it: server
7 configuration (stdio child processes and streamable HTTP with an optional bearer token),
8 `mcp__<server>__<tool>` namespacing, per-server timeouts, progress and cancellation, and read-only
9 gating from `readOnlyHint`. A server that fails to start is logged and left out.
10
11 ```rust
12 use ed_mcp::{ClientInfo, McpToolset, ServerSpec, ToolsetConfig};
13
14 let spec = ServerSpec::http("mail", "https://api.example.com/v1/mcp").with_bearer(token);
15 let tools = McpToolset::connect_specs(
16 ToolsetConfig::new(ClientInfo::new("my-app", "1.0")),
17 &[spec],
18 &[],
19 )
20 .await;
21 ```
22
23 ## Features
24
25 - `acp`: map `McpServer` lists from an Agent Client Protocol `session/new` request.
26 - `agent`: `McpExecutor` serves a toolset to Ed as tools, with risk from `readOnlyHint` plus a
27 host override list, and optional unprefixed names for single-server apps.
28 - `test-server`: a scriptable MCP server for tests.
29
30 ## Copyright
31
32 © 2026 [Onde Inference](https://ondeinference.com).
33 Licensed under MIT or Apache-2.0.