本项目是一个MCP(模型上下文协议)服务器,它针对给定的OpenAPI URL - https://api.apis.guru/v2/specs/ndhm.gov.in/ndhm-hiu/0.5/openapi.json,使用AG2的 MCP构建器 自动生成。
此项目为MCP服务器,可依据指定的OpenAPI URL生成,下面将介绍该项目的前置要求、安装、开发、运行等步骤。
stdio、sse、streamable-http。git clone
cd mcp-server
pip install -e ".[dev]" 来处理依赖安装。如果你不使用开发容器,可以手动运行此命令。pip install -e ".[dev]"
或者,你可以使用 uv:uv pip install --editable ".[dev]"
检查代码的检查问题:
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
钩子将在每次提交前自动运行。
MCP服务器可以使用 mcp_server/main.py 脚本启动。它支持不同的传输模式(例如,stdio、sse、streamable-http)。
启动服务器(例如,在stdio模式下):
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 文件演示了如何以编程方式启动服务器并与之交互以进行测试。
本项目使用Hatch进行构建和发布。 构建项目:
hatch build
发布项目:
hatch publish
这些命令也可以通过 scripts/publish.sh 脚本执行。