icon for mcp server

Rustdocs

STDIO

Comprehensive Rust documentation server with code analysis and module visualization capabilities.

rust-docs banner

Rustdocs MCP Server

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.

Agent Capabilities

  • Multi-source caching — crates.io, GitHub repositories, local filesystem paths
  • Workspace support — Individual member analysis and caching for cargo workspaces
  • Documentation search — Pattern matching with kind/path filtering and preview modes
  • Item inspection — Detailed signatures, fields, methods, and documentation strings
  • Source code access — Line-level precision with parameterized surrounding context
  • Dependency analysis — Direct and transitive dependency trees with metadata
  • Module structure — Hierarchical tree generation via cargo-modules integration
  • Offline operation — Full functionality after initial crate caching
  • Token management — Response truncation and preview modes for LLM compatibility

MCP Tools

Cache Management

  • cache_crate_from_cratesio - Download and cache a specific crate version from crates.io
  • cache_crate_from_github - Download and cache from GitHub (specify branch or tag)
  • cache_crate_from_local - Cache from a local file system path
  • remove_crate - Remove cached crate versions to free disk space
  • list_cached_crates - View all cached crates with versions and sizes
  • list_crate_versions - List cached versions for a specific crate
  • get_crates_metadata - Batch metadata queries for multiple crates

Documentation Queries

  • search_items_preview - Lightweight search returning only IDs, names, and types
  • search_items - Full search with complete documentation (may hit token limits)
  • list_crate_items - Browse all items in a crate with optional filtering
  • get_item_details - Detailed information about specific items (signatures, fields, etc.)
  • get_item_docs - Extract just the documentation string for an item
  • get_item_source - View source code with configurable context lines

Dependency Analysis

  • get_dependencies - Analyze direct and transitive dependencies with filtering

Structure Analysis

  • structure - Generate hierarchical module tree using integrated cargo-modules

Configuration

Cache Directory

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

Each crate version stores

  • Complete source code in source/ directory
  • Cache metadata and timestamps in metadata.json
  • For workspace crates, individual members in members/ directory:
    • members/{member-name}/docs.json - Rustdoc JSON documentation
    • members/{member-name}/dependencies.json - Cargo dependency metadata
    • members/{member-name}/metadata.json - Member-specific cache metadata
  • For single crates:
    • docs.json - Rustdoc JSON documentation
    • dependencies.json - Cargo dependency metadata

Installation

Quick Install

curl -sSL https://raw.githubusercontent.com/snowmead/rust-docs-mcp/main/install.sh | bash

Installation Options

One-liner (Recommended)

curl -sSL https://raw.githubusercontent.com/snowmead/rust-docs-mcp/main/install.sh | bash

Custom install directory

curl -sSL https://raw.githubusercontent.com/snowmead/rust-docs-mcp/main/install.sh | bash -s -- --install-dir /usr/local/bin

Building from Source

Note: This crate is not yet published to crates.io because it depends on rmcp which is awaiting its first release.

Requirements
  • Rust nightly toolchain (for Rustdoc JSON generation)

    rustup toolchain install nightly
  • Network access to download crates from crates.io

git clone https://github.com/snowmead/rust-docs-mcp cd rust-docs-mcp/rust-docs-mcp cargo build --release ./target/release/rust-docs-mcp install

CLI Commands

rust-docs-mcp # Start MCP server rust-docs-mcp install # Install to ~/.local/bin rust-docs-mcp install --force # Force overwrite existing installation rust-docs-mcp --help # Show help

MCP Configuration

Add the server to your MCP configuration:

{ "rust-docs": { "command": "/path/to/rust-docs-mcp/target/release/rust-docs-mcp", "transport": "stdio" } }

Be the First to Experience MCP Now