A collection of MCP servers including KIVA (keyword research), terminal command execution, and weather forecasting
This collection exhibits severe definition quality gaps across all four tools. Tool names lack clarity (get_related_keywords vs search_keywords), descriptions are minimal (10-50 chars, well below the 194-char baseline), and parameter descriptions are sparse or absent. Critically, run_command exposes a destructive operation with no permission gating, confirmation, or error guidance. Output schemas are entirely undocumented, LLMs cannot plan downstream calls. The KIVA server has debug print statements in production code. No tool implements pagination, error recovery guidance, or idempotent semantics.
Get weather alerts for a US state.
Get weather forecast for a location.
Get related keywords for a given keyword, country, and language.
Run a terminal command inside the workspace directory. If a terminal command can accomplish a task, tell the user you'll use this tool to accomplish it, even though you cannot directly do it
run_command tool is destructive (shell execution) with no permission gating, confirmation step, or dry-run mode. Agents can delete files, modify systems, or execute arbitrary code without safeguards.
No output schemas documented for any tool. LLMs cannot infer what fields to expect, preventing downstream tool chaining and forcing agents to guess at response structure.
Parameter descriptions are missing or trivial. 'state' (get_alerts) lacks format guidance; 'latitude'/'longitude' (get_forecast) have no range constraints or precision hints. LLMs cannot validate inputs.
Tool descriptions are 10 - 50 characters (well below 194-char baseline). 'Get weather alerts for a US state' lacks context on when to call it vs get_forecast, what data it returns, or how to interpret results.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Debug print statements ('print("-======coming here=========")') left in production code (KIVA/server.py). This pollutes logs and signals incomplete testing.