rust-sdkBLOCK
The official Rust SDK for the Model Context Protocol
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://crates.io/crates/rmcp) [](https://docs.rs/rmcp/latest/rmcp) [](https://github.com/modelcontextprotocol/rust-sdk/actions/workflows/ci.yml) [](LICENSE)
An official Rust Model Context Protocol SDK implementation with tokio async runtime.
Migrating to 3.x? See the migration guide for breaking changes and upgrade instructions.
This repository contains the following crates:
- rmcp: The core crate providing the RMCP protocol implementation - see rmcp
- rmcp-macros: A procedural macro crate for generating RMCP tool implementations - see rmcp-macros
This SDK implements the stable MCP `2026-07-28` specification while remaining fully compatible with the `2025-11-25` release and earlier versions. Features introduced in 2026-07-28 — server discovery & negotiation, transport-neutral subscriptions, long-running tasks, response caching, multi-round-trip requests, and standard HTTP routing headers — are documented below. For the full MCP specification, see modelcontextprotocol.io.
Table of Contents
- Usage
- Tools
- Resources
- Prompts
- Sampling
- Elicitation
- Roots
- Logging
- Completions
- Notifications
- Subscriptions
- Multi-Round-Trip Requests
- Tasks
- Caching
- Standard HTTP Headers
- [Stateless Streamable HTTP](#stateless-
c376416f1e60OBSERVED · 2026-10-23Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add test_with_ts -- npx -y [email protected]
{
"mcpServers": {
"test_with_ts": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (1)
0 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
add | write |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (13 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (20)
"metadata.google.internal",
"http://169.254.169.254/",
assert!(!allowed("https://169.254.169.254/", true));"http://169.254.169.254/latest/meta-data/",
assert_eq!(class("169.254.169.254"), AddressClass::Blocked);crates/rmcp-macros/LICENSE
crates/rmcp/LICENSE
callback_url: &str,
let callback = AuthorizationCallback::from_redirect_url(callback_url)?;
pub async fn handle_callback_url(&mut self, callback_url: &str) -> Result<(), AuthError> {let callback = AuthorizationCallback::from_redirect_url(callback_url)?;
.unwrap_or_else(|| "http://127.0.0.1:8001/mcp".to_string());
if curl -s -o /dev/null http://127.0.0.1:8001/mcp; then
--url http://127.0.0.1:8001/mcp \
--url http://127.0.0.1:8001/mcp \
--url http://127.0.0.1:8001/mcp \
@modelcontextprotocol/sdk, eventsource-parser, express
2. **Add or update this section in your** `PATH-TO/claude_desktop_config.json`
| auth/token-endpoint-auth-post | PASS | 19/19 | 2025-06-18, 2025-11-25 | |
- *(streamable-http-server)* answer a session-less non-initialize POST with 400 ([#1377](https://github.com/modelcontextprotocol/rust-sdk/pull/1377))
Gates applied: no_behavioural_pass.
c376416f1e60full audit observations/trust-audit/mcp-server/modelcontextprotocol__rust-sdk.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-23 | c376416f1e60 | BLOCK | D | 69 | first audit |
Questions
What is the rust-sdk MCP server?
The official Rust SDK for the Model Context Protocol
What tools does rust-sdk expose?
1 in total: 0 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is rust-sdk safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does rust-sdk need?
No credential environment variables were found in its source, so it appears to need none.
How does rust-sdk run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as test_with_ts at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (c376416f1e60), read on 2026-10-23. The repository is watched and re-audited when it changes.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/mcp/modelcontextprotocol/rust-sdk/)
Not your listing, or something out of date? Claim or update your listing.