Calibre RAG MCP服务器
增强的Calibre MCP服务器,具有RAG(检索增强生成)功能,可用于基于项目的矢量搜索和上下文对话。
特性
- RAG增强搜索:使用FAISS和Transformers进行基于矢量的语义搜索
- 项目型组织:为不同的上下文创建独立的矢量搜索项目
- 多格式支持:各种格式的工艺书籍(EPUB、PDF、MOBI等)
- OCR功能:使用Tesseract从图像和扫描的PDF中提取文本
- 高级文本处理:自然语言处理,更好地理解内容
- Windows兼容的:专为Windows环境设计
使用的技术
- 矢量搜索:FAISS用于高效的相似性搜索
- 嵌入:用于本地嵌入式发电的Xenova变压器
- 光学字符识别:光学字符识别的Tesseract
- PDF处理:多个PDF解析库(PDF parse、PDF poppler、pdf2pic)
- 图像处理:图像处理清晰
- 自然语言处理:具有多个库的自然语言处理
先决条件
- Node.js>=16.0.0
- Calibre安装在Windows上
- ImageMagick(用于增强图像处理)
- Tesseract OCR(用于从图像中提取文本)
安装
- 克隆此存储库:
git clone https://github.com/yourusername/calibre-rag-mcp-nodejs.git
cd calibre-rag-mcp-nodejs- 安装依赖项:
npm install- 运行安装程序(Windows):
setup.bat配置
服务器会自动检测您的Calibre库位置。对于自定义配置,请修改中的设置 server.js.
用法
启动服务器
npm start可用工具
search:跨电子书库的语义搜索fetch:从书籍中检索特定内容list_projects:列出所有RAG项目create_project:创建新的RAG项目add_books_to_project:将书籍添加到项目中以进行矢量化search_project_context:在特定项目中搜索
MCP配置示例
添加到MCP客户端配置中:
{
"mcpServers": {
"calibre-rag": {
"command": "node",
"args": ["path/to/calibre-rag-mcp-nodejs/server.js"]
}
}
}项目结构
calibre-rag-mcp-nodejs/
├── server.js # Main MCP server
├── package.json # Dependencies and scripts
├── setup.bat # Windows setup script
├── test-*.js # Various test files
├── projects/ # RAG projects storage
├── CONFIG.md # Configuration documentation
├── USAGE_EXAMPLES.md # Usage examples
└── QUICK_TEST.md # Quick testing guide测试
运行测试套件:
npm test单个测试文件:
test-enhanced-server.js-增强的服务器功能test-ocr-full.js-OCR功能test-pdf-approaches.js-PDF处理test-enhanced-auto.js-自动化测试
文档
需求
系统要求
- Windows 10/11
- Node.js 16+
- Calibre已安装
- 至少4GB RAM(建议大型库使用8GB+)
可选依赖关系
- ImageMagick(用于增强图像处理)
- Tesseract OCR(用于从扫描文档中提取文本)
故障排除
常见问题
- Faiss安装:如果FAISS安装失败,请确保您有适当的构建工具
- 未找到Tesseract:安装Tesseract并添加到PATH
- 内存问题:减少大文档处理的批处理大小
调试模式
通过设置环境变量启用详细日志记录:
set DEBUG=calibre-rag:*
npm start贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加新功能的测试
- 提交拉取请求
许可证
根据Apache许可证2.0授权。有关详细信息,请参阅LICENSE文件。
支持
有关问题和疑问,请在GitHub上打开问题。
更新日志
v1.0.0
- 具有RAG功能的初始版本
- 基于项目的矢量搜索
- 多格式文档支持
- OCR集成
- Windows优化
