MCP server for Mockwave, a mock server platform for testing HTTP APIs, event rules, and chaos engineering. Provides tools for managing simulations, rules, fault profiles, event captures, and observability.
Mockwave provides 33 tools with consistent naming (verb_noun pattern) and basic descriptions. All tools have input schemas with type definitions. However, descriptions are often terse (10-50 chars), parameter descriptions lack detail on constraints/formats, and output schemas are not documented. Error handling guidance is minimal. The server follows a clear structure but falls short of production-grade LLM-optimized documentation.
Delete all captured events for an event rule
Delete all unmatched requests
Create a new event rule. The 'event_rule' parameter is a JSON object with fields: id, name, disabled, match (service, target, source, detail_type, attributes, message), optional forward (endpoint, region, credential, delay_ms).
Create a new fault profile. The 'fault_profile' parameter is a JSON object with fields: id, name, description, enabled (bool), faults (array). Each fault has: type (jitter/error/hang/reset/halfResponse/slowBody/retryStorm), probability [0,1], params (type-specific).
Create a new rule
Create a new simulation
Delete an event rule by ID
Complex object parameters (rule, simulation, fault_profile, event_rule) lack nested schema documentation. LLMs cannot infer required fields, types, or constraints for nested objects.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., rule_id after create_rule). Violates pattern:tool requirement.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2025-06-18+ | v2 |
Delete a fault profile by ID
Delete a rule by ID
Delete a simulation by ID
Evaluate a JavaScript simulation script against a sample request to test computed responses
Get current chaos state: kill-switch (halted) flag and active-scenario name.
Get the full detail of a single captured event (includes request and response bodies)
Get a single event rule by ID (filters the list client-side; no single-get endpoint exists)
Get a single fault profile by ID (uses GET /api/faults/{id} directly)
Get current metrics from the Mockwave instance
Get the rolling metrics history (recent traffic time-series)
Get a single rule by ID
Get a single simulation by ID
Pause all active chaos faults immediately (kill-switch). Resume with resume_chaos.
Check the health status of the Mockwave instance
List captured events for an event rule, newest first. Supports filtering by body JSONPath (e.g. {"$.correlation_id":"abc"}), message attributes, source/detail_type query fields, method, path, and HTTP status. Paginated via cursor.
List all event rules in the Mockwave instance
List all fault profiles in the Mockwave instance
List all rules in the Mockwave instance
List all simulations in the Mockwave instance
List unmatched requests (requests that did not match any rule)
Trigger a reload of the Mockwave configuration
Resume chaos fault injection after a halt.
Replace an existing event rule. Overwrites the event rule with the given ID.
Replace an existing fault profile. Overwrites the fault profile with the given ID.
Replace an existing rule. Overwrites the rule with the given ID.
Replace an existing simulation. Overwrites the simulation with the given ID.
Descriptions for most tools are 40-60 characters, below the 50-200 char LLM-optimized baseline. Lack context on WHEN to use each tool vs similar ones (e.g., list_rules vs get_rule).
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next (e.g., 'Rule not found. Try list_rules() first.').
Destructive tools (delete_rule, delete_simulation, delete_fault, clear_unmatched, clear_event_captures, delete_event_rule) lack confirmation or dry-run support. No protection against accidental agent-initiated deletions.