Skip to main content
Glama
spacemeowx2

Cargo Doc MCP Server

by spacemeowx2
README.md
# 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

MIT

TDQS

A3.6/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues