I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

bookworm
MCP server for Rust documentation
3 years
Works with Finder
1
Github Watches
0
Github Forks
4
Github Stars
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 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 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
)
- Readme (e.g.
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:
<Resources>
<Resource uri="crate://serde_json/1.0.85/src/serde_json/lib.rs" />
<Resource uri="crate://serde_json/1.0.85/src/serde_json/value.rs" />
<Resource uri="crate://serde_json/1.0.85/src/serde_json/map.rs" />
<Resource uri="crate://serde_json/1.0.85/src/serde_json/value/mod.rs" />
...
</Resources>
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, orlatest
for the latest published crate version.
相关推荐
Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.
Confidential guide on numerology and astrology, based of GG33 Public information
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Take an adjectivised noun, and create images making it progressively more adjective!
Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.
Mirror ofhttps://github.com/agentience/practices_mcp_server
Mirror ofhttps://github.com/bitrefill/bitrefill-mcp-server
Reviews

user_ZjphvUkS
Bookworm by dcdpr is an amazing tool for avid readers. It offers a seamless reading experience with its intuitive interface and robust features. I appreciate the effort put into making this application versatile and user-friendly. Whether you are diving into a novel or researching a topic, Bookworm enhances your reading journey. Highly recommended for anyone looking to organize and enjoy their reading collection!