Bookworm logo

Bookworm

by dcdpr

Bookworm is a collection of tools designed to work with documentation from docs.rs. It provides functionalities to download, index, query, and serve crate documentation, including a Model Context Protocol (MCP) server.

View on GitHub

Last updated: N/A

What is Bookworm?

Bookworm is a suite of tools for managing and serving Rust crate documentation. It includes components for downloading documentation from docs.rs, indexing it into a SQLite database, querying the documentation, fetching details, and serving the documentation through a Model Context Protocol (MCP) server.

How to use Bookworm?

The tools can be used individually via command-line interfaces. For example, wrm_dl downloads documentation, wrm_index indexes it, and wrm_query allows querying. The wrm_mcp server can be integrated with LLMs that support the Model Context Protocol by configuring the client to point to the server's executable.

Key features of Bookworm

  • Downloads crate documentation from docs.rs

  • Indexes documentation for fast querying

  • Provides a query tool to search documentation

  • Offers a Model Context Protocol (MCP) server to serve documentation to LLMs

  • Supports searching crate items and source code (TODO)

  • Provides access to crate metadata, readme content, and source code resources

Use cases of Bookworm

  • Providing crate documentation to LLMs for context during code generation or analysis.

  • Offline access to Rust crate documentation.

  • Building custom documentation search tools.

  • Automated documentation analysis and processing.

  • Integrating documentation into IDEs or other development tools.

FAQ from Bookworm

What is docs.rs?

docs.rs is a website that hosts documentation for Rust crates.

What is MCP?

MCP stands for Model Context Protocol, a protocol for LLMs to access external information.

How do I run the wrm-mcp server?

You can run the server using cargo run --bin wrm-mcp.

How do I configure my LLM client to use the wrm-mcp server?

You need to configure your client to execute the wrm-mcp binary when requested, as shown in the example JSON configuration.

Is source code search implemented?

No, crate_search_src is marked as TODO, meaning it's not yet implemented.