CAS_NLP_Module3_Calibre_Project
by alexchilton
Overview
Manages a Calibre ebook library and enriches metadata by exposing various tools and capabilities to AI models like Claude Desktop.
Installation
python -m calibre_mcp.appEnvironment Variables
- CALIBRE_LIBRARY_PATH
- PYTHONPATH
- PATH
Security Notes
Extensive use of `subprocess.run` to interact with `calibredb` and `ebook-meta` CLI tools. Several tool parameters (e.g., `search_term`, `query`, `file_path`, `title`, `authors`, `isbn` in `calibre_tools/cli_wrapper.py`) are passed directly from user input without explicit sanitization, posing a risk of command injection, which could lead to arbitrary code execution or data manipulation if the underlying Calibre CLI tools are vulnerable to such input. The `calibre_sql` tool executes arbitrary SQL queries (though in read-only mode), which could lead to information disclosure of database schema or denial-of-service via resource-intensive queries. No obvious hardcoded secrets were found. Consider implementing `shlex.quote` for all user-provided arguments passed to subprocess calls.
Similar Servers
claude-conversation-memory-mcp
Provides long-term memory for AI coding assistants by indexing conversation history with semantic search, decision tracking, and cross-project search.
RDFPortal-MCP
This server facilitates querying biological and biomedical RDF databases via SPARQL and interacts with various biological/biomedical REST APIs, designed for integration with conversational AI platforms like Claude.
markitdown-mcp
A Model Context Protocol (MCP) server designed to convert various document and media file formats into Markdown, primarily for integration with AI workflows like Claude Desktop.
MCP-for-VuFind
This server integrates VuFind's Swagger API and DAIA into an LLM client like Claude for literature and article search.