Generic stdio MCP server template that executes compiled C/C++ binaries as MCP tools
Two tools with minimal descriptions (10-20 chars each) and generic naming. Tool 1 'hello.run_raw' and Tool 2 'hello' lack clarity on purpose, parameters, and output structure. Schemas present but descriptions critically underdeveloped. No parameter descriptions visible. No error handling guidance. No output schema documentation. Naming violates verb_noun convention and lacks specificity, 'hello' and 'run_raw' do not convey intent to an LLM. Both tools marked IRREVERSIBLE but descriptions do not warn of side effects.
Run hello structured
Run hello
Tool descriptions critically short (10-20 chars). 'Run hello' and 'Run hello structured' do not explain WHAT the tool does, WHEN to use it, or what it returns. LLMs cannot determine tool selection intent.
Tool names lack action verbs and specificity. 'hello' and 'hello.run_raw' do not follow verb_noun convention (e.g., 'execute_command', 'run_binary'). LLMs cannot infer intent from names alone.
No parameter descriptions visible in schema. 'argv', 'mode', 'verbose', 'color', 'args' lack explanations of purpose, format, and constraints. LLMs cannot reason about valid inputs.
No output schema documented. Responses include 'stdout', 'stderr', 'exitCode', 'timedOut', 'truncatedStdout', 'truncatedStderr' but tool definitions do not declare these fields. LLMs cannot plan downstream calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2025-06-18+ | v2 |
Irreversible operations (marked IRREVERSIBLE risk) lack confirmation or dry-run support. No error handling guidance. LLMs cannot safely retry or recover from failures.