h

harishmohanraj

@harishmohanraj/giphy-api
0 Stars 361 次浏览 harishmohanraj 更新于 2026-08-23
该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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 中配置为预提交钩子。

运行测试

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

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

预提交钩子

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

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

运行服务器

可以使用 mcp_server/main.py 脚本来启动 MCP 服务器。它支持不同的传输模式(例如,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 脚本来执行。

相关 MCP 服务