MCP server for querying and analyzing BetterStack logs via npx
Server provides 5 read-only tools with documented input schemas and descriptions. All tools follow verb_noun naming (list_, get_, query_). However, several tools have descriptions that are somewhat generic, and output schemas are not explicitly documented in the visible code. Parameter descriptions are present but vary in specificity. No destructive operations (all READ_ONLY), which reduces security/error handling burden. Tools are well-composed for log querying workflow but lack response field documentation and error recovery guidance.
Get detailed information about a specific source group including all member sources
Get detailed information about a specific source including schema and available fields
List all source groups available in BetterStack
List all available log sources from BetterStack
Query logs from BetterStack with filtering, time range selection, and limit options
Output schemas not documented for any tool. LLMs cannot plan downstream operations or extract required fields without knowing response structure.
enum constraints embedded in descriptions (e.g. 'recent, historical, metrics, or union') instead of formal JSON Schema enum. LLMs cannot reliably parse prose constraints.
No error handling guidance in tool descriptions. Descriptions do not explain recovery paths (e.g. 'if source not found, call list_sources'). Error responses not documented.
Parameter descriptions lack constraints for numeric values. 'limit' states '1-1000, default: 100' in description but no minItems/maxItems in schema. Inconsistent constraint specification.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 49 | - | v1 |
list_source_groups and list_sources have minimal descriptions (under 80 characters). Descriptions should explain WHEN to call each tool and why you'd pick one over the other.
No pagination support visible. query_logs accepts 'limit' but no offset/cursor for large result sets. Agents querying large log volumes will hit token limits or miss results.