Install
$ agentstack add mcp-dcdpr-bookworm ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Bookworm
A collection of tools to work with docs.rs documentation.
Crates
wrm_dl
Download the documentation for a crate from docs.rs and store it in a local directory.
It comes both as a library and a binary, you can run it locally using:
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:
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:
cargo run --bin wrm-mcp
Adding the server to your MCP client depends on the client, but the following example works for Claude.ai:
{
"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 versionscrate://{crate_name}/{crate_version}- get metadatacrate://{crate_name}/{crate_version}/readme- get readme contentcrate://{crate_name}/{crate_version}/items- list item resourcescrate://{crate_name}/{crate_version}/src- list source code resourcescrate://{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:
...
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
- Source: dcdpr/bookworm
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.