HTTP and HTTPS fault-injection proxy for development and testing
Faultline provides 12 tools with consistent naming (verb_noun pattern: add_rule, list_rules, remove_rule, etc.) and basic descriptions. However, parameter descriptions are minimal or absent for most tools. Input schemas are visible in test files but lack detail: match, fault, and behavior parameters in add_rule are typed as 'object' with only high-level descriptions, providing no guidance on required/optional subfields. Output schemas are not documented. Error handling is not evident from the code provided. The server follows a clear domain (fault injection rules, scenarios, events) but lacks the depth needed for production LLM integration.
Activate a scenario by name
Add a new fault injection rule to the store
Deactivate a scenario by name
Get recorded events with optional filtering by host, faulted status, and limit
Get a summary report of total requests and faulted requests
List all fault injection rules in the order they apply
List all scenarios and their active status
Object-typed parameters lack subfield documentation. add_rule's 'match', 'fault', and 'behavior' are typed as object with only 1-line descriptions. LLMs cannot infer required subfields, types, or constraints without detailed schema.
Output schemas not documented. Tools like list_rules, list_upstreams, get_events, get_report return data but no schema is visible. LLMs cannot plan downstream calls or extract fields without knowing response structure.
Minimal parameter descriptions. Most tools have 1-2 word descriptions per parameter (e.g., 'The rule ID to remove'). No guidance on format, constraints, or valid ranges. Descriptions should be 50-150 chars with examples of valid input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
List upstream hosts with request and fault statistics
Delete a fault injection rule by ID
Clear all recorded events and rearm all rules
Enable or disable a fault injection rule
Wait for an event matching specified criteria within a timeout
No error handling guidance. Tool descriptions do not explain failure modes, recovery steps, or when to retry. E.g., wait_for_event has a 300s timeout but no guidance on timeout errors or retry strategy.
Destructive operations lack confirmation pattern. reset_session clears all events and rearms rules but has no dry-run or confirmation step. Agents could accidentally invoke this without safeguards.