| Filename | Latest commit message | Latest commit date |
|---|---|---|
* refactor!: refactor OAuth client authorization api `OAuthState::start_authorization` now accepts a declarative `AuthorizationRequest` describing the client's available identity material and selects the highest-priority mechanism the server supports: pre-registered client information → Client ID Metadata Documents (SEP-991) → Dynamic Client Registration. This replaces the three mechanism-specific entry points (`start_authorization`, `start_authorization_with_metadata_url`, `start_authorization_with_preregistered_client`), where callers previously had to know which mechanism to pick. `AuthorizationSession::new` is consolidated the same way, and the failure-recovery pattern from #994 (returning the manager alongside the error so `OAuthState` recovers to `Unauthorized` on transient failures) is now applied across all registration paths. Includes new `RecordingOAuthHttpClient`-based tests covering the priority matrix and recovery semantics, plus updated docs, examples, and conformance client. * fix: dcr registration uses requested application type * fix: error for invalid combination |
||
| .. | ||
| 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