书籍mcp
多源图书发现MCP服务器。将谷歌图书、开放图书馆和古腾堡项目聚合为统一的、重复数据消除的结果。
问你的人工智能代理“给我找一本关于密码学的书,我可以免费阅读”,然后通过古腾堡下载链接、开放图书馆封面和谷歌图书元数据(按ISBN合并)得到一个干净的答案。
快速设置(克劳德桌面)
添加到您的Claude Desktop MCP配置(~/.claude.json 或克劳德桌面设置):
{
"mcpServers": {
"books": {
"command": "npx",
"args": ["mcp-remote", "https://books-mcp.YOUR-SUBDOMAIN.workers.dev/mcp"]
}
}
}就是这样。重新启动克劳德,问问书的事。
它的作用
3个MCP工具:
| 工具 | 说明 |
|---|---|
search_books | 搜索3个来源。返回具有完整性得分的统一结果。 |
get_book | 通过ISBN、Open Library密钥或Gutenberg ID获取完整详细信息。包括原始API响应。 |
book_filters | 从开放图书馆发现可用的主题和类别。 |
3数据来源:
| 来源 | 它提供了什么 | 利率限制 |
|---|---|---|
| 谷歌图书 | 商业元数据、评级、预览 | 每天1K(免费),10K+(带密钥) |
| 开放图书馆 | 2000多万条记录、ISBN、封面、主题 | 无硬性限制 |
| 古腾堡项目 | 公共领域书籍的全文下载 | 无限制 |
多源聚合: 书籍按ISBN进行去重和合并。Open Library提供了最丰富的元数据,Google Books添加了评级和商业数据,Gutenberg添加了免费下载链接。你在一个结果中得到了三个中最好的。
建筑
┌──────────────────────────────────────────────────────┐
│ Cloudflare Worker (Hono) │
│ │
│ ┌────────────┐ ┌──────────┐ ┌────────────┐ │
│ │search_books│ │ get_book │ │book_filters│ MCP │
│ └─────┬──────┘ └────┬─────┘ └─────┬──────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────┐ │
│ │ D1 Cache Layer │ │
│ │ Check first, 7-day freshness TTL │ │
│ └──────┬───────────────────┬──────────┘ │
│ │ MISS/STALE │ HIT │
│ ▼ │ │
│ ┌──────────────────┐ │ │
│ │ Merge / Dedup │ │ │
│ └──┬─────┬─────┬───┘ │ │
│ │ │ │ │ │
│ ┌──▼─┐┌──▼──┐┌─▼────┐ │ │
│ │ GB ││ OL ││ Gut. │ │ API Adapters │
│ └────┘└─────┘└──────┘ │ │
│ │ │ │
│ ▼ │ │
│ ┌──────────────────┐ │ │
│ │ D1: Persist │◀──────┘ │
│ │ merged + raw │ │
│ └──────────────────┘ │
└──────────────────────────────────────────────────────┘系统使用得越多,就越智能。每次搜索都会保存合并结果和对D1的原始API响应。后续对相同书籍的搜索会立即从缓存中返回。过期数据(>7天)会触发背景刷新。
60秒内自动主持
git clone https://github.com/YOUR-USERNAME/books-mcp.git
cd books-mcp
npm install
wrangler d1 create books-mcp-db # Note the database_id
# Update wrangler.toml with your database_id
npm run db:migrate:local
npm run dev可选:为更高的费率限制设置Google Books API密钥:
wrangler secret put GOOGLE_BOOKS_API_KEY部署:
npm run deploy查询示例
连接后,在Claude中尝试以下操作:
- “给我找一本关于密码学历史的书”
- 我可以免费阅读Ursula K.Le Guin的哪些著作
- “搜索关于太空探索的儿童书籍”
- “获取ISBN 9780385495325的完整详细信息”
添加新媒体类型
适配器模式是为扩展而设计的。要添加电影、音乐、电视或播客:
- 创建
src/types/{media}.ts延伸MediaResult - 创建
src/adapters/{media}/{source}.ts实现适配器接口 - 在中添加MCP工具
src/mcp.ts - 为新表创建D1迁移
看 TODOS.md 了解每种媒体类型的详细扩展计划。
公共演示实例
托管版本是一个公开演示,没有身份验证或速率限制。对于生产用途,请使用自己的Cloudflare帐户自行托管。免费版涵盖了大多数用例。
许可证
麻省理工学院
