63 lines
1.6 KiB
Markdown
63 lines
1.6 KiB
Markdown
# Quick Start With Claude Desktop
|
|
|
|
1. **Build the Server (Counter Example)**
|
|
```sh
|
|
cargo build --release --example servers_std_io
|
|
```
|
|
This builds a standard input/output MCP server binary.
|
|
|
|
2. **Add or update this section in your** `~/.config/claude-desktop/config.toml`
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"counter": {
|
|
"command": "PATH-TO/rust-sdk/target/release/examples/servers_std_io.exe",
|
|
"args": []
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
3. **Once Claude Desktop is running, try chatting:**
|
|
```text
|
|
counter.say_hello
|
|
```
|
|
Or test other tools like:
|
|
```text
|
|
counter.increment
|
|
counter.get_value
|
|
counter.sum {"a": 3, "b": 4}
|
|
```
|
|
|
|
# Client Examples
|
|
|
|
- [Client SSE](clients/src/sse.rs), using reqwest and eventsource-client.
|
|
- [Client stdio](clients/src/std_io.rs), using tokio to spawn child process.
|
|
- [Everything](clients/src/everything_stdio.rs), test with `@modelcontextprotocol/server-everything`
|
|
- [Collection](clients/src/collection.rs), How to transpose service into dynamic object, so they will have a same type.
|
|
|
|
# Server Examples
|
|
|
|
- [Server SSE](servers/src/axum.rs), using axum as web server.
|
|
- [Server stdio](servers/src/std_io.rs), using tokio async io.
|
|
|
|
# Transport Examples
|
|
|
|
- [Tcp](transport/src/tcp.rs)
|
|
- [Transport on http upgrade](transport/src/http_upgrade.rs)
|
|
- [Unix Socket](transport/src/unix_socket.rs)
|
|
- [Websocket](transport/src/websocket.rs)
|
|
|
|
# Integration
|
|
|
|
- [Rig](examples/rig-integration) A stream chatbot with rig
|
|
|
|
# WASI
|
|
|
|
- [WASI-P2 runtime](wasi) How it works with wasip2
|
|
|
|
## Use Mcp Inspector
|
|
|
|
```sh
|
|
npx @modelcontextprotocol/inspector
|
|
```
|