hoverfly-mcp-server

kapishmalik/hoverfly-mcp-server

3.4

If you are the rightful owner of hoverfly-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Hoverfly MCP Server is a Spring Boot-based server that exposes Hoverfly as a programmable tool for AI assistants, enabling dynamic mocking of third-party APIs.

Hoverfly MCP Server

A Spring Boot-based Model Context Protocol (MCP) server that exposes Hoverfly as a programmable tool for AI assistants like Cursor, Claude Desktop, GitHub Copilot, or any other assistant supporting MCP. It enables dynamic mocking of third-party APIs to unblock development and testing when external services are unavailable.


🛠️ Installation

Note: The following prerequisites and build steps are only required if you want to contribute or build from source. For most users, using the Docker image is sufficient.

Prerequisites

  • Java 17
  • Maven 3.6+

Build & Run

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

Replace <version> with the actual version of the JAR you built.


⚙️ Configuring as an MCP Server (with Docker)

To use this server with an AI assistant that supports Model Context Protocol (MCP), add the following to your .mcp.json or 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 proxy port (mocked services)
  • 8888: Hoverfly admin port (mock control API)
  • -v /path/to/your/data:/opt/hoverfly-mcp/simulation-data: Mount a volume for simulation persistence

Make sure Docker is installed. The image will be pulled automatically if not available locally.


🔧 Exposed MCP Tools

Tool NameDescription
get_hoverfly_statusChecks if Hoverfly is running
start_hoverfly_web_serverStarts Hoverfly in simulate mode as a web server. By default, it will auto-load the most recent simulation from /opt/hoverfly-mcp/simulation-data if available, unless auto-load is disabled.
stop_hoverfly_serverStops Hoverfly and clears mocks
fetch_hoverfly_versionReturns Hoverfly version
list_hoverfly_mocksLists all active mock APIs (request-response pairs)
add_hoverfly_mockAdds a mock API using a JSON RequestResponsePair definition
clear_hoverfly_mocksRemoves all existing mock APIs
show_hoverfly_endpoints_infoReturns key Hoverfly endpoints and example usage
get_hoverfly_documentationReturns Hoverfly documentation for a specific topic
suggest_hoverfly_matchersSuggests matcher options for a given request-response pair JSON
get_hoverfly_debug_logsFetches recent Hoverfly logs for debugging (limit is optional)
download_hoverfly_simulationDownloads current simulation to /opt/hoverfly-mcp/simulation-data (persistent simulation directory)

These tools can be invoked programmatically by AI assistants through the AI Assistant host.


💾 Simulation Persistence

The server supports simulation persistence through a fixed, mounted volume:

Auto-Load on Startup

When starting Hoverfly with start_hoverfly_web_server, the server will by default:

  • Load the most recent simulation file from /opt/hoverfly-mcp/simulation-data (if available)
  • Start with a clean state if no simulation file is found

You can disable auto-load by setting the appropriate parameter.

Persistent Data and Volume Mounting

To persist simulation data across restarts, you must mount a host directory to /opt/hoverfly-mcp/simulation-data inside the container.
This is the only supported location for persistent data.

Note: The host directory must be writable by the container user.

Simulation files are only saved to this directory when you explicitly invoke the download tool.

🤝 Contributing

  1. Fork this repo
  2. Create a feature branch
  3. Submit a Pull Request

📜 License

See file for licensing terms.