AI-Powered Development Environment with integrated MCP server support, code indexing, context mode execution, and multi-tool orchestration
Onicode provides 6 tools with complete input schemas and descriptions. Naming follows verb_noun convention (ctx_execute, ctx_search, ctx_index, ctx_batch, ctx_stats, ctx_fetch). Descriptions are substantive (100-250 chars), explaining WHAT each tool does and WHEN to use it. However, output schemas are not documented, LLMs cannot predict return structure. Error handling is absent; no guidance on retryability or recovery. Tool composition is sound (each does one thing), but missing pagination parameters on ctx_search and ctx_batch despite returning multiple results. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk profiles (ctx_execute is IRREVERSIBLE, ctx_index is WRITE). Parameter descriptions are present but lack format constraints (e.g., timeout range, limit bounds). Overall: solid definitions with gaps in output documentation and error guidance.
Execute multiple commands AND search multiple queries in one call. More efficient than separate ctx_execute + ctx_search calls. All outputs are indexed and searched together.
Run code in an isolated sandbox. Only stdout summary enters your context (94-99% savings). Use instead of run_command for large-output tasks (test suites, log analysis, API calls, data processing). Supports: javascript, typescript, python, shell, ruby, go, rust, php, perl, r, elixir.
Fetch a URL, convert HTML to readable text, index into knowledge base, return preview. Useful for documentation, issues, API docs.
Index content into the session knowledge base for later search. Use for large documents, API responses, log files.
Search the session knowledge base. Content indexed by ctx_execute, ctx_index, and ctx_fetch is searchable. 3-layer fuzzy search: Porter stemmer → trigram → Levenshtein correction.
Show context savings statistics for this session: bytes indexed, bytes returned, savings ratio, per-tool breakdown.
Output schemas not documented. LLMs cannot predict return structure for ctx_execute, ctx_search, ctx_batch, ctx_stats, ctx_fetch. Breaks downstream tool chaining and forces agents to guess field names.
No error handling guidance. Tools lack recovery hints (e.g., 'If timeout, retry with longer timeout' or 'If index fails, check content format'). Agents cannot self-correct on failure.
Missing tool annotations despite clear risk profiles. ctx_execute (IRREVERSIBLE), ctx_index (WRITE), ctx_fetch (READ_ONLY) lack readOnlyHint/destructiveHint/idempotentHint. Agents cannot reason about side effects.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Parameter constraints missing. 'timeout' (ctx_execute, ctx_batch) lacks min/max bounds. 'limit' (ctx_search) lacks range. LLMs can pass absurd values (timeout=999999999, limit=1000000).
ctx_batch combines execution and search in one call but lacks pagination. If queries return 100+ results, context window explodes. No offset/limit per query.