pub struct McpServer<Counterpart: Role, Run = NullRun> { /* private fields */ }Expand description
A runtime-agnostic MCP server.
McpServer wraps an McpServerConnect
implementation. A server whose counterpart is role::mcp::Client can be
connected directly as a standalone MCP component. With the
unstable_mcp_over_acp feature, servers can instead be attached to ACP
session setup through Builder::with_mcp_server or
SessionBuilder::with_mcp_server.
§Creating an MCP Server
The agent-client-protocol-rmcp crate provides builder APIs for MCP tools
backed by the rmcp crate.
Or implement McpServerConnect for custom server behavior:
ⓘ
let server = McpServer::new(MyCustomServerConnect, NullRun);Implementations§
Source§impl<Counterpart: Role, Run> McpServer<Counterpart, Run>where
Run: RunWithConnectionTo<Counterpart>,
impl<Counterpart: Role, Run> McpServer<Counterpart, Run>where
Run: RunWithConnectionTo<Counterpart>,
Sourcepub fn new(c: impl McpServerConnect<Counterpart>, runner: Run) -> Self
pub fn new(c: impl McpServerConnect<Counterpart>, runner: Run) -> Self
Create an MCP server from something that implements the McpServerConnect trait.
§See also
See agent-client-protocol-rmcp to construct MCP servers from Rust code
with rmcp.
Trait Implementations§
Auto Trait Implementations§
impl<Counterpart, Run = NullRun> !RefUnwindSafe for McpServer<Counterpart, Run>
impl<Counterpart, Run = NullRun> !UnwindSafe for McpServer<Counterpart, Run>
impl<Counterpart, Run> Freeze for McpServer<Counterpart, Run>where
Run: Freeze,
impl<Counterpart, Run> Send for McpServer<Counterpart, Run>where
Run: Send,
impl<Counterpart, Run> Sync for McpServer<Counterpart, Run>where
Run: Sync,
impl<Counterpart, Run> Unpin for McpServer<Counterpart, Run>
impl<Counterpart, Run> UnsafeUnpin for McpServer<Counterpart, Run>where
Run: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Converts this value into a three-state builder argument.
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Converts this value into an optional builder argument.