Skip to main content
Glama

Calibre RAG MCP Server

by ispyridis

Calibre RAG MCP Server

Enhanced Calibre MCP server with RAG (Retrieval-Augmented Generation) capabilities for project-based vector search and contextual conversations.

Features

  • RAG-Enhanced Search: Vector-based semantic search using FAISS and Transformers
  • Project-Based Organization: Create isolated vector search projects for different contexts
  • Multi-Format Support: Process books in various formats (EPUB, PDF, MOBI, etc.)
  • OCR Capabilities: Extract text from images and scanned PDFs using Tesseract
  • Advanced Text Processing: Natural language processing for better content understanding
  • Windows Compatible: Designed specifically for Windows environments

Technologies Used

  • Vector Search: FAISS for efficient similarity search
  • Embeddings: Xenova Transformers for local embedding generation
  • OCR: Tesseract for optical character recognition
  • PDF Processing: Multiple PDF parsing libraries (pdf-parse, pdf-poppler, pdf2pic)
  • Image Processing: Sharp for image manipulation
  • NLP: Natural language processing with multiple libraries

Prerequisites

  • Node.js >= 16.0.0
  • Calibre installed on Windows
  • ImageMagick (for enhanced image processing)
  • Tesseract OCR (for text extraction from images)

Installation

  1. Clone this repository:
git clone https://github.com/yourusername/calibre-rag-mcp-nodejs.git cd calibre-rag-mcp-nodejs
  1. Install dependencies:
npm install
  1. Run setup (Windows):
setup.bat

Configuration

The server automatically detects your Calibre library location. For custom configurations, modify the settings in server.js.

Usage

Starting the Server

npm start

Available Tools

  • search: Semantic search across your ebook library
  • fetch: Retrieve specific content from books
  • list_projects: List all RAG projects
  • create_project: Create a new RAG project
  • add_books_to_project: Add books to a project for vectorization
  • search_project_context: Search within specific projects

Example MCP Configuration

Add to your MCP client configuration:

{ "mcpServers": { "calibre-rag": { "command": "node", "args": ["path/to/calibre-rag-mcp-nodejs/server.js"] } } }

Project Structure

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

Testing

Run the test suite:

npm test

Individual test files:

  • test-enhanced-server.js - Enhanced server functionality
  • test-ocr-full.js - OCR capabilities
  • test-pdf-approaches.js - PDF processing
  • test-enhanced-auto.js - Automated testing

Documentation

Requirements

System Requirements

  • Windows 10/11
  • Node.js 16+
  • Calibre installed
  • At least 4GB RAM (8GB+ recommended for large libraries)

Optional Dependencies

  • ImageMagick (for enhanced image processing)
  • Tesseract OCR (for text extraction from scanned documents)

Troubleshooting

Common Issues

  1. FAISS Installation: If FAISS fails to install, ensure you have proper build tools
  2. Tesseract Not Found: Install Tesseract and add to PATH
  3. Memory Issues: Reduce batch sizes for large document processing

Debug Mode

Enable verbose logging by setting environment variable:

set DEBUG=calibre-rag:* npm start

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Submit a pull request

License

Licensed under the Apache License 2.0. See LICENSE file for details.

Support

For issues and questions, please open an issue on GitHub.

Changelog

v1.0.0

  • Initial release with RAG capabilities
  • Project-based vector search
  • Multi-format document support
  • OCR integration
  • Windows optimization
Deploy Server
-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Enables semantic search and contextual conversations with your Calibre ebook library using vector-based RAG technology. Supports project-based organization, multi-format book processing, and OCR capabilities for enhanced content extraction and retrieval.

  1. Features
    1. Technologies Used
      1. Prerequisites
        1. Installation
          1. Configuration
            1. Usage
              1. Starting the Server
              2. Available Tools
              3. Example MCP Configuration
            2. Project Structure
              1. Testing
                1. Documentation
                  1. Requirements
                    1. System Requirements
                    2. Optional Dependencies
                  2. Troubleshooting
                    1. Common Issues
                    2. Debug Mode
                  3. Contributing
                    1. License
                      1. Support
                        1. Changelog
                          1. v1.0.0

                        MCP directory API

                        We provide all the information about MCP servers via our MCP API.

                        curl -X GET 'https://glama.ai/api/mcp/v1/servers/ispyridis/calibre-rag-mcp-nodejs'

                        If you have feedback or need assistance with the MCP directory API, please join our Discord server