Bookworm

Bookworm

🚀 书虫

书虫是一组用于与 docs.rs 文档协同工作的工具,能够帮助用户下载、索引和查询 crate 文档,还能通过 MCP 服务器为具有 MCP 客户端功能的 LLM 提供相关服务。

✨ 主要特性

  • 支持从 docs.rs 下载 crate 文档并本地存储。
  • 可将本地存储的 crate 文档索引到 SQLite 数据库。
  • 能够利用本地文档和索引数据库进行文档查询。
  • 提供 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
  • 项目类型(例如 枚举
  • 类型签名
  • 文档
  • 相关资源 URI
crate_search_src (TODO)

搜索 crate 的所有源代码,以给定的查询匹配。每个项目包含以下信息:

  • 源代码文件的 URI
  • 行号
  • 匹配行的内容,包括上下文(如果有)
crate_resource

一旦找到一个 crate(或已知 crate 名称),您可以通过此工具获取该 crate 的资源。通过以下方式在本地运行:

cargo run --bin wrm-mcp

要将此服务器添加到支持 MCP 客户端,请根据客户端要求操作。例如,对于 Claude.ai,可以使用以下配置:

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

URL 模板

  • {crate_name} 是 crate 的确切名称。
  • {crate_version} 是符合语义化版本控制的(部分)版本号,或 latest 表示最新发布的 crate 版本。
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-21 18:18

相似服务问题