Cargo Doc MCP Server
# cargo doc MCP Server
A MCP server for managing Rust documentation through cargo doc commands. This server provides tools to check, build, and search Rust documentation locally.
<a href="https://glama.ai/mcp/servers/l4augy7aft">
<img width="380" height="200" src="https://glama.ai/mcp/servers/l4augy7aft/badge" alt="Cargo Doc Server MCP server" />
</a>
## Features
### Tools
- `get_crate_doc` - Get crate's main documentation page for understanding overall concepts and usage
- Parameters:
- `project_path`: Path to the Rust project (must be absolute path)
- `crate_name`: Name of the crate to get documentation for
- `list_symbols` - List all symbols (structs, enums, traits, etc.) in a crate's documentation
- Parameters:
- `project_path`: Path to the Rust project (must be absolute path)
- `crate_name`: Name of the crate to list symbols for
- `search_doc` - Search within a crate's documentation
- Parameters:
- `project_path`: Path to the Rust project (must be absolute path)
- `crate_name`: Name of the crate to search in
- `query`: Search query (keyword or symbol)
- `limit` (optional): Maximum number of results to return (default: 10)
## Requirements
- Node.js 16 or later
- Rust and Cargo installed
## Installation
Install dependencies:
```bash
pnpm install
```
Build the server:
```bash
pnpm run build
```
For development with auto-rebuild:
```bash
pnpm run watch
```
## Usage
Add the following configuration:
```json
{
"mcpServers": {
"docs-rs-mcp": {
"command": "/absolute/path/to/docs-rs-mcp/build/index.js"
}
}
}
```
## Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector:
```bash
pnpm run inspector
```
The Inspector will provide a URL to access debugging tools in your browser.
## Cache System
The server maintains a cache of built documentation paths to improve performance. Cache entries expire after 24 hours to ensure documentation stays up-to-date.
## License
MITTDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: get_crate_doc retrieves main documentation pages, list_symbols enumerates all symbols in a crate, and search_doc performs targeted searches within documentation. There is no overlap in functionality, making it easy for an agent to select the appropriate tool based on the task.
All tool names follow a consistent verb_noun pattern (get_crate_doc, list_symbols, search_doc) with clear, descriptive verbs. There are no deviations in naming conventions, making the tool set predictable and easy to understand.
With only 3 tools, the server feels somewhat thin for a documentation-focused domain, as it might lack operations like updating or managing documentation. However, the tools cover core use cases, so it's borderline but not severely mismatched.
The tools provide good coverage for basic documentation tasks: retrieving main docs, listing symbols, and searching. Minor gaps exist, such as no direct support for navigating between documentation sections or handling version-specific docs, but agents can likely work around these limitations.