图书管理服务器

MCP服务器用于管理多格式、多语言的图书集合,支持元数据提取、语言检测、ISBN跟踪和质量追踪。

  • by lemenkov
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 lemenkov/mcp-library

使用说明

mcp库

用于管理书籍的MCP服务器。

概述

此MCP服务器提供用于管理无组织图书收藏的工具,包括:

  • 多种格式:PDF、DjVu、EPUB、FB2、DOC、HTML、JPEG集合
  • 多种语言:俄语、英语、德语、捷克语等。
  • 具有全面元数据跟踪功能的SQLite数据库
  • 支持部分扫描、损坏书籍和OCR跟踪
  • 维基百科引文生成(模板:Cite_book)
  • 外部元数据集成(WorldCat、OCLC、VIAF、美国国会图书馆)
  • 未来的OPDS和OCR系统集成

特性

  • 元数据抽取 来自PDF、DjVu、EPUB、FB2、DOC文件
  • 语言检测 从文件名和内容
  • ISBN追踪 以及书目元数据
  • 质量追踪 用于OCR、缺页、扫描质量
  • 版本跟踪 通过SHA256文件哈希
  • URI支持 对于文件://、https://、nfs://、ssh://位置
  • 维基百科集成 支持citebook模板
  • 外部元数据 (OCLC、LCCN、VIAF、DOI、Archive.org)
  • 搜索和浏览 按标题、作者、语言、主题、标签
  • 文本提取 来自特定页面范围

安装

# Clone or create project directory
mkdir -p /opt/mcp-servers/library
cd /opt/mcp-servers/library

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install in editable mode
pip install -e .

配置

设置书籍目录路径:

export LIBRARY_BOOKS_DIR="/home/Username/Books"
export LIBRARY_DB_PATH="/home/Username/Books/.library.db"

用法

初始化数据库

# Create database schema
library-init-db

# Index your books directory
library-index

运行MCP服务器

标准模式(本地):

library

HTTP模式(远程):

library --transport http --port 8080

MCP工具

搜索和浏览

  • search_library -按标题、作者、文件名、语言、ISBN搜索
  • list_by_language -按语言浏览书籍
  • list_by_subject -按主题类别浏览书籍
  • get_book_info -获取书籍的完整元数据

内容访问

  • extract_pages -从特定页面范围提取文本
  • get_wikipedia_citation -生成cite_book模板

维护

  • index_directory -扫描目录并更新数据库
  • update_book_metadata -手动更新图书信息

数据库模式

看 schema.sql 完整的数据库结构,包括:

  • 核心图书元数据(标题、作者、ISBN、语言等)
  • 维基百科引文(cite_book模板字段)
  • 外部元数据(OCLC、VIAF、WorldCat、DOI等)
  • 文件版本控制(SHA256跟踪)
  • 质量跟踪(OCR状态、缺失页面、评级)
  • 外部库(OPDS目录)
  • OCR处理(多引擎、进度跟踪)

发展

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

许可证

阿帕奇-2.0

作者

彼得·莱门科夫 lemenkov@gmail.com