数字图书馆API服务器

一个提供Aljam3数字图书馆API访问的MCP服务器,支持作者、书籍、类别和图书馆的查询与搜索功能。

  • by ieasybooks
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ieasybooks/aljam3-mcp

使用说明

Aljam3 MCP 服务器

一个提供访问Aljam3数字图书馆API的MCP(模型上下文协议)服务器。

功能

这个MCP服务器提供了与Aljam3数字图书馆交互的工具:

可用工具

  • 列出作者 - 列出作者,可选搜索功能
  • 获取作者 获取作者详情,可选扩展书籍信息
  • 列出书籍 列出书籍,并可选择搜索功能
  • 获取书籍 获取书籍详情,可选择扩展文件
  • 列出类别 列出所有可用的类别
  • 获取分类 获取类别详情,并可选择扩展书籍信息
  • 列出库 列出所有可用的库
  • 获取库 获取图书馆详细信息,并可选择扩展书籍信息
  • 获取文件 获取文件详细信息,可选扩展页数
  • 获取文件页面 获取特定文件的所有页面
  • 搜索 在所有页面中进行搜索,并使用筛选选项

安装

  1. 克隆此存储库:
git clone <repository-url>
cd aljam3-mcp
  1. 安装依赖项:
pip install -r requirements.txt

用法

运行服务器

python server.py

配置

服务器连接到Aljam3 API的时间为 https://aljam3.com 默认情况下。您可以修改 base_url 在 Aljam3Client 如需初始化类。

工具示例

搜索作者

# List authors with search query
await list_authors(q="محمد", limit=10)

获取书籍详情及文件

# Get book by ID with file information
await get_book(book_id=123, expand_files=True)

在所有书籍中搜索内容

# Search for specific content with filters
await search(
    query="الفقه الإسلامي",
    library=1,
    categories=[5, 6],
    limit=50
)

API覆盖率

这个MCP服务器涵盖了Aljam3 OpenAPI规范中的所有端点:

  • /api/v1/authors - 作者列表和搜索
  • /api/v1/authors/{id} - 个人作者详情
  • /api/v1/books 书籍列表和搜索
  • /api/v1/books/{id} 单本书的详细信息
  • /api/v1/categories 分类列表
  • /api/v1/categories/{id} - 单个类别详情
  • /api/v1/libraries - 库列表
  • /api/v1/libraries/{id} 单个库的详细信息
  • /api/v1/files/{id} 文件详情
  • /api/v1/files/{file_id}/pages 文件页面
  • /api/v1/search 全局内容搜索

开发

项目结构

aljam3-mcp/
├── server.py          # Main MCP server implementation
├── requirements.txt   # Python dependencies
├── pyproject.toml    # Project configuration
├── swagger.yaml      # API specification
└── README.md        # This file

依赖项

  • mcp>=1.0.0 模型上下文协议框架
  • httpx>=0.25.0 - 用于API请求的现代HTTP客户端

许可证

麻省理工学院许可协议