Overview
What is Bookworm?
Bookworm is an MCP (Model Context Protocol) server that provides LLMs with local access to Rust crate documentation from docs.rs. It downloads, indexes, and serves crate documentation, items, metadata, and source code via a set of MCP tools.
How to use Bookworm?
Install and run via Cargo: cargo run --bin wrm-mcp. Configure your MCP client (e.g., Claude.ai) with a JSON entry pointing to the wrm-mcp binary. Once the server is running, an LLM can use the provided tools to search crates, browse items, and fetch resources.
Key features of Bookworm
- Download and cache crate documentation locally.
- Index documentation into a SQLite database for fast queries.
- Query documentation by crate name, version, or item path.
- Expose MCP tools:
crates_search,crate_search_items,crate_resource. - Support for fetching crate metadata, readmes, items, and source code.
Use cases of Bookworm
- An LLM assistant answering questions about Rust crate APIs.
- Offline exploration of docs.rs documentation without a network.
- Automated code generation or analysis using crate documentation.
- Integrating Rust crate knowledge into AI‑powered development tools.
FAQ from Bookworm
What MCP tools does Bookworm provide?
Bookworm provides crates_search (list crates matching a query), crate_search_items (list items matching a query), and crate_resource (fetch a resource by URI). A crate_search_src tool is planned but not yet implemented.
How does the crate_resource tool work?
It takes a URI following the pattern crate://{crate_name}/{crate_version}/{resource} to retrieve crate versions, metadata, readme content, items list, source code list, or a specific item/source file.
What data does Bookworm store locally?
After downloading, each crate’s documentation is stored in a local directory. An SQLite index (index.sqlite) records metadata for all cached crates, enabling fast searches and queries.
Does Bookworm require internet access?
It needs internet only during the initial download phase (wrm-dl). Once downloaded and indexed, the MCP server operates entirely offline.
Is Bookworm distributed as a library or a binary?
Bookworm is a Rust crate collection. The MCP server runs via cargo run --bin wrm-mcp. Individual tools like wrm-dl, wrm-index, and wrm-query are also available as libraries and binaries with a cli feature.