书虫是一组用于与 docs.rs 文档协同工作的工具,能够帮助用户下载、索引和查询 crate 文档,还能通过 MCP 服务器为具有 MCP 客户端功能的 LLM 提供相关服务。
由于文档未提供具体安装步骤,暂无法展示。
wrm_dl
从 docs.rs 下载 crate 的文档并将其存储在本地目录中。它既作为库又作为二进制文件存在,您可以通过以下方式在本地运行:
cargo run --bin wrm-dl --features cli -- regex
Documentation 成功下载到 /tmp/...
wrm_index
将本地存储的 crate 文档索引到 SQLite 数据库中。它既作为库又作为二进制文件存在,您可以通过以下方式在本地运行:
cargo run --bin wrm-index --features cli -- /tmp/...
文档成功索引到 ./index.sqlite
wrm_mcp
一个 模型上下文协议 服务器,用于提供 crate 的文档。通过以下方式在本地运行:
cargo run --bin wrm-mcp
要将此服务器添加到支持 MCP 客户端,请根据客户端要求操作。例如,对于 Claude.ai,可以使用以下配置:
{
"mcpServers": {
"bookworm": {
"command": "/path/to/wrm-mcp"
}
}
}
wrm_query
使用本地存储的 crate 文档和索引数据库查询文档。
wrm_docs
从缓存的 docs.rs 文档中获取详细信息。
具有 MCP 客户端功能的 LLM 可以使用以下工具:
crates_search
获取与给定查询匹配的 crate 列表。返回的列表包含每个 crate 的 URI,用于获取更多 crate 信息。
crate_search_items
获取与给定查询匹配的项目列表。每个项目的类型包含以下信息:
serde_json::value::Value
)枚举
)crate_search_src
(TODO)搜索 crate 的所有源代码,以给定的查询匹配。每个项目包含以下信息:
crate_resource
一旦找到一个 crate(或已知 crate 名称),您可以通过此工具获取该 crate 的资源。通过以下方式在本地运行:
cargo run --bin wrm-mcp
要将此服务器添加到支持 MCP 客户端,请根据客户端要求操作。例如,对于 Claude.ai,可以使用以下配置:
{
"mcpServers": {
"bookworm": {
"command": "/path/to/wrm-mcp"
}
}
}
{crate_name}
是 crate 的确切名称。{crate_version}
是符合语义化版本控制的(部分)版本号,或 latest
表示最新发布的 crate 版本。