k

kumaranvpl

api-testingimage-and-video-processingentertainment-and-media

359 查看 · 2026-07-07 更新

MCP 服务器

该项目是一个针对给定 OpenAPI URL - https://api.apis.guru/v2/specs/giphy.com/1.0/openapi.json 的 MCP(多代理对话协议)服务器,使用 AG2 的 MCP 构建器自动生成。

先决条件

  • Python 3.9+
  • pip 和 uv

安装

  1. 克隆仓库: sh git clone cd mcp-server

  2. 安装依赖项: .devcontainer/setup.sh 脚本通过 pip install -e ".[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, bandit, semgrep): sh ./scripts/static-analysis.sh

该脚本也在 .pre-commit-config.yaml 中配置为 pre-commit 钩子。

运行测试

要运行带有覆盖率的测试: sh ./scripts/test.sh

这将运行 pytest 并生成覆盖率报告。对于合并报告和清理,您可以使用: sh ./scripts/test-cov.sh

Pre-commit 钩子

该项目使用在 .pre-commit-config.yaml 中定义的 pre-commit 钩子。要安装钩子: sh pre-commit install

这些钩子将在每次提交前自动运行。

运行服务器

MCP 服务器可以通过 mcp_server/main.py 脚本启动。它支持不同的传输模式(例如,stdio, sse)。

要启动服务器(例如,在 stdio 模式下): sh 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 进行构建和发布。 要构建项目: sh hatch build

要发布项目: sh hatch publish

这些命令也可以通过 scripts/publish.sh 脚本来执行。

来源