Calibre图书管理服务

Calibre MCP是一个基于Calibre原生内容服务器的实验性图书管理工具,提供图书查询、搜索、元数据获取等功能。

  • by THeK3nger
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 THeK3nger/calibre-mcp

使用说明

口径MCP

这是一个通过Calibre原生Content Server工作的实验性Calibre MCP。

特性

这个MCP主要围绕 calibredb 所以我打算添加它的所有功能。主要是:

  • [x] 查询Calibre库。
  • [x] 搜索书籍。
  • [x] 全文搜索。
  • [x] 获取图书元数据。
  • [x] 列出/编辑自定义列。
  • []列出/编辑元数据。

…然后我们拭目以待。

如何使用

目前,这是一个非常开发的版本。因此,它主要关注我直接从源代码运行它的工作流程。然而,我对“易于使用”方向的贡献持开放态度。例如,如果你想做一个 Dockerfile 通过docker运行它,非常欢迎。

直接运行它

  1. 在我们开始之前,你需要 python 3.10(或更高版本)以及 uv 安装在您的系统上。

  2. 下载源代码。

git clone git@github.com:THeK3nger/calibre-mcp.git
cd calibre-mcp
  1. 现在我们将MCP安装到Claude Desktop中:
uv run mcp install server.py
  1. 现在,除非您将Calibre Content Server运行到默认url(http://localhost:8080)你的图书馆ID是 Library,您可能必须在Claude Desktop配置中配置两个环境变量。那么,让我们打开 claude_desktop_config.json (在macOS上,您可以在 ~/Library/Application Support/Claude/,在Linux上,它应该在 ~/.config 文件夹)。

  2. 查找Calibre MPC的配置。它应该看起来像这样:

    "Calibre": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/path/to/calibre-mcp/server.py"
      ]
    }
  1. 现在我们可以添加两个环境变量。替换 CALIBRE_BASE_URL 使用您的Content Server URL和 CALIBRE_LIBRARY_ID 使用您的图书馆ID。
    "Calibre": {
      "command": "/opt/homebrew/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/path/to/calibre-mcp/server.py"
      ],
      "env": {
        "CALIBRE_BASE_URL": "http://localhost:8080",
        "CALIBRE_LIBRARY_ID": "Library"
      }
    }
  1. 就是这样。现在你可以享受MCP服务器了。只要确保你启动了Calibre的Content Server。

重要提示

写入操作

执行编辑操作的工具(例如 setCustomColumn)要求Calibre Content Server与 --enable-local-write 标记或在Calibre的首选项中启用相应的设置。如果没有此设置,写入操作将失败。

要启用本地写访问,请执行以下操作:

  • 命令行:使用启动Content Server calibre-server --enable-local-write
  • 图形用户界面:在Calibre首选项中,转到“通过网络共享”,并在“高级”选项卡中启用“允许未经身份验证的本地连接进行更改”。

认证

目前,此MCP服务器不支持身份验证。如果您的Calibre Content Server需要身份验证,则需要将其配置为允许未经身份验证的访问,或者修改服务器代码以包含身份验证凭据。

与其他客户端的配置

当然,MCP是通用的,您可以使用Claude Desktop以外的客户端对其进行配置。例如,VSCode可以自动加载Claude Desktop配置,以便您可以将MCP服务器与Copilot一起使用。其他客户端可能具有不同的配置。请参阅他们的文档以获取更多信息(或在README上打开PR,让我们在此处添加更多信息!)