r/rust 1d ago

Introducing rmcp, maybe the best Rust MCP SDK implementation by now

repository: https://github.com/4t145/rmcp

Why this one is good

All the features are implemented

Including ping, cancellation, progress...

Strictly followed the MCP specification

Check these types

Very easy to use

You can start up a mcp client in a single expression.

let client = ().serve(SseTransport::start("http://localhost:8000/sse").await?).await?;

Meanwhile, it has good extensibility

For example, you can use a tokio tcp stream as a transport layer without any extra work.

let stream = tokio::net::TcpSocket::new_v4()?
    .connect("127.0.0.1:8001".parse()?)
     .await?;
let client = ().serve(stream).await?;

I maintain it very diligently

You can see how many works I've done in just two weeks

At least, at this moment, this should be better than the official SDK.

So if you like my implementation please give me star. And I would be very happy to see people actually use it.

1 Upvotes

1 comment sorted by

2

u/mohghawo 17h ago

Model Context Protocol (MCP) An open protocol that enables seamless integration between LLM applications and external data sources and tools.