重新测试MCP服务器
Readest的模型上下文协议(MCP)服务器,使AI助手能够从Readest阅读应用程序访问书籍内容、阅读进度和笔记。
特性
- 图书信息:检索当前打开的书籍的元数据(标题、作者、出版商、ISBN)
- 目录:通过分层章节组织访问完整的书籍结构
- 阅读进度:跟踪当前阅读位置、章节和完成百分比
- 用户注释:检索用户所做的所有突出显示、注释和评论
- 章节内容:获取完整章节文本,支持大章节分页
- 汇总章节:检索父章节及其所有子章节的组合
- 完整上下文:在单个请求中获取全面的书籍背景
安装
先决条件
- Node.js 18或更高版本
- pnpm(推荐)或npm
- 重新读取桌面应用程序
设置
- 克隆此存储库:
git clone https://github.com/BlackStar1453/readest-mcp.git
cd readest-mcp- 安装依赖项:
pnpm install- 构建服务器:
pnpm build配置Claude桌面
将MCP服务器添加到Claude Desktop配置文件中:
macOS: ~/.config/claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"readest": {
"command": "node",
"args": ["/absolute/path/to/readest-mcp/dist/index.js"]
}
}
}用法
- 开始重新测试:启动Readest桌面应用程序
- 打开一本书:在Readest中打开任何EPUB书籍
- 使用克劳德桌面:MCP工具将自动在Claude中可用
示例提示
请克劳德:
- “我现在在读什么书?”
- “显示目录”
- “我目前的阅读进度如何?”
- “从这本书中获取我的笔记和亮点”
- “总结当前章节”
- “在我的书中查找所有提及\[主题\]的内容”
建筑
┌─────────────────────┐
│ Claude Desktop │
└──────────┬──────────┘
│ MCP Protocol
┌──────────▼──────────┐
│ MCP Server │
│ (Node.js) │
└──────────┬──────────┘
│ HTTP
┌──────────▼──────────┐
│ Readest Backend │
│ (Rust HTTP) │
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Readest App │
│ (React/Tauri) │
└─────────────────────┘MCP工具
get_current_book_info
返回当前打开书籍的元数据。
答复包括:
- 标题、作者、出版商
- ISBN,语言
- 封面图片URL
get_table_of_contents
返回完整的分层目录。
答复包括:
- 章节ID和标题
- 带有子项的嵌套结构
- 导航链接(href)
get_reading_progress
返回当前读取位置和统计数据。
答复包括:
- 当前章节标题
- 页码(当前/总计)
- 进度百分比
- 上次更新时间戳
get_book_notes
返回所有用户注释和突出显示。
答复包括:
- 突出显示文本和颜色
- 用户注释和评论
- 章节参考文献
- 创建时间戳
get_current_chapter
返回当前正在阅读的章节的内容。
参数:
page(可选):分页页码(默认值:1)pageSize(可选):每页字符数(默认值:5000)includeHtml(可选):在图像中包含HTML(默认值:false)
get_aggregated_chapter
返回一个父章节及其所有子章节的组合。
参数:
chapter_id(必填):父章节的ID
get_full_context
在单个请求中返回所有图书信息。
发展
项目结构
readest-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── README.md # Documentation
└── scripts/ # Utility scripts可用脚本
# Build for production
pnpm build
# Watch mode for development
pnpm watch
# Type checking
pnpm type-check
# Clean build artifacts
pnpm clean测试
手动测试MCP服务器:
# List available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.js
# Call a specific tool
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_current_book_info","arguments":{}}}' | node dist/index.js调试
- 检查Readest HTTP服务器是否正在运行:
cat /tmp/readest-mcp-port.txt # Get the port
curl http://127.0.0.1:[PORT]/health- 启用调试日志记录:
DEBUG=readest:* node dist/index.js- 检查克劳德桌面日志:
- macOS:
~/Library/Logs/Claude/ - 窗户:
%APPDATA%\Claude\logs\
故障排除
MCP服务器未连接
- 验证Readest是否正在运行:桌面应用程序必须打开
- 检查端口文件:
/tmp/readest-mcp-port.txt应该存在 - 测试HTTP端点:
curl http://127.0.0.1:[PORT]/book-info - 重新启动克劳德桌面:有时在配置更改后需要
未返回书本数据
- 打开一本书:确保一本书在Readest中实际打开
- 等待同步:数据同步可能需要几秒钟
- 检查浏览器控制台:在Readest的DevTools中查找同步错误
- 验证后端:检查Rust后端日志是否有错误
章节内容问题
- 大章节会自动分页
- 使用
includeHtml: true获取带有图像的格式化内容 - 聚合章节自动组合所有子章节
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
该项目是Readest生态系统的一部分。查看主 重新测试存储库 有关许可证的详细信息。
相关项目
支持
对于问题或疑问:
- 在此存储库中打开问题
- 对于Readest应用程序问题,请使用主Readest存储库
- 有关MCP协议的问题,请参阅MCP文档
致谢
专为Readest阅读应用程序构建,以增强人工智能辅助阅读体验。
