@@ -72,11 +72,10 @@ Create a new module in the project called `tools.rs` and include the definitions
7272// src/tools.rs
7373use rust_mcp_sdk :: schema :: {CallToolResult , TextContent , schema_utils :: CallToolError };
7474use rust_mcp_sdk :: {
75- macros :: {mcp_tool, JsonSchema },
75+ macros :: {JsonSchema , mcp_tool },
7676 tool_box,
7777};
7878
79-
8079// ****************//
8180// SayHelloTool //
8281// ****************//
@@ -93,7 +92,9 @@ pub struct SayHelloTool {
9392impl SayHelloTool {
9493 pub fn call_tool (& self ) -> Result <CallToolResult , CallToolError > {
9594 let hello_message = format! (" Hello, {}!" , self . name);
96- Ok (CallToolResult :: text_content ( vec! [TextContent :: from (hello_message )] ))
95+ Ok (CallToolResult :: text_content (vec! [TextContent :: from (
96+ hello_message ,
97+ )]))
9798 }
9899}
99100
@@ -112,7 +113,9 @@ pub struct SayGoodbyeTool {
112113impl SayGoodbyeTool {
113114 pub fn call_tool (& self ) -> Result <CallToolResult , CallToolError > {
114115 let hello_message = format! (" Goodbye, {}!" , self . name);
115- Ok (CallToolResult :: text_content ( vec! [TextContent :: from (hello_message )] ))
116+ Ok (CallToolResult :: text_content (vec! [TextContent :: from (
117+ hello_message ,
118+ )]))
116119 }
117120}
118121
@@ -142,12 +145,14 @@ Here is the code for `handler.rs` :
142145``` rs
143146// src/handler.rs
144147
148+ use std :: sync :: Arc ;
149+
145150use async_trait :: async_trait;
146151use rust_mcp_sdk :: schema :: {
147- schema_utils :: CallToolError , CallToolRequest , CallToolResult , RpcError ,
148- ListToolsRequest , ListToolsResult ,
152+ CallToolRequest , CallToolResult , ListToolsRequest , ListToolsResult , RpcError ,
153+ schema_utils :: CallToolError ,
149154};
150- use rust_mcp_sdk :: {mcp_server :: ServerHandler , McpServer };
155+ use rust_mcp_sdk :: {McpServer , mcp_server :: ServerHandler };
151156
152157use crate :: tools :: GreetingTools ;
153158
@@ -207,14 +212,11 @@ mod handler;
207212mod tools ;
208213use handler :: MyServerHandler ;
209214use rust_mcp_sdk :: schema :: {
210- Implementation , InitializeResult , ServerCapabilities , ServerCapabilitiesTools ,
211- LATEST_PROTOCOL_VERSION ,
215+ Implementation , InitializeResult , LATEST_PROTOCOL_VERSION , ServerCapabilities ,
216+ ServerCapabilitiesTools ,
212217};
213-
214218use rust_mcp_sdk :: {
215- error :: SdkResult ,
216- mcp_server :: {server_runtime, ServerRuntime },
217- McpServer , StdioTransport , TransportOptions ,
219+ McpServer , StdioTransport , TransportOptions , error :: SdkResult , mcp_server :: server_runtime,
218220};
219221
220222#[tokio:: main]
@@ -244,7 +246,7 @@ async fn main() -> SdkResult<()> {
244246 let handler = MyServerHandler {};
245247
246248 // create the MCP server
247- let server : ServerRuntime = server_runtime :: create_server (server_details , transport , handler );
249+ let server = server_runtime :: create_server (server_details , transport , handler );
248250
249251 // Start the server
250252 server . start (). await
0 commit comments