Skip to main content
Glama
vexxvakan

MCP Rust Docs Server

by vexxvakan

Docs.rs MCP Server

License: Apache 2.0

A Model Context Protocol (MCP) server for fetching Rust crate documentation from docs.rs

FeaturesGetting StartedToolsContributingAcknowledgmentsLicense

Features

  • Find New Crates - Search crates by exact name, partial match, or fuzzy query to discover relevant libraries

  • Inspect Crate Symbols - Inspect structs, traits, functions, and any other symbol inside a crate

  • Review Crate Summaries - Get a crate overview with its structure and public API surface

  • Read Full Documentation - Read crate-level documentation

Related MCP server: Rust Docs MCP Server

Getting Started

Using Pre-built Executables

Download the latest release for your platform from the Releases page:

Linux

  • x64/AMD64 (GLIBC): mcp-docsrs-linux-x64 - For Ubuntu, Debian, Fedora, etc.

  • ARM64 (GLIBC): mcp-docsrs-linux-arm64 - For ARM64 systems, AWS Graviton

  • x64/AMD64 (MUSL): mcp-docsrs-linux-x64-musl - For Alpine Linux, Docker containers (requires libstdc++)

  • ARM64 (MUSL): mcp-docsrs-linux-arm64-musl - For Alpine on ARM64, minimal containers (requires libstdc++)

macOS

  • Intel: mcp-docsrs-darwin-x64 - For Intel-based Macs

  • Apple Silicon: mcp-docsrs-darwin-arm64 - For M-series Macs

Windows

  • x64: mcp-docsrs-windows-x64.exe - For 64-bit Windows

Using Docker

Pull and run the latest multi-arch image (supports both x64 and ARM64):

# Pull the latest image
docker pull ghcr.io/vexxvakan/mcp-docsrs:latest

# Run the server
docker run --rm -i ghcr.io/vexxvakan/mcp-docsrs:latest

# Run with custom configuration
docker run --rm -i ghcr.io/vexxvakan/mcp-docsrs:latest \
  --cache-ttl 7200000 --max-cache-size 200

Available tags:

  • latest - Latest stable release (multi-arch)

  • v1.0.0 - Specific version (multi-arch)

MCP Setup

Client

Command

Codex

codex mcp add docsrs -- path/to/mcp-docsrs

Claude Code

claude mcp add --transport stdio docsrs -- path/to/mcp-docsrs

Gemini CLI

gemini mcp add -s user docsrs path/to/mcp-docsrs

OpenCode

Run opencode mcp add, choose a local MCP server, then point it at path/to/mcp-docsrs.

VS Code

Open Command Palette (Cmd/Ctrl+Shift+P) → MCP: Add Server → choose Workspace or UserCommand (stdio) → enter path/to/mcp-docsrs.

Cursor

Open Settings (Cmd/Ctrl+Shift+J) → Tools & IntegrationsNew MCP Server → choose a local/stdio server → enter path/to/mcp-docsrs.

After adding the server, restart the client if it does not discover the tools immediately.

Configuration

Configure the server using environment variables or command-line arguments:

Variable

CLI Flag

Default

Description

CACHE_TTL

--cache-ttl

3600000

Cache time-to-live in milliseconds

MAX_CACHE_SIZE

--max-cache-size

100

Maximum number of cached entries

REQUEST_TIMEOUT

--request-timeout

30000

HTTP request timeout in milliseconds

DB_PATH

--db-path

:memory:

Path to SQLite database file

Tools

The server exposes four MCP tools:

Crate

crate_lookup

Retrieves a crate overview with its structure and public API surface from docs.rs.

Parameter

Type

Required

Description

crateName

string

Yes

Name of the Rust crate to inspect

version

string

No

Specific version or semver range, for example "1.0.0" or "~4"

target

string

No

Target platform, for example "i686-pc-windows-msvc"

formatVersion

number

No

Rustdoc JSON format version

{
  "tool": "crate_lookup",
  "arguments": {
    "crateName": "tokio",
    "version": "1.48.0"
  }
}

crate_docs

Retrieves the crate-level documentation page from docs.rs.

Parameter

Type

Required

Description

crateName

string

Yes

Name of the Rust crate to inspect

version

string

No

Specific version or semver range, for example "1.0.0" or "~4"

target

string

No

Target platform, for example "i686-pc-windows-msvc"

formatVersion

number

No

Rustdoc JSON format version

{
  "tool": "crate_docs",
  "arguments": {
    "crateName": "serde"
  }
}

crate_find

Searches crates.io for matching crates and returns ranked results using fuzzy and partial name matching.

Parameter

Type

Required

Description

query

string

Yes

Search query for crate names

limit

number

No

Maximum number of results to return. Defaults to 10

{
  "tool": "crate_find",
  "arguments": {
    "query": "rustdoc json",
    "limit": 5
  }
}

Symbol

lookup_symbol

Retrieves documentation for one symbol inside a crate. By default the response includes a preview of the docs. Set expandDocs to true to return the full documentation text.

Parameter

Type

Required

Description

crateName

string

Yes

Name of the Rust crate

symbolType

string

Yes

Rustdoc symbol type, for example "struct", "function", or "trait"

symbolname

string

Yes

Symbol name or path, for example "runtime::Runtime" or "spawn"

expandDocs

boolean

No

When true, return the full documentation text instead of the preview

version

string

No

Specific version or semver range

target

string

No

Target platform

{
  "tool": "lookup_symbol",
  "arguments": {
    "crateName": "tokio",
    "symbolType": "struct",
    "symbolname": "runtime::Runtime"
  }
}

Contributing

Acknowledgments

  • docs.rs for providing the Rust documentation API

  • Model Context Protocol for the MCP specification

  • The Rust community for excellent documentation standards

License

This project is licensed under the Apache License 2.0. See LICENSE for the license text and NOTICE for attribution details.


Made with ❤️ for the Rust community

Report BugRequest Feature

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vexxvakan/mcp-docsrs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server