YAML-first LLM orchestrator with auto-parallelism, 30 pre-tools, 6 providers
OCC exposes 30 tools with basic naming and descriptions, but critical gaps undermine production readiness. Most tools lack output schema documentation, LLMs cannot plan downstream calls or extract required fields. Parameter descriptions are present but often generic (e.g., 'Tool arguments as JSON' for mcp_call). No error handling guidance, no recovery patterns, and no security annotations. Tool names follow verb_noun convention (good), but composition is weak: mcp_call and sandbox_exec are dangerously broad; bash and write_file expose irreversible operations without confirmation patterns. Descriptions average ~80 chars, below the 194-char baseline for A+ tools. No evidence of idempotency guarantees, permission gates, or audit trails. This is a capable orchestrator, but the tool interface is not LLM-optimized.
Request approval with expiration timeout
Parse source code AST and extract specified elements
Execute bash commands with optional stderr capture
Check and enforce budget limits with configurable actions
Get current date and time in specified timezone and format
Execute read-only SQL SELECT queries against a database
Get git diff between two refs with file statistics
Send email message
No output schema documentation for any tool. LLMs cannot plan downstream calls or extract required fields for chaining. Violates pattern:tool and mxe:include-chaining-ids.
Irreversible operations (bash, sandbox_exec, write_file, email, notify) lack confirmation/dry-run patterns. Agents can cause data loss or send unintended messages without safeguards.
mcp_call and sandbox_exec descriptions are vague ('Tool arguments as JSON', 'Execute command in Docker'). LLMs cannot determine when to use these vs direct tools. Violates pattern:tool-description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Compare semantic similarity between two texts using embeddings
Get environment variable with optional default value
Query knowledge graph with subject and predicate
Fetch HTTP/HTTPS URLs with method, headers, body, and JSON path extraction
Generate images using OpenAI, Hugging Face, or Stability AI
Parse JSON and extract value at JSON path
Call another MCP server tool
Send notifications to Slack, Discord, Telegram, or webhook
Extract text from image using OCR
Fetch multiple URLs in parallel
Generate PDF from HTML content
Read file contents from filesystem
Execute command in Docker sandbox container
Take screenshot of a URL using Playwright
Query semantic cache with similarity threshold
Load a value from persistent state store by key and scope
Save a value to persistent state store with key and scope
Render template with variable substitution
Index text into vector store with chunking
Query vector store with semantic similarity search using embeddings or FTS5 fallback
Search the web using a search engine
Write or append content to a file
No error handling guidance. Tools return success/failure but do not tell LLMs what to do next (retry, ask user, abort). Violates pattern:recovery-guide.
No security annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot reason about side effects or permission requirements. No audit trail or permission gates documented.