MCP server for the powhttp HTTP traffic analysis tool, providing tools for searching, indexing, and analyzing HTTP entries from captured traffic sessions
This server exposes a single tool 'search_body' with adequate basic structure but significant gaps in pattern adherence. The tool has a reasonable name (verb-noun format: search_*) and a generic description, but lacks critical pattern implementations: no pagination support despite potentially returning large result sets, no error handling guidance, no structured output documentation, and no output schema visible in the code. The parameter schema is visible and typed, but several parameters lack depth in their descriptions. Overall, this is a fair-to-poor implementation that would benefit from pagination, explicit output schema documentation, and richer error guidance. Tool definitions are directly visible (not inferred), so they score at full weight rather than capped at 50.
Search for text in HTTP request/response bodies
No pagination or result-limiting pattern implemented. Tool accepts 'limit' parameter but no cursor, offset, or page support. Large HTTP body result sets will blow context windows and violate mxe:enforce-result-limits.
Output schema not documented anywhere in source. Tool description does not specify what structure is returned (array of matches? match objects with which fields?). LLM cannot plan downstream tool calls without knowing response structure.
No error handling guidance. Tool description does not explain what happens when query is empty, host is malformed, or no results are found. Per pattern:recovery-guide, errors should tell the LLM what to do next.
Parameter descriptions are generic and lack constraint information. 'Text to search for in request/response bodies' does not explain max length, regex support, case sensitivity, or what constitutes valid input. 'Filter by host' does not specify format (hostname only? include port? IP addresses allowed?).
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 28 | - | v1 |
Tool description is only 70 characters and lacks critical context. It does not explain WHEN to use this tool (e.g., 'Call this after making HTTP requests to analyze the bodies'), what it actually returns, or what prerequisites exist (does it require prior HTTP requests to be captured?).
Default value for 'limit' parameter is stated in description only ('default: 10'), not in the schema. Schema should carry min/max bounds explicitly so LLMs cannot pass absurd values like limit=999999.