A monorepo containing CLI, service, and web components for an AI-powered code agent with MCP server integration, runtime management, and sandbox execution capabilities
Kite Code exposes 8 tools with basic schemas and descriptions, but critical gaps undermine production readiness. Tool names lack consistent verb-noun structure (e.g., 'bash' is a bare noun, 'ask_user' mixes imperative with underscore). Descriptions are present but generic (avg ~60 chars, well below the 194-char baseline for A+ tools). Parameter descriptions exist but are minimal, most lack format constraints, ranges, or dependency hints. Output schemas are not documented anywhere in the provided source. Error handling is absent: no recovery guidance, no categorization of retryable vs. fatal errors, no actionable error messages. The shell_execute and bash tools expose dangerous irreversible operations (WRITE_ONLY risk) with no dry-run, confirmation, or permission-gate pattern. read_file and write_file lack pagination and result-limiting guidance. ask_user parameter schema is ambiguous (both 'question' and 'questions' are optional, creating ambiguity). No tool declares permissions or audit requirements. Overall, this is a functional but immature toolkit, suitable for internal CLI use, not production agent deployment.
Request user input with support for single/multiple questions, options, and free text responses
Execute bash commands (alias for shell_execute)
Read file contents with optional line range specification
Read resources from MCP servers by URI
Search for content patterns within files using glob patterns and optional path filtering
Search for files matching a pattern within an optional path
Execute shell commands
Write or append content to files with support for create/overwrite/append operations
Destructive tools (shell_execute, bash, write_file) lack confirmation, dry-run, or permission-gate patterns. No error recovery guidance. Agents can execute arbitrary commands or overwrite files without safeguards.
Tool 'bash' is a bare noun, not verb_noun. Naming should be 'execute_bash' or alias to 'shell_execute'. Bare nouns reduce LLM clarity on intent.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., file paths, resource URIs). Violates pattern:tool and pattern:response-shaper.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
ask_user has ambiguous schema: both 'question' (string) and 'questions' (array) are optional. Unclear which to use. Should enforce exactly one via oneOf or clear mutual-exclusion documentation.
Parameter descriptions lack format constraints, ranges, and dependency hints. E.g., 'path' in read_file has no max length, no guidance on absolute vs. relative paths, no mention of symlink handling. Descriptions avg ~30 chars vs. 72-char baseline.