Educational reimplementation of Claude Code's internal architecture, demonstrating tool system, orchestration, agent loop, system prompt construction, and permission system
This is a learning/educational repository, not a production MCP server. Tool definitions are present with basic schemas and descriptions, but fall well short of production quality. All 4 tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization) and input schemas with parameter types. However, descriptions lack actionable context (WHEN to use, prerequisites, state-modifying consequences). No output schemas documented. No error handling guidance. Bash tool is destructive but lacks confirmation/dry-run pattern. File tools lack path validation or traversal guards. No tool annotations (readOnlyHint, destructiveHint). This reads as a teaching implementation, not a tool system ready for agent deployment.
Execute bash commands and return their output
Edit a file by replacing a section of its content
Read file contents from the filesystem
Write content to a file on the filesystem
Descriptions are too brief (10-50 chars vs 50-200 char baseline). 'Execute bash commands and return their output' lacks WHEN to use, prerequisites, or consequences. LLMs cannot optimize tool selection with minimal context.
Bash tool is destructive (can delete files, kill processes) but has no confirmation/dry-run pattern, no permission gate, and no audit trail. Agents can cause irreversible damage without safeguards.
File tools (Read, Write, Edit) lack input validation for path traversal attacks. No description warns about security constraints. An agent could be tricked into reading /etc/passwd or writing to arbitrary locations.
No output schemas documented. Callers cannot know what fields to expect from Bash (stdout vs stderr vs exit code?), Read (raw text vs structured?), Write/Edit (success boolean vs full file content?). Forces LLM to guess.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling guidance. If Bash returns exit code 127 (command not found), Read returns ENOENT, or Write fails due to permissions, there is no recovery hint for the agent. Raw errors provide no actionable next steps.