README
🚀 MCP 服务器
本项目是一个 MCP(多智能体对话协议)服务器,针对给定的 OpenAPI URL - https://raw.githubusercontent.com/PokeAPI/pokeapi/refs/heads/master/openapi.yml ,使用 AG2 的 MCP 构建器 自动生成。
🚀 快速开始
本 MCP 服务器的使用涉及到安装、开发、运行等多个步骤,下面将为你详细介绍。
✨ 主要特性
- 针对特定 OpenAPI URL 自动生成,适配性强。
- 支持多种传输模式,如
stdio、sse。 - 具备完善的开发工具链,包括代码检查、格式化、静态分析和测试工具。
- 可通过环境变量进行灵活配置。
📦 安装指南
前提条件
- Python 3.9+
- pip 和 uv
安装步骤
- 克隆仓库:
git clone <repository-url> cd mcp-server - 安装依赖:
.devcontainer/setup.sh 脚本会使用
pip install -e ".[dev]"来安装依赖。如果你不使用开发容器,可以手动运行此命令。或者,你也可以使用pip install -e ".[dev]"uv:uv pip install --editable ".[dev]"
💻 使用示例
基础用法
启动服务器
MCP 服务器可以使用 mcp_server/main.py 脚本启动,它支持不同的传输模式(例如 stdio、sse)。
python mcp_server/main.py stdio
配置服务器
服务器可以使用环境变量进行配置:
CONFIG_PATH:JSON 配置文件的路径(例如 mcp_server/mcp_config.json)。CONFIG:包含配置信息的 JSON 字符串。SECURITY:用于安全参数的环境变量(例如 API 密钥)。
具体如何加载这些环境变量,请参考 mcp_server/main.py 文件中的 if __name__ == "__main__": 代码块。
高级用法
测试服务器
tests/test_mcp_server.py 文件展示了如何以编程方式启动和与服务器进行交互以进行测试。
📚 详细文档
开发相关
本项目使用 ruff 进行代码检查和格式化,mypy 进行静态类型检查,pytest 进行测试。
代码检查和格式化
检查代码中的问题:
ruff check
格式化代码:
ruff format
这些命令也可以通过 scripts/lint.sh 脚本执行。
静态分析
运行静态分析(mypy、bandit、semgrep):
./scripts/static-analysis.sh
此脚本也在 .pre-commit-config.yaml 中配置为预提交钩子。
运行测试
运行带覆盖率的测试:
./scripts/test.sh
这将运行 pytest 并生成覆盖率报告。如果需要合并报告并清理,可以使用:
./scripts/test-cov.sh
预提交钩子
本项目使用 .pre-commit-config.yaml 中定义的预提交钩子。安装钩子:
pre-commit install
钩子将在每次提交前自动运行。
构建和发布
本项目使用 Hatch 进行构建和发布。 构建项目:
hatch build
发布项目:
hatch publish
这些命令也可以通过 scripts/publish.sh 脚本执行。
Scan to contact