Token导航 LogoToken导航TokenDH.com
Calibre Librarian MCP logo
搜索检索stdio官方级别未说明来源级核验

Calibre Librarian MCP

MCP Server

一个通过MCP协议将Calibre图书目录暴露给Claude的服务,支持图书搜索、元数据管理和全文检索功能。

工具数

29

提示词数

0

GitHub Stars

1

资源数

0
TypeScriptClaude搜索Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

chepetime

提供方

chepetime

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -it \

详细介绍

Calibre图书管理员MCP服务器

![MCP](https://github.com/chepetime/calibre-librarian-mcp/actions/workflows/mcp.yml)

模型上下文协议(MCP)服务器,通过xmcp向Claude显示Calibre目录。

需求

  • Node.js: v24.13.0 (如果使用,则自动管理 nvm use).
  • pnpm:版本 10.28.0 或更新。
  • Calibre CLI工具: calibredbebook-convert 必须安装在PATH上。
  • 环境变量:

- CALIBRE_LIBRARY_PATH –Calibre库目录的绝对路径。 - CALIBRE_DB_COMMAND –位置 calibredb 可执行(例如。, /opt/homebrew/bin/calibredb). - FAVORITE_SEARCH_ENGINE_URL –服务器提供外部图书查找时使用的基本URL(默认为DuckDuckGo: https://duckduckgo.com/?q=).

设置

  1. 克隆并进入仓库:
   git clone https://github.com/chepetime/calibre-librarian-mcp.git
   cd calibre-librarian-mcp
  1. 使用pnpm安装依赖项:
   pnpm install
  1. 复制示例环境文件并填写路径:
   cp .env.example .env

更新变量,以便服务器可以访问您的Calibre库。

环境变量仅用于本地开发。对于Claude Desktop,您需要在Claude Desktop设置中配置服务器。

本地开发工作流程

在本地迭代时使用这些脚本:

  • pnpm run dev –通过stdio监视文件并为MCP服务器提供服务。
  • pnpm run lint –类型检查和lints项目。
  • pnpm test –运行一次完整的单元测试套件。
  • pnpm test:watch –每当源文件发生更改时,都会重新运行测试。

为Claude桌面构建(无Docker)

当您希望Claude Desktop(或任何MCP客户端)直接运行编译后的服务器时,请遵循以下流程:

  1. 这样构建项目 dist/stdio.js 存在:
   pnpm run build
  1. (可选)在本地运行内置输出以进行快速烟雾测试:
   pnpm start  # equivalent to: node dist/stdio.js
  1. 通过编辑配置Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json (或通过应用内UI)。集 commandnode,包括绝对路径 dist/stdio.js 作为第一 args 输入并提供所需的环境变量:
{
  "globalShortcut": "",
  "mcpServers": {
    "calibre-librarian": {
      "command": "node",
      "args": ["/Users/you/path/to/calibre-librarian-mcp/dist/stdio.js"],
      "env": {
        "CALIBRE_LIBRARY_PATH": "/Calibre",
        "CALIBRE_DB_COMMAND": "/opt/homebrew/bin/calibredb",
        "FAVORITE_SEARCH_ENGINE_URL": "https://duckduckgo.com/?q="
      }
    }
  },
  "preferences": {
    "quickEntryShortcut": "off",
    "menuBarEnabled": false
  }
}

Claude Desktop重新加载后,它将列出 优秀图书管理员 每当启用MCP的对话开始时,作为可用的MCP服务器。

Docker部署

当您喜欢隔离环境时,请在预装了Calibre的容器中运行服务器。

快速开始

# Build the image
docker build -t calibre-librarian-mcp .

# Run with your Calibre library mounted
docker run -it \
  -v /path/to/your/calibre/library:/library:ro \
  -e CALIBRE_LIBRARY_PATH=/library \
  calibre-librarian-mcp

Docker Compose

  1. 复制和自定义 docker-compose.yml.
  1. 设置库路径并启动堆栈:
   export CALIBRE_LIBRARY_PATH=/path/to/your/calibre/library
   docker compose up --build

Claude桌面与Docker

要让Claude Desktop直接运行容器,请将其指向 docker run:

{
  "mcpServers": {
    "calibre-librarian": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/path/to/your/calibre/library:/library:ro",
        "-e",
        "CALIBRE_LIBRARY_PATH=/library",
        "calibre-librarian-mcp"
      ]
    }
  }
}

注: 移除 :ro 从卷装载并添加 -e CALIBRE_ENABLE_WRITE_OPERATIONS=true 以启用写入操作。

工具目录和示例

安装MCP CLI

以下示例使用 mcp CLI由Anthropic发布。使用以下任何选项安装(或运行)它:

  • 全局安装(如果您经常调用MCP工具,建议使用):
  npm install -g @anthropic-ai/mcp-cli
  # now `mcp --help` should work
  • 无需全局安装即可一次性执行:
  npx @anthropic-ai/mcp-cli --help
  # or
  pnpm dlx @anthropic-ai/mcp-cli --help

CLI使用情况

所有工具都可以从MCP检查器或CLI调用:

mcp call calibre-librarian  ''

提示(例如。, merge_duplicates, library_cleanup, search_library)使用伴随命令:

mcp prompt calibre-librarian library_cleanup '{"focus":"missing covers"}'

交换 library_cleanup 对于下面列出的任何提示,请进行替换 calibre-librarian 使用您在中配置的服务器名称 mcp.json.

库概述和元数据

工具示例
list_sample_booksmcp call calibre-librarian list_sample_books '{"limit":5}'
get_book_detailsmcp call calibre-librarian get_book_details '{"bookId":42}'
get_library_statsmcp call calibre-librarian get_library_stats '{}'
get_all_tagsmcp call calibre-librarian get_all_tags '{"sortBy":"count","minCount":5}'
get_custom_columnsmcp call calibre-librarian get_custom_columns '{"includeDisplay":true}'

搜索与发现

工具示例
search_booksmcp call calibre-librarian search_books '{"query":"author:Sanderson and tag:fantasy","limit":10}'
search_books_by_titlemcp call calibre-librarian search_books_by_title '{"title":"stormlight","exact":false}'
search_authors_by_namemcp call calibre-librarian search_authors_by_name '{"name":"ng","sortBy":"count"}'
get_books_by_authormcp call calibre-librarian get_books_by_author '{"author":"Robin Hobb","sortBy":"series","ascending":true}'
get_books_by_author_idmcp call calibre-librarian get_books_by_author_id '{"authorId":17}'
get_books_by_seriesmcp call calibre-librarian get_books_by_series '{"series":"The Expanse","exact":true}'
get_books_by_tagmcp call calibre-librarian get_books_by_tag '{"tag":"cozy mystery","limit":25}'
search_books_by_tag_patternmcp call calibre-librarian search_books_by_tag_pattern '{"pattern":"*punk","limit":10}'

全文和内容访问

工具示例
full_text_searchmcp call calibre-librarian full_text_search '{"query":"\"winter is coming\"","matchAll":false}'
search_book_contentmcp call calibre-librarian search_book_content '{"bookId":12,"query":"quantum","contextChars":120}'
fetch_excerptmcp call calibre-librarian fetch_excerpt '{"bookId":8,"maxChars":1500}'

清理和复制工作台

工具示例
find_duplicatesmcp call calibre-librarian find_duplicates '{"mode":"author_title","threshold":0.85}'
compare_booksmcp call calibre-librarian compare_books '{"bookIds":[101,205],"fields":["title","series","formats"]}'
quality_reportmcp call calibre-librarian quality_report '{"checks":["missing_cover","missing_tags"],"limit":20}'
merge_duplicates 提示mcp prompt calibre-librarian merge_duplicates '{"bookIds":[101,205]}'
library_cleanup 提示mcp prompt calibre-librarian library_cleanup '{"focus":"missing covers"}'
search_library 提示mcp prompt calibre-librarian search_library '{"query":"hopepunk","searchType":"tag"}'

智能维护食谱

工具示例
normalize_author_sortmcp call calibre-librarian normalize_author_sort '{"preview":true,"limit":25}'
bulk_retagmcp call calibre-librarian bulk_retag '{"query":"author:Sanderson","action":"add","tags":"cosmere","preview":true}'
library_maintenancemcp call calibre-librarian library_maintenance '{"operation":"check"}'
missing_book_scoutmcp call calibre-librarian missing_book_scout '{"readingList":"Dune\n1984\nThe Hobbit","searchEngine":"annas_archive"}'

元数据编辑和自定义列

需要 CALIBRE_ENABLE_WRITE_OPERATIONS=true
工具示例
set_custom_columnmcp call calibre-librarian set_custom_column '{"bookId":42,"column":"#reading_status","value":"Started"}'
set_metadatamcp call calibre-librarian set_metadata '{"bookId":42,"title":"The Final Empire (Revised)","tags":["cosmere","favorite"]}'

设置和配置工具

工具示例
generate_claude_configmcp call calibre-librarian generate_claude_config '{"enableWrites":false}'

环境变量

变量必填默认描述
CALIBRE_LIBRARY_PATH--Calibre库目录的绝对路径
CALIBRE_DB_COMMAND没有calibredb通往 calibredb 可执行文件
CALIBRE_COMMAND_TIMEOUT_MS没有15000calibredb命令超时(毫秒)
CALIBRE_ENABLE_WRITE_OPERATIONS没有false启用元数据编辑工具(set_metadata等等)
FAVORITE_SEARCH_ENGINE_URL没有https://duckduckgo.com/?q=外部图书搜索链接的基本URL
MCP_SERVER_NAME没有Calibre Librarian MCPMCP客户端中显示的服务器名称

资源

服务器公开这些MCP资源:

URI描述
calibre://library/info库配置和统计
calibre://library/custom-columns自定义列定义
calibre://docs/inspector-guideMCP检查员验证指南

故障排除

“calibredb:找不到命令”

服务器找不到Calibre CLI工具。解决:

  • macOS(自制): brew install calibre 或设置 CALIBRE_DB_COMMAND=/Applications/calibre.app/Contents/MacOS/calibredb
  • macOS(应用程序): CALIBRE_DB_COMMAND=/Applications/calibre.app/Contents/MacOS/calibredb
  • 视窗: CALIBRE_DB_COMMAND=C:\Program Files\Calibre2\calibredb.exe
  • Linux:通过包管理器安装Calibre,通常会添加 calibredb 前往PATH

“库路径不存在”

验证您的 CALIBRE_LIBRARY_PATH:

# Check the path contains metadata.db
ls "$CALIBRE_LIBRARY_PATH/metadata.db"

“写入操作已禁用”

编写工具(set_metadata, set_custom_column, bulk_retag 随着 preview:false等等)要求:

CALIBRE_ENABLE_WRITE_OPERATIONS=true

将此添加到您的 .env 文件或Claude桌面配置。

“命令超时”

对于大型库,请增加超时时间:

CALIBRE_COMMAND_TIMEOUT_MS=60000  # 60 seconds

“全文搜索不返回结果”

必须启用Calibre FTS:

  1. 打开口径
  2. 首选 偏好→ 搜索
  3. 启用 全文搜索
  4. 点击 重新索引所有书籍

服务器未出现在Claude Desktop中

  1. 验证配置文件路径:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json

  1. 检查JSON语法是否有效
  1. 完全重新启动克劳德桌面
  1. 检查Claude Desktop日志是否有错误

MCP检验员测试

使用内置验证指南:

# Start dev server
npm run dev

# In another terminal, run inspector
npx @anthropic/mcp-inspector

或者使用 generate_claude_config 工具来获取您的配置。

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude搜索图书管理本地部署元数据处理全文检索AI集成数字图书馆

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

29

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP