图书数据库API服务

一个通过MCP服务器访问图书数据库的API服务,提供按作者和书名搜索图书的功能。

  • by Akatama
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Akatama/MCP-Book-Project

使用说明

MCP图书项目

使用书籍部署数据库,为该数据库创建API,然后使用MCP服务器访问该数据。

此存储库包含一个MCP服务器(使用 mcp[cli] Python包)调用由该OpenAPI规范定义的单独的Books API:

服务器公开了两个工具:

  • get_books_by_author → calls GET /author/{author_name}
  • get_books_by_title → calls GET /books/{book_name}

这两个工具都支持可选 publish_by_date 查询参数。

需求

  • python 3.13 或更新
  • pip 或 uv

安装

从该存储库的根目录,在当前环境中安装项目: pip install .

这将安装:

  • 这 mcp-book-project 包裹
  • 控制台脚本 mcp-books-server

如果您更喜欢可编辑/开发安装: pip install -e .

运行MCP服务器

直接CLI使用

您可以直接从安装的控制台脚本运行服务器: mcp-books-server

这将通过stdio启动MCP服务器,准备供MCP兼容客户端使用。

使用 mcp CLI(如果您想将其注册为服务器)

如果您正在使用 mcp CLI,您可以将其配置为使用此服务器。

首先,确保已安装该包(如上所述),然后在MCP客户端配置中添加一个指向的服务器条目 mcp-books-server 命令。

典型的调用(来自支持MCP的客户端)如下: mcp run mcp-books-server (确切的命令取决于您的MCP客户端;请参阅该客户端的文档。)

暴露的工具

服务器运行后,您的MCP客户端将看到两个工具:

get_books_by_author

  • 说明: 按作者姓名搜索书籍(部分匹配)。
  • 参数:
    • author_name (字符串,必填)-作者姓名或部分姓名。
    • publish_by_date (字符串,可选)-按发布日期筛选(例如。 YYYY-MM-DD).

get_books_by_title

  • 说明: 按书名搜索书籍(部分匹配)。
  • 参数:
    • book_name (字符串,必填)-书籍标题或部分标题。
    • publish_by_date (字符串,可选)-按发布日期筛选(例如。 YYYY-MM-DD).

这两个工具都返回书籍API定义的书籍对象的JSON数组。

发展

要设置开发环境,请执行以下操作:

uv venv
source .venv/bin/activate
pip install -e .

然后,您可以使用以下命令运行服务器: mcp-books-server