
CLI for WireMock
FreeManage WireMock HTTP mocks directly from your terminal.
Free · Opens the source repo
What CLI for WireMock does
cli-anything-wiremock is a command-line interface designed to simplify the management of the WireMock HTTP mock server. This tool wraps the WireMock Admin REST API, enabling developers and agents to create, inspect, and manage HTTP stub mappings, control stateful scenarios, and record real backend traffic from the command line. It is particularly useful in integration testing environments where simulating backend services is necessary to ensure that applications behave correctly without relying on live services.
The CLI provides several command groups that cover a variety of tasks. Users can manage HTTP stubs with commands to list, create, delete, and import stubs, making it easy to set up mock responses for testing. Additionally, the ability to inspect served requests allows developers to analyze how their application interacts with the mock server, including counting requests and identifying unmatched requests that result in 404 errors. This level of control is vital for debugging and ensuring that the application behaves as expected under different conditions.
For scenarios requiring stateful behavior, the CLI supports managing scenarios, allowing users to set and reset states as needed. Moreover, the recording feature enables capturing real backend traffic, which can then be converted into stubs for future testing. This is particularly beneficial for teams looking to build comprehensive test suites that reflect real-world interactions with their APIs. Overall, cli-anything-wiremock is a powerful tool for developers looking to enhance their testing workflows by leveraging the capabilities of WireMock directly from the terminal.
This skill is ideal for developers and QA engineers who frequently work with APIs and need a reliable way to simulate backend services. It streamlines the process of setting up tests and provides immediate feedback on how the application interacts with its environment, ultimately leading to more robust and reliable software development.
When to use it
Use this tool when you need to create, manage, or inspect HTTP mocks in a testing environment, especially when working with APIs.
When not to use it
This is not suitable for users who prefer graphical interfaces or need to manage non-HTTP services.
What you can build with it
Setting Up Mocks for Testing
Quickly create HTTP stubs for your API endpoints to simulate responses during integration tests.
Inspecting API Interactions
Use the CLI to analyze how your application interacts with the mock server by inspecting served requests.
Recording Real Backend Traffic
Capture real API interactions and convert them into stubs for future testing scenarios.
How to install CLI for WireMock
View source1. Install with the skills CLI
npx skills add hkuds/cli-anything/cli-anything-wiremock --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by hkudsOverview
cli-anything-wiremock is a command-line interface that wraps the WireMock Admin REST API (/__admin/). It allows agents and developers to manage HTTP stub mappings, inspect served requests, control stateful scenarios, and record real backend traffic — all from the terminal or from agent tool calls.
WireMock is commonly used in integration testing environments to replace real HTTP backends with controllable mock responses.
Command Groups
stub — Manage HTTP stub mappings
| Command | Description |
|---|---|
stub list | List all registered stubs |
stub get <id> | Get details of a specific stub by UUID |
stub create <json> | Create a stub from a JSON string |
stub quick M URL S | Quickly create a stub: METHOD URL STATUS_CODE |
stub delete <id> | Delete a stub by UUID |
stub reset | Reset all stubs to the defaults on disk |
stub save | Persist in-memory stubs to disk |
stub import <file> | Import stubs from a JSON file |
request — Inspect served requests
| Command | Description |
|---|---|
request list | List recent served requests |
request find <pattern> | Find requests matching a JSON pattern |
request count <pattern> | Count requests matching a JSON pattern |
request unmatched | List requests that matched no stub (404s) |
request reset | Clear the request journal |
scenario — Stateful scenario management
| Command | Description |
|---|---|
scenario list | List all scenarios and current states |
scenario set N S | Set scenario NAME to STATE |
scenario reset | Reset all scenarios to their initial state |
record — Record traffic from a real backend
| Command | Description |
|---|---|
record start <url> | Start proxying + recording to TARGET_URL |
record stop | Stop recording, return captured stubs |
record status | Check if currently recording |
record snapshot | Snapshot in-memory requests as stubs |
settings — Global server settings
| Command | Description |
|---|---|
settings get | Get current global WireMock settings |
settings version | Show WireMock server version |
Top-level commands
| Command | Description |
|---|---|
status | Check if WireMock is running |
reset | Full reset: stubs + requests + scenarios |
shutdown | Gracefully shut down the WireMock server |
Key Examples
# Check connectivity
cli-anything-wiremock status
# Create a stub using quick form
cli-anything-wiremock stub quick GET /api/users 200 --body '[{"id":1}]'
# Create a stub using full JSON
cli-anything-wiremock stub create '{
"request": {"method": "POST", "url": "/api/orders"},
"response": {"status": 201, "body": "{\"id\":99}"}
}'
# Verify a POST was made exactly once
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/orders"}'
# → {"count": 1}
# Scenario: advance state
cli-anything-wiremock scenario set "cart-flow" "item-added"
# Record a real backend
cli-anything-wiremock record start https://api.example.com
# ... make requests ...
cli-anything-wiremock record stop
Agent Guidance
Always use --json in agent contexts
Use --json for all invocations in scripts or agent tool calls. JSON output varies by command type (these are distinct response types, not an envelope wrapping all responses):
# Data commands return raw WireMock API JSON directly:
cli-anything-wiremock --json stub quick GET /api/hello 200 --body '{"hello":"world"}'
# → {"id": "abc-123", "request": {...}, "response": {...}, ...}
cli-anything-wiremock --json stub list
# → {"mappings": [...], "total": N}
# Void commands (delete, reset, save) return:
# → {"status": "ok"}
# Errors return:
# → {"status": "error", "message": "Connection refused"}
Connection via environment
Set connection params via environment variables before calling any command:
export WIREMOCK_HOST=localhost
export WIREMOCK_PORT=8080
Workflow pattern for test verification
- Set up stubs before running the system under test:
cli-anything-wiremock --json stub quick POST /api/payment 200 --body '{"success":true}' - Run the system under test.
- Verify interactions:
cli-anything-wiremock --json request count '{"method":"POST","url":"/api/payment"}' - Clean up:
cli-anything-wiremock reset
Error handling
Non-zero exit code on all errors. In --json mode, errors return {"status": "error", "message": "..."}. Success returns the raw WireMock API response.
Frequently asked questions about CLI for WireMock
Similar skills
WinMD API Search
Easily find and explore Windows desktop APIs.
WebMCPify
Transform any web app into an agent-ready platform.
Phoenix Tracing
Instrument LLM applications with OpenInference tracing.
Foundry Hosted Agent CopilotKit
Guidance for developing agentic web apps on Azure.
Power Automate Foundation
Connect AI agents to Power Automate seamlessly.
Power Automate Flow Builder
Efficiently build and deploy Power Automate flows programmatically.
