# Bookworm

> MCP server for Rust documentation

- **Type:** MCP server
- **Install:** `agentstack add mcp-dcdpr-bookworm`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [dcdpr](https://agentstack.voostack.com/s/dcdpr)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [dcdpr](https://github.com/dcdpr)
- **Source:** https://github.com/dcdpr/bookworm

## Install

```sh
agentstack add mcp-dcdpr-bookworm
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Bookworm

A collection of tools to work with [docs.rs](https://docs.rs) documentation.

## Crates

### `wrm_dl`

Download the documentation for a crate from [docs.rs](https://docs.rs) and store
it in a local directory.

It comes both as a library and a binary, you can run it locally using:

```sh
cargo run --bin wrm-dl --features cli -- regex
Documentation downloaded successfully to /tmp/...
```

### `wrm_index`

Index locally stored crate documentation into a SQLite database.

It comes both as a library and a binary, you can run it locally using:

```sh
cargo run --bin wrm-index --features cli -- /tmp/...
Documentation indexed successfully to ./index.sqlite
```

### `wrm_query`

Query the documentation for a crate, using a locally stored version of the crate
documentation, and the index database.

### `wrm_docs`

Fetch details from locally cached docs.rs documentation.

### `wrm_mcp`

A [model context protocol][mcp] server to serve the documentation for a crate.

Run it locally using:

```sh
cargo run --bin wrm-mcp
```

Adding the server to your MCP client depends on the client, but the following
example works for Claude.ai:

```json
{
  "mcpServers": {
    "bookworm": {
      "command": "/path/to/wrm-mcp"
    }
  }
}
```

#### Tools

The following tools are available to an LLM with MCP client capabilities:

##### `crates_search`

Get a list of crates matching the given query.

The returned list contains a list of URIs for each crate to fetch additional
crate information.

##### `crate_search_items`

Get a list of items matching the given query.

Each item type contains the following information:

- Item Path (e.g. `serde_json::value::Value`)
- Item Type (e.g. `enum`)
- Type Signature
- Documentation
- Related Resource URIs

##### `crate_search_src` (**TODO**)

Search all the crate's source code for a given query.

Each item contains the URI of the source code file, the line number, and the
contents of the matched line, including any optional context surrounding the
match.

##### `crate_resource`

Once you find a crate (or know the crate name), you can fetch relevant resources
through the `crate_resource` tool. This tool takes a URI to the resource.

The following URIs are supported:

- `crate://{crate_name}` - list crate versions
- `crate://{crate_name}/{crate_version}` - get metadata
- `crate://{crate_name}/{crate_version}/readme` - get readme content
- `crate://{crate_name}/{crate_version}/items` - list item resources
- `crate://{crate_name}/{crate_version}/src` - list source code resources
- `crate://{crate_name}/{crate_version}/{path}` - get item/src resource

###### `crate://{crate_name}` - list crate versions

Returns a list of crate versions for the given crate name.

Each item in the list contains the following information:

- Version
- Release Date
- MSRV
- Downloads
- Publisher

###### `crate://{crate_name}/{crate_version}` - get crate metadata

The following metadata is returned:

- Name
- Version
- Release Date
- Description
- Homepage
- Repository
- License
- URIs:
  - Readme (e.g. `crate://serde_json/1.0.85/readme`)
  - Crate Item (e.g. `crate://serde_json/1.0.85/items`)
  - Source code (e.g. `crate://serde_json/1.0.85/src`)

###### `crate://{crate_name}/{crate_version}/readme` - get crate readme

Returns the crate README as a string, formatted as Markdown.

###### `crate://{crate_name}/{crate_version}/items` - list crate items

Returns a list of items for the given crate version.

An item is a component of a crate. There are several kinds of items:

- Modules
- Function definitions
- Type definitions
- Struct definitions
- Enumeration definitions
- Trait definitions
- Implementations

Use `search_crate_items` to search for specific items.

###### `crate://{crate_name}/{crate_version}/src` - list crate source code resources

Returns a list of source code resources for the given crate version.

For Example:

```xml

  
  
  
  
  ...

```

Use `search_crate_src` to search all the crate's source code.

###### `crate://{crate_name}/{crate_version}/{crate_resource_path}` - get crate resource

Returns the content of the resource at the given path.

##### Url Templating

- `{crate_name}` is the exact name of the crate.
- `{crate_version}` is either a (partial) semver compatible version number, or
  `latest` for the latest published crate version.

[mcp]: https://github.com/jean-airoldi/model-context-protocol

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [dcdpr](https://github.com/dcdpr)
- **Source:** [dcdpr/bookworm](https://github.com/dcdpr/bookworm)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-dcdpr-bookworm
- Seller: https://agentstack.voostack.com/s/dcdpr
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
