Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Calibre MCP Serversearch for books by Stephen King published after 2010"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Calibre MCP Server
A lightweight Node.js MCP server for searching and reading books from your Calibre ebook library. Designed specifically for Windows compatibility.
Features
Library Search: Search your Calibre library by title, author, or content
Book Reading: Retrieve and read book contents in various formats
Metadata Access: Get detailed book information and metadata
Windows Compatible: Optimized for Windows environments
Zero Dependencies: Lightweight implementation with no external dependencies
Prerequisites
Node.js >= 16.0.0
Calibre installed on Windows
Installation
Clone this repository:
git clone https://github.com/yourusername/calibre-mcp-nodejs.git
cd calibre-mcp-nodejsInstall dependencies:
npm installUsage
Starting the Server
npm startAvailable Tools
search: Search for books in your Calibre libraryfetch: Retrieve specific content from books using epub:// URLs
Example MCP Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"calibre": {
"command": "node",
"args": ["path/to/calibre-mcp-nodejs/server.js"]
}
}
}Configuration
The server automatically detects your Calibre library location. The search looks for Calibre in common installation paths:
C:\Program Files\Calibre2\C:\Program Files (x86)\Calibre2\Custom paths via environment variables
API Reference
Search Books
// Search by title
search({ query: "title:\"The Great Gatsby\"" })
// Search by author
search({ query: "author:\"F. Scott Fitzgerald\"" })
// Full-text search
search({ query: "green light" })Fetch Book Content
// Fetch specific book content
fetch({ url: "epub://book_id/chapter_1" })Project Structure
calibre-mcp-nodejs/
├── server.js # Main MCP server
├── package.json # Dependencies and scripts
├── test.js # Test file
├── test.bat # Windows test script
└── README.md # This fileTesting
Run the test:
npm testOr use the Windows batch file:
test.batTroubleshooting
Common Issues
Calibre Not Found: Ensure Calibre is installed in a standard location
Library Access: Make sure the Calibre library is accessible and not locked
Permissions: Run with appropriate permissions to access Calibre files
Debug Mode
Set the DEBUG environment variable for verbose logging:
set DEBUG=calibre:*
npm startSupported Formats
The server supports all formats that Calibre can handle:
EPUB
PDF
MOBI
AZW/AZW3
TXT
HTML
And many more
Performance
This lightweight server is designed for:
Fast startup times
Low memory usage
Quick search responses
Minimal system impact
Comparison with RAG Version
This is the lightweight version. For advanced features like vector search, semantic similarity, and RAG capabilities, see calibre-rag-mcp-nodejs.
Feature | Simple Version | RAG Version |
Basic Search | ✅ | ✅ |
Book Reading | ✅ | ✅ |
Dependencies | None | Many |
Memory Usage | Low | High |
Vector Search | ❌ | ✅ |
Semantic Search | ❌ | ✅ |
OCR Support | ❌ | ✅ |
Project Organization | ❌ | ✅ |
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
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
v2.0.0
Improved Windows compatibility
Enhanced search functionality
Better error handling
Optimized performance
v1.0.0
Initial release
Basic search and fetch functionality
Windows support
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.