MCP图书项目
使用书籍部署数据库,为该数据库创建API,然后使用MCP服务器访问该数据。
此存储库包含一个MCP服务器(使用 [mcp[cli]](https://pypi.org/project/mcp/) Python包)调用由该OpenAPI规范定义的单独的Books API:
服务器公开了两个工具:
get_books_by_author→ callsGET /author/{author_name}get_books_by_title→ callsGET /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
