Search and read Rust documentation for the standard library and any crate on crates.io
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Show documentation for a Rust item by path.
Item path, e.g. `serde::Deserialize` or `std::vec::Vec`. A crate segment may carry an `@`-suffixed semver requirement (not an exact version): `tokio@1::runtime::Runtime` serves the newest 1.x, while `tokio@=1.40` pins an exact release.
Show documentation for a Rust item by path.
| Argument | Type | Description |
|---|---|---|
| path* | string | Item path, e.g. `serde::Deserialize` or `std::vec::Vec`. A crate segment may carry an `@`-suffixed semver requirement (not an exact version): `tokio@1::runtime::Runtime` serves the newest 1.x, while `tokio@=1.40` pins an exact release. |
{
"type": "object",
"examples": [
{
"path": "serde::Deserialize",
"description": "Look up a trait"
}
],
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"description": "Item path, e.g. `serde::Deserialize` or `std::vec::Vec`. A crate segment\nmay carry an `@`-suffixed semver requirement (not an exact version):\n`tokio@1::runtime::Runtime` serves the newest 1.x, while `tokio@=1.40`\npins an exact release."
}
}
}Search for items within a crate's documentation, or — without a crate — discover which crate to use.
| Argument | Type | Description |
|---|---|---|
| crate | string | Crate to search within, optionally with an `@`-suffixed semver requirement (not an exact version): `serde`, `tokio@1` (newest 1.x), or `tokio@=1.40` to pin an exact release. **Omit only to discover which crate to use.** With `crate`, the search runs over that crate's full documentation — item names and prose. Without it, it searches a different, much shallower dataset: crates.io crate names, descriptions, and declared keywords. It returns crates, not items, and cannot see any crate's actual documentation. If you already know the crate name, always pass it. |
| query* | string | Search query — one or more complete words. With `crate`, matched against item names and documentation prose; without it, against crate names, descriptions, and declared keywords. |
{
"type": "object",
"examples": [
{
"crate": "serde",
"query": "deserialize",
"description": "Find deserialization items in serde"
},
{
"query": "mqtt client",
"description": "Discover which crate to use for MQTT"
}
],
"required": [
"query"
],
"properties": {
"crate": {
"type": "string",
"description": "Crate to search within, optionally with an `@`-suffixed semver\nrequirement (not an exact version): `serde`, `tokio@1` (newest 1.x), or\n`tokio@=1.40` to pin an exact release.\n\n**Omit only to discover which crate to use.** With `crate`, the search\nruns over that crate's full documentation — item names and prose.\nWithout it, it searches a different, much shallower dataset: crates.io\ncrate names, descriptions, and declared keywords. It returns crates,\nnot items, and cannot see any crate's actual documentation. If you\nalready know the crate name, always pass it."
},
"query": {
"type": "string",
"description": "Search query — one or more complete words. With `crate`, matched\nagainst item names and documentation prose; without it, against crate\nnames, descriptions, and declared keywords."
}
}
}