Hoverfly Mcp Server

Hoverfly Mcp Server

🚀 Hoverfly MCP 服务器

Hoverfly MCP 服务器是一个基于 Spring Boot模型上下文协议(MCP) 服务器,它将 Hoverfly 作为可编程工具,供 CursorClaude DesktopGitHub Copilot 等支持 MCP 的 AI 助手使用。该服务器能够对第三方 API 进行动态模拟,从而在外部服务不可用时,保障开发和测试工作的顺利进行。

🚀 快速开始

本项目可帮助你使用 Hoverfly 作为可编程工具,为支持 MCP 的 AI 助手提供第三方 API 的动态模拟功能,助力开发和测试工作。

📦 安装指南

⚠️ 重要提示

以下的先决条件和构建步骤仅适用于想要贡献代码或从源代码进行构建的情况。对于大多数用户来说,使用 Docker 镜像就足够了。

先决条件

  • Java 17
  • Maven 3.6+

构建与运行

git clone 
cd hoverfly-mcp-server
mvn clean package
java -jar target/hoverfly-mcp-server-.jar

请将 替换为你构建的 JAR 文件的实际版本。

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

要将此服务器与支持模型上下文协议(MCP)的 AI 助手配合使用,请在你的 .mcp.jsonmcp.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:Hoverfly 管理端口(模拟控制 API)
  • -v /path/to/your/data:/opt/hoverfly-mcp/simulation-data:挂载一个卷以实现模拟数据的持久化

请确保已安装 Docker。如果本地没有该镜像,它将自动拉取。

🔧 暴露的 MCP 工具

工具名称 详情
get_hoverfly_status 检查 Hoverfly 是否正在运行
start_hoverfly_web_server 以模拟模式启动 Hoverfly 作为 Web 服务器。默认情况下,如果 /opt/hoverfly-mcp/simulation-data 中有最新的模拟文件,它将自动加载,除非禁用了自动加载功能。
stop_hoverfly_server 停止 Hoverfly 并清除模拟数据
fetch_hoverfly_version 返回 Hoverfly 的版本
list_hoverfly_mocks 列出所有活动的模拟 API(请求 - 响应对)
add_hoverfly_mock 使用 JSON 请求 - 响应对定义添加一个模拟 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 助手主机以编程方式调用。

💾 模拟数据持久化

服务器通过固定的挂载卷支持模拟数据的持久化:

启动时自动加载

使用 start_hoverfly_web_server 启动 Hoverfly 时,服务器默认会:

  • /opt/hoverfly-mcp/simulation-data 加载最新的模拟文件(如果可用)
  • 如果未找到模拟文件,则以干净的状态启动

你可以通过设置相应的参数来禁用自动加载功能。

持久化数据和卷挂载

为了在重启后保留模拟数据,你 必须 将主机目录挂载到容器内的 /opt/hoverfly-mcp/simulation-data
这是唯一支持持久化数据的位置。

⚠️ 重要提示

主机目录必须对容器用户具有可写权限。

只有在你显式调用下载工具时,模拟文件才会保存到该目录。

🤝 贡献代码

  1. Fork 此仓库
  2. 创建一个功能分支
  3. 提交拉取请求

📄 许可证

有关许可条款,请参阅 LICENSE 文件。

  • 0 关注
  • 0 收藏,25 浏览
  • system 提出于 2025-10-01 20:09

相似服务问题

相关AI产品