Crate rmcp_macros

Crate rmcp_macros 

Source
Expand description

§rmcp-macros

Crates.io Documentation

rmcp-macros is a procedural macro library for the Rust Model Context Protocol (RMCP) SDK, providing macros that facilitate the development of RMCP applications.

§Available Macros

MacroDescription
#[tool]Mark a function as an MCP tool handler
#[tool_router]Generate a tool router from an impl block
#[tool_handler]Generate call_tool and list_tools handler methods
#[prompt]Mark a function as an MCP prompt handler
#[prompt_router]Generate a prompt router from an impl block
#[prompt_handler]Generate get_prompt and list_prompts handler methods
#[task_handler]Wire up the task lifecycle on top of an OperationProcessor

§Quick Example

use rmcp::{tool, tool_router, tool_handler, ServerHandler, model::*};

#[derive(Clone)]
struct MyServer {
    tool_router: rmcp::handler::server::tool::ToolRouter<Self>,
}

#[tool_router]
impl MyServer {
    #[tool(description = "Say hello")]
    async fn hello(&self) -> String {
        "Hello, world!".into()
    }
}

#[tool_handler]
impl ServerHandler for MyServer {
    fn get_info(&self) -> ServerInfo {
        ServerInfo::default()
    }
}

See the full documentation for detailed usage of each macro.

§License

Please refer to the LICENSE file in the project root directory.

Attribute Macros§

prompt
prompt
prompt_handler
prompt_handler
prompt_router
prompt_router
task_handler
task_handler
tool
tool
tool_handler
tool_handler
tool_router
tool_router