Rust MCP Stdio Server Test

by mediar-ai

6 stars
321 downloads
Not rated
GitHub

About

Rust MCP Stdio Server Test is a basic example of a Model Context Protocol (MCP) server implemented in Rust. It uses a newline-delimited JSON stdio transport and is intended for learning and debugging purposes.

Details

Author
mediar-ai
GitHub stars
6
Downloads
321
Categories
Developer Tools

- Implements MCP initialization handshake
- Supports basic list commands (tools/list, resources/list, prompts/list)
- Includes a dummy tool call handler (tools/call)
- Uses stdio transport with newline-delimited JSON
- Simple Rust implementation for learning MCP

Build the server with cargo build, then configure an MCP client (such as Claude Desktop) to launch the compiled executable at target/debug/mcp-rust-sdk using its absolute path. Set the RUST_LOG environment variable to control logging verbosity; logs are written to $HOME/.screenpipe/logs/rust_stdio_test_logs/.

Rust MCP Stdio Server Test

This repository contains a simple example of a Model Context Protocol (MCP) server implemented in Rust using a newline-delimited JSON stdio transport.

https://github.com/user-attachments/assets/428319c2-fce2-4654-ab34-cb6987ee4164

Status

This is currently a basic test implementation created for learning and debugging purposes. It handles the MCP initialization handshake and basic list commands (tools/list, resources/list, prompts/list) as well as a dummy tool call (tools/call).

Usage

1. Build the server:

    cargo build

2. Configure an MCP client (like Claude Desktop) to launch the executable found at target/debug/mcp-rust-sdk. Ensure the client uses newline-delimited JSON for stdio communication.

For example, in claude_desktop_config.json (or similar client configuration), you might add an entry like this, replacing the command path with the absolute path to your built executable:
    {
"mcpServers": {
"rust_stdio_test": {
"command": "/path/to/your/mcp-rust-sdk/target/debug/mcp-rust-sdk"
}
// ... other servers ...
}
}

(Remember to use the correct absolute path for your system)

3. Set the RUST_LOG environment variable (e.g., RUST_LOG=debug or RUST_LOG=trace) to control logging verbosity. Logs are written to $HOME/.screenpipe/logs/rust_stdio_test_logs/.

License

This project is licensed under the MIT License - see the LICENSE file for details.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.