pub struct MacroServerAdapter<T: MacroServer> { /* private fields */ }Available on crate feature
macros only.Expand description
Adapter that wraps a macro-generated server and implements ToolProvider.
§Example
ⓘ
use mcp::{MacroServerAdapter, McpServer};
#[mcp_server(name = "calculator")]
pub struct Calculator;
#[mcp_server]
impl Calculator {
#[mcp_tool(description = "Add two numbers")]
fn add(&self, a: f64, b: f64) -> f64 {
a + b
}
}
let server = McpServer::builder()
.name("calculator")
.version("1.0.0")
.with_tools_from(MacroServerAdapter::new(Calculator))
.build();Implementations§
Source§impl<T: MacroServer + 'static> MacroServerAdapter<T>
impl<T: MacroServer + 'static> MacroServerAdapter<T>
Trait Implementations§
Source§impl<T: MacroServer + 'static> ToolProvider for MacroServerAdapter<T>
impl<T: MacroServer + 'static> ToolProvider for MacroServerAdapter<T>
Auto Trait Implementations§
impl<T> Freeze for MacroServerAdapter<T>
impl<T> RefUnwindSafe for MacroServerAdapter<T>where
T: RefUnwindSafe,
impl<T> Send for MacroServerAdapter<T>
impl<T> Sync for MacroServerAdapter<T>
impl<T> Unpin for MacroServerAdapter<T>
impl<T> UnwindSafe for MacroServerAdapter<T>where
T: RefUnwindSafe,
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