Hoverfly MCP 服务器

一个基于Spring Boot的模型上下文协议(MCP)服务器,将Hoverfly暴露为可编程工具,用于AI助手如Cursor、Claude Desktop、GitHub Copilot等,支持动态模拟第三方API以解决开发和测试中外部服务不可用的问题。

  • by kapishmalik
  • Java
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 kapishmalik/hoverfly-mcp-server

使用说明

Hoverfly MCP服务器

A. Spring Boot表示“总部设在…的”、“以…为基地的” 模型上下文协议(MCP) 暴露的服务器 食蚜蝇 作为AI助手的可编程工具,如 光标, 克劳德桌面, GitHub Copilot或支持MCP的任何其他助手。它允许动态模拟第三方API,以便在外部服务不可用时解锁开发和测试。


🛠️ 安装

注: 只有当您想从源代码贡献或构建时,才需要以下先决条件和构建步骤。对于大多数用户来说,使用Docker镜像就足够了。

先决条件

  • Java 17
  • Maven 3.6+

构建与运行

git clone <repository-url>
cd hoverfly-mcp-server
mvn clean package
java -jar target/hoverfly-mcp-server-<version>.jar

替换 <version> 使用您构建的JAR的实际版本。


⚙️ 配置为MCP服务器(使用Docker)

要将此服务器与支持模型上下文协议(MCP)的AI助手一起使用,请将以下内容添加到您的 .mcp.json 或 mcp.config.json:

{
  "mcpServers": {
    "hoverfly-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p 8500:8500",
        "-p 8888:8888",
        "-v /path/to/your/data:/opt/hoverfly-mcp/simulation-data",
        "docker.io/kapish88/hoverfly-mcp-server"
      ]
    }
  }
}
  • 8500:Hoverfly代理端口(模拟服务)
  • 8888:悬停管理端口(模拟控制API)
  • -v /path/to/your/data:/opt/hoverfly-mcp/simulation-data:装载用于模拟持久性的卷

确保Docker已安装。如果本地不可用,将自动提取图像。


🔧 暴露的MCP工具

工具名称 描述
get_hoverfly_status 检查Hoverfly是否正在运行
start_hoverfly_web_server 以web服务器的身份在模拟模式下启动Hoverfly。默认情况下,它将自动加载来自的最新模拟 /opt/hoverfly-mcp/simulation-data 如果可用,除非禁用自动加载。
stop_hoverfly_server 停止悬停飞行并清除模拟
fetch_hoverfly_version 返回Hoverfly版本
list_hoverfly_mocks 列出所有活动的模拟API(请求-响应对)
add_hoverfly_mock 使用JSON RequestResponsePair定义添加模拟API
clear_hoverfly_mocks 删除所有现有的模拟API
show_hoverfly_endpoints_info 返回关键的Hoverfly端点和示例用法
get_hoverfly_documentation 返回特定主题的Hoverfly文档
suggest_hoverfly_matchers 为给定的请求-响应对JSON建议匹配器选项
get_hoverfly_debug_logs 获取最近的Hoverfly日志进行调试(限制是可选的)
download_hoverfly_simulation 将当前模拟下载到 /opt/hoverfly-mcp/simulation-data (持久仿真目录)

AI助手可以通过AI Assistant主机以编程方式调用这些工具。


💾 模拟持久性

服务器通过固定的已挂载卷支持模拟持久性:

启动时自动加载

当使用启动Hoverfly时 start_hoverfly_web_server,默认情况下,服务器将:

  • 从加载最新的仿真文件 /opt/hoverfly-mcp/simulation-data (如果可用)
  • 如果找不到模拟文件,则从干净状态开始

您可以通过设置适当的参数来禁用自动加载。

持久数据和卷装载

要在重启过程中保持模拟数据不变,您需要 必须 将主机目录装载到 /opt/hoverfly-mcp/simulation-data 在容器内。
这是唯一支持持久数据的位置。

注: 主机目录必须可由容器用户写入。

只有当您明确调用下载工具时,仿真文件才会保存到此目录。

🤝 贡献

  1. 分叉此回购
  2. 创建要素分支
  3. 提交拉取请求

📜 许可证

看 许可证 许可条款文件。