| Filename | Latest commit message | Latest commit date |
|---|---|---|
* fix(model): deprecate ServerInfo and ClientInfo aliases Those names collide with the protocol's serverInfo/clientInfo fields, which are only Implementation identity. Prefer InitializeResult and InitializeRequestParams. Handler trait signatures, the tool_handler macro output, tests, examples and docs now use the canonical types; the aliases remain as deprecated shims for the rest of 3.x. Fixes #1082 * fix(model): keep public signatures on the deprecated aliases The public API check compares rendered signatures, and rustdoc records a type alias by the name it was written with. Respelling `ServerHandler::get_info`, `ClientHandler::get_info`, `DiscoverResult::from_server_info` and `impl ClientHandler for ClientInfo` onto `InitializeResult`/`InitializeRequestParams` therefore reads as changed public items even though the aliases resolve to those exact types and nothing downstream breaks. Put those four signatures back on the aliases so the published API is byte-identical, and note why at the alias definitions. The deprecation still steers new code, and the macro output, tests, examples and docs keep using the canonical names. * fix(model): migrate leftover ClientInfo test sites Two tests landed on main after the alias deprecation and still named ClientInfo. Clippy -D warnings and the no-local feature test job both failed on them. |
||
| .. | ||
| clients | ||
| servers | ||
| simple-chat-client | ||
| transport | ||
| wasi | ||
| README.md | ||
Quick Start With Claude Desktop
-
Build the Server (Counter Example)
cargo build --release -p mcp-server-examples --example servers_counter_stdioThis builds a standard input/output MCP server binary.
-
Add or update this section in your
PATH-TO/claude_desktop_config.jsonWindows
{ "mcpServers": { "counter": { "command": "PATH-TO/rust-sdk/target/release/examples/servers_counter_stdio.exe", "args": [] } } }MacOS/Linux
{ "mcpServers": { "counter": { "command": "PATH-TO/rust-sdk/target/release/examples/servers_counter_stdio", "args": [] } } } -
Ensure that the MCP UI elements appear in Claude Desktop The MCP UI elements will only show up in Claude for Desktop if at least one server is properly configured. It may require to restart Claude for Desktop.
-
Once Claude Desktop is running, try chatting:
counter.say_helloOr test other tools like:
counter.increment counter.get_value counter.sum {"a": 3, "b": 4}
Client Examples
Server Examples
Transport Examples
Integration
- Rig A stream chatbot with rig
- Simple Chat Client A simple chat client implementation using the Model Context Protocol (MCP) SDK.
WASI
- WASI-P2 runtime How it works with wasip2
Use Mcp Inspector
npx @modelcontextprotocol/inspector