图书mcp服务器
](https://smithery.ai/server/@ZohaibCodez/book-mcp-server)
MCP(模型上下文协议)服务器,提供工具、资源和提示,用于浏览、搜索和推荐本地数据集中的书籍。使用Python 3.12、FastMCP和uvicorn构建。
目录
- 概述
- 特性
- 数据
- 快速入门(本地)
- 码头工人
- Smithery人工智能部署
- 项目布局
- 发展
- 许可证
- 联系
📘 概述
此服务器为图书发现任务(列表、搜索、推荐、摘要)提供了一套干净的MCP工具和资源。它的设计易于在本地运行、容器化和部署,具有专业的代码结构、类型提示和健壮的文档字符串。
✨ 特性
- 工具
- list_books:返回所有书名 - total_books:返回书籍总数 - get_book_detail:按ID获取书籍的详细信息 - search_books:按标题关键字搜索书籍 - recommend_book:从给定的流派中随机推荐一本书 - top_books:按评级返回Top-N书籍 - random_book:随机选取一本书
- 资源
- book://collection:整个数据集 - book://collection/{book_id}:按ID(精确)或标题子字符串匹配 - book://collection/genres:独特的流派 - book://collection/genres/{genre}:特定流派的书籍
- 提示
- Test_prompt - summarize_book_prompt
🗂️ 数据
- 来源:
data/data.json - 预期格式:具有
books阵列。
🚀 快速入门(本地)
先决条件:
- Python 3.12+
- 可选:
uv用于快速安装
使用紫外线(推荐):
uv sync
uv run book-mcp-server
# or
uv run uvicorn server:mcp_server --host 0.0.0.0 --port 8000使用pip(可编辑安装):
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
. .venv/bin/activate
pip install -U pip
pip install -e .
book-mcp-server
# or
uvicorn server:mcp_server --host 0.0.0.0 --port 8000环境变量:
PORT(默认值:8000)
🐳 码头工人
构建并运行生产映像:
docker build -t book-mcp-server .
docker run --rm -p 8000:8000 --name book-mcp book-mcp-server带有热重载的开发人员映像:
# Build
docker build -f Dockerfile.dev -t book-mcp-dev .
# Windows (cmd)
docker run --rm -it -p 8000:8000 -v %cd%:/app book-mcp-dev
# Linux/macOS (bash)
docker run --rm -it -p 8000:8000 -v "$(pwd)":/app book-mcp-dev🧠 Smithery人工智能部署
添加a smithery.yaml 在您的旁边 Dockerfile:
version: 1
start:
command: ["book-mcp-server"]
port: 8000或者,直接运行uvicorn:
version: 1
start:
command: ["uvicorn", "server:mcp_server", "--host", "0.0.0.0", "--port", "8000"]
port: 8000指导:见Smithery文件: 项目配置指南.
📁 项目布局
book-mcp-server/
├─ server.py # MCP app (tools, resources, prompts)
├─ data/data.json # Local dataset of books
├─ pyproject.toml # Project metadata and dependencies
├─ Dockerfile # Production image
├─ Dockerfile.dev # Dev image (hot reload)
├─ uv.lock # uv lockfile
└─ LICENSE # MIT License🛠️ 发展
- 干净的代码:类型提示、保护子句、描述性命名
- 实时重新加载:
uv run uvicorn server:mcp_server --host 0.0.0.0 --port 8000 --reload⚖️ 许可证
麻省理工学院——见 LICENSE.
📫 联系
- 作者:佐海布·汗
- github: 佐海布德兹
- 电子邮件:itxlevicodez@gmail.com
