by snowmead
MCP server for agents to explore rust docs, analyze source code, and build with confidence
# Add to your Claude Code skills
git clone https://github.com/snowmead/rust-docs-mcpGuides for using ai agents skills like rust-docs-mcp.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:22:01.082Z",
"npmAuditRan": true,
"pipAuditRan": true
}rust-docs-mcp is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by snowmead. MCP server for agents to explore rust docs, analyze source code, and build with confidence. It has 135 GitHub stars.
Yes. rust-docs-mcp passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/snowmead/rust-docs-mcp" and add it to your Claude Code skills directory (see the Installation section above).
rust-docs-mcp is primarily written in Rust. It is open-source under snowmead on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh rust-docs-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Rust is the language of AI
An MCP (Model Context Protocol) server that provides comprehensive access to Rust crate documentation, source code analysis, dependency trees, and module structure visualization. Built for agents to gain quality insights into Rust projects and build with confidence.
This is an entirely vibe coded project and was created as an experiment to see if LLMs can build a fully functional tool without human oversight.
The rise of AI agents has revolutionized software development, with new tools and libraries emerging at an unprecedented pace. However, this rapid evolution creates a critical challenge: agents cannot reliably build with tools they weren't trained on.
When an agent tries to use a new Rust crate:
This leads to frustrated developers watching their agents fail repeatedly, guessing at APIs, and producing broken code.
This MCP server gives agents the tools they need to truly understand Rust crates:
With these capabilities, agents can build confidently with any Rust crate — even ones released yesterday.
cache_crate - Download and cache a crate from various sources. Set
source_type to one of: cratesio, github, or local
version (e.g., {crate_name: "serde", source_type: "cratesio", version: "1.0.215"})github_url and either branch OR tag (e.g., {crate_name: "my-crate", source_type: "github", github_url: "https://github.com/user/repo", tag: "v1.0.0"})path, optional version (e.g., {crate_name: "my-crate", source_type: "local", path: "~/projects/my-crate"})features: Specific features to enable instead of --all-features. Use for crates with mutually exclusive features (e.g., {crate_name: "leptos-use", source_type: "cratesio", version: "0.15.8", features: ["axum"]})remove_crate - Remove cached crate versions to free disk spacelist_cached_crates - View all cached crates with versions and sizeslist_crate_versions - List cached versions for a specific crateget_crates_metadata - Batch metadata queries for multiple cratescache_operations - Manage and monitor background caching operations (list, status, cancel, clear)Crates.io downloads require an exact version, such as 9.3.1. If a version is
rejected, the error lists available non-yanked releases in descending semver
order. Choose one and retry. Partial versions such as 9 and 9.3 never select
a release automatically. Cached GitHub and local source versions keep their
original identifiers.
list_crate_items - Browse all items in a crate with optional filteringsearch_items - Full search with complete documentation (may hit token
limits)search_items_preview - Lightweight search returning only IDs, names, and
typesget_item_details - Detailed information about specific items (signatures,
fields, etc.)get_item_docs - Extract just the documentation string for an itemget_item_source - View source code with configurable context linesget_dependencies - Analyze direct and transitive dependencies with filteringstructure - Generate hierarchical module tree using integrated cargo-modulessearch_items_fuzzy - Fuzzy search with typo tolerance and semantic
similarityCache, documentation, search, and dependency tools accept the same three fields:
| Request | Build behavior |
|---|---|
| All three fields omitted | Try all features, then Cargo defaults, then no defaults |
features: ["axum"] |
Enable only axum, without defaults or fallback |
features: ["axum"], no_default_features: false |
Add axum to Cargo defaults |
features: [] or no_default_features: true |
Disable default features |
no_default_features: false or all_features: false |
Use Cargo defaults only |
all_features: true |
Enable every feature, without fallback |
all_features: true cannot be combined with a feature list or
no_default_features: true. Explicit requests never fall back to another set.
Feature selections are separate cache variants. Names are sorted and deduplicated before computing the cache key. A query must supply the same feature options as the cache request to use that variant. Omitted options select the automatic fallback variant, regardless of which variant was cached last. Queries generate missing variants from the cached source. Item IDs belong to a variant; pass its feature options when requesting an item's docs, details, or source.
{"crate_name":"leptos-use","version":"0.15.8","features":["axum"],"pattern":"use_"}
Use this request with search_items_preview to search a selected feature set.
list_cached_crates and list_crate_versions report each variant's requested
features, effective features, and toolchain. Dependency metadata uses the same
successful feature selection as the docs, including automatic fallback.
Search and listing include public use declarations and renamed imports.
get_item_details returns the import signature and a reexport object containing
its source, target path, target crate, and target ID when rustdoc provides them.
For pub use graphql_client, search for graphql_client in the wrapper crate.
To find GraphQLQuery inside that dependency, use get_dependencies to resolve
its package/version, then query that crate explicitly. Searching a wrapper does
not download or recursively search its dependencies. External target IDs refer
to the wrapper's rustdoc data; search the target crate for its own item IDs.
By default, crates are cached in ~/.rust-docs-mcp/cache/. You can customize
this location using:
# Command line option
rust-docs-mcp --cache-dir /custom/path/to/cache
# or set the environment variable
export RUST_DOCS_MCP_CACHE_DIR=/custom/path/to/cache
rust-docs-mcp
To access private repositories or increase GitHub API rate limits, set the
GITHUB_TOKEN environment variable:
export GITHUB_TOKEN=your_github_personal_access_token
Benefits of authentication:
source/ directorymetadata.jsonvariants/{fingerprint}/ contains docs.json, dependencies.json,
search_index/, and build.json for each completed feature selection.members/{member-name}/variants/{fingerprint}/.
Their source and member metadata remain shared.Documentation from older releases has no recorded feature selection. It remains
on disk but is regenerated on the first query, using the existing source. A
failed build leaves completed variants intact. cache_crate with update: true
refreshes the source and invalidates all variants of that crate/version on
success; remove_crate removes the source and all its variants.
curl -sSL https://raw.githubusercontent.com/snowmead/rust-docs-mcp/main/install.sh | bash
curl -sS