MCP server bridge for RTK (Rust Token Killer) — exposes token-optimized CLI filtering to any MCP-compatible client
Single tool with clear security-focused design and comprehensive description. Input schema is well-defined with proper types and descriptions. However, output schema is undocumented (returns raw string), and error handling lacks recovery guidance. Tool name 'run_command' is generic (violates verb_noun specificity, should be 'execute_command' or 'run_shell_command'). Allowlist mechanism is sound but not exposed as a discoverable parameter. No pagination, batching, or structured output despite potential for large results.
Execute a shell command through RTK for token-optimized output. Supports git, cargo, npm, pnpm, pytest, go, docker, grep, find, ls, cat, and 25+ other command families. Output is filtered to reduce token consumption by 60-90% while preserving all essential information (errors, summaries, key data). Falls back to raw command execution if RTK is not available. Only allowlisted commands are accepted for security.
Output schema undocumented. Tool returns raw string; LLMs cannot predict structure or plan downstream calls. Should document: success/failure flag, exit code, stdout/stderr separation, token count estimate.
Error messages lack recovery guidance. 'Command not in allowlist' returns the full allowlist but doesn't suggest alternatives or explain how to request new commands. Should guide: 'Command X not allowed. Allowed: [list]. To request new commands, contact admin.'
Generic tool name 'run_command' violates verb_noun convention. 'execute_shell_command' or 'run_rtk_command' would be clearer and help LLMs distinguish from other execution tools. Current name is ambiguous.
No output pagination or result limits documented. Tool can return unbounded command output (e.g., 'cat large_file.txt'). Should cap output at 10KB and document in description. Large results waste tokens and risk context window exhaustion.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | <=2025-11-25 | v2 |
Allowlist is hardcoded and not discoverable. LLMs cannot query which commands are available before attempting execution. Should expose a 'list_allowed_commands' tool or include allowlist in server instructions.