@@ -72,11 +72,10 @@ Create a new module in the project called `tools.rs` and include the definitions
72
72
// src/tools.rs
73
73
use rust_mcp_sdk :: schema :: {CallToolResult , TextContent , schema_utils :: CallToolError };
74
74
use rust_mcp_sdk :: {
75
- macros :: {mcp_tool, JsonSchema },
75
+ macros :: {JsonSchema , mcp_tool },
76
76
tool_box,
77
77
};
78
78
79
-
80
79
// ****************//
81
80
// SayHelloTool //
82
81
// ****************//
@@ -93,7 +92,9 @@ pub struct SayHelloTool {
93
92
impl SayHelloTool {
94
93
pub fn call_tool (& self ) -> Result <CallToolResult , CallToolError > {
95
94
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
+ )]))
97
98
}
98
99
}
99
100
@@ -112,7 +113,9 @@ pub struct SayGoodbyeTool {
112
113
impl SayGoodbyeTool {
113
114
pub fn call_tool (& self ) -> Result <CallToolResult , CallToolError > {
114
115
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
+ )]))
116
119
}
117
120
}
118
121
@@ -142,12 +145,14 @@ Here is the code for `handler.rs` :
142
145
``` rs
143
146
// src/handler.rs
144
147
148
+ use std :: sync :: Arc ;
149
+
145
150
use async_trait :: async_trait;
146
151
use rust_mcp_sdk :: schema :: {
147
- schema_utils :: CallToolError , CallToolRequest , CallToolResult , RpcError ,
148
- ListToolsRequest , ListToolsResult ,
152
+ CallToolRequest , CallToolResult , ListToolsRequest , ListToolsResult , RpcError ,
153
+ schema_utils :: CallToolError ,
149
154
};
150
- use rust_mcp_sdk :: {mcp_server :: ServerHandler , McpServer };
155
+ use rust_mcp_sdk :: {McpServer , mcp_server :: ServerHandler };
151
156
152
157
use crate :: tools :: GreetingTools ;
153
158
@@ -207,14 +212,11 @@ mod handler;
207
212
mod tools ;
208
213
use handler :: MyServerHandler ;
209
214
use rust_mcp_sdk :: schema :: {
210
- Implementation , InitializeResult , ServerCapabilities , ServerCapabilitiesTools ,
211
- LATEST_PROTOCOL_VERSION ,
215
+ Implementation , InitializeResult , LATEST_PROTOCOL_VERSION , ServerCapabilities ,
216
+ ServerCapabilitiesTools ,
212
217
};
213
-
214
218
use 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,
218
220
};
219
221
220
222
#[tokio:: main]
@@ -244,7 +246,7 @@ async fn main() -> SdkResult<()> {
244
246
let handler = MyServerHandler {};
245
247
246
248
// 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 );
248
250
249
251
// Start the server
250
252
server . start (). await
0 commit comments