MCP服务器
该项目是给定OpenAPI URL的MCP(模型上下文协议)服务器-https://api.apis.guru/v2/specs/onsched.com/utility/v1/openapi.json,使用AG2自动生成 MCP构建器.
先决条件
- Python 3.9+
- pip和uv
安装
- 克隆存储库:```sh
git clone
cd mcp-server
1. 安装依赖项:
这 .devcontainer/setup.sh 脚本使用以下命令处理安装依赖项 `pip install -e ".[dev]"`。如果您没有使用dev容器,则可以手动运行此命令。```sh
pip install -e ".[dev]"
或者,您可以使用 uv:```sh
uv pip install --editable ".[dev]"
## 发展
此项目使用 `ruff` 用于修剪和格式化, `mypy` 用于静态类型检查,以及 `pytest` 用于测试。
### 装订和格式化
检查棉绒问题:```sh
ruff check
要格式化代码,请执行以下操作:```sh
ruff format
这些命令也可通过 scripts/lint.sh 脚本。
### 静态分析
要运行静态分析(mypy、bandian、semgrep):```sh
./scripts/static-analysis.sh
此脚本还配置为中的预提交挂钩 .预调试配置.yaml.
运行测试
要运行覆盖率测试,请执行以下操作:```sh
./scripts/test.sh
这将运行pytest并生成覆盖率报告。对于合并报告和清理,您可以使用:```sh
./scripts/test-cov.sh
预提交钩子
此项目使用中定义的预提交挂钩 .预调试配置.yaml.安装挂钩:```sh
pre-commit install
钩子将在每次提交之前自动运行。
## 运行服务器
MCP服务器可以使用 mcpserver/main.py 脚本。它支持不同的传输模式(例如。, `stdio`, `sse`, `streamable-http`).
要启动服务器(例如,在stdio模式下):```sh
python mcp_server/main.py stdio
可以使用环境变量配置服务器:
CONFIG_PATH:JSON配置文件的路径(例如。, mcpserver/mcpconfig.json).CONFIG:包含配置的JSON字符串。SECURITY:安全参数的环境变量(例如,API密钥)。
请参阅 if __name__ == "__main__": 把…的车堵住 mcpserver/main.py 有关如何加载这些文件的详细信息。
这 tests/test_mcp_server.py 该文件演示了如何以编程方式启动服务器并与之交互以进行测试。
建筑与出版
此项目使用Hatch进行构建和发布。
要构建项目,请执行以下操作:```sh
hatch build
要发布项目,请执行以下操作:```sh
hatch publish
这些命令也可通过 scripts/publish.sh 脚本。
