agent-client-protocol-rmcp 0.11.3

rmcp integration for Agent Client Protocol MCP servers
Documentation

agent-client-protocol-rmcp

rmcp integration for Agent Client Protocol MCP servers.

Overview

This crate bridges rmcp-based MCP server implementations with the ACP MCP server framework from agent-client-protocol. It lets you define MCP tools in Rust or use any rmcp service as an MCP server in an ACP proxy.

Usage

Use the McpServerExt trait to build an MCP server with tools:

use agent_client_protocol::mcp_server::McpServer;
use agent_client_protocol_rmcp::McpServerExt;

let server = McpServer::builder("my-tools").build();

Or create an MCP server from an rmcp service:

use agent_client_protocol::mcp_server::McpServer;
use agent_client_protocol_rmcp::McpServerExt;

let server = McpServer::from_rmcp("my-server", MyRmcpService::new);

// Use as a handler in a proxy
Proxy.builder()
    .with_mcp_server(server)
    .connect_to(transport)
    .await?;

Why a Separate Crate?

This crate is separate from agent-client-protocol to avoid coupling the core protocol crate to the rmcp dependency. This allows:

  • agent-client-protocol to remain focused on the ACP protocol
  • agent-client-protocol-rmcp to track rmcp updates independently
  • Breaking changes in rmcp only require updating this crate

Related Crates

License

Apache-2.0