本项目是一个 MCP(模型上下文协议)服务器,它针对给定的 OpenAPI URL - https://api.apis.guru/v2/specs/twilio.com/twilio_frontline_v1/1.42.0/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]"
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 文件展示了如何以编程方式启动和与服务器进行交互以进行测试。
本项目使用 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 脚本执行。