MCP server package for OwlClaw - an agent base for business applications that enables AI autonomy without rewriting mature systems.
OwlClaw MCP server has 13 tools with reasonable naming (verb_noun pattern) and descriptions present for all tools. However, critical gaps exist: parameter descriptions are sparse or missing for many tools (e.g., governance_budget_status has 4 params with minimal guidance on defaults and constraints); output schemas are not documented anywhere in the provided code; error handling guidance is absent; and no evidence of input validation or recovery patterns. Tool descriptions average ~100 chars (below the 194-char baseline for A+ tools). Governance tools lack clarity on what 'default' tenant/agent IDs mean. No tool annotations (readOnlyHint, destructiveHint) despite clear risk classifications. Composition is reasonable, tools are single-purpose, but chaining support is unclear (e.g., does task_create return a task_id that task_status accepts? Not documented).
Cancel a scheduled run by schedule_id (from schedule_once or schedule_cron).
Query governance audit records from ledger.
Query current daily/monthly budget usage for one agent.
Query rate-limit counters for one governance service bucket.
Record a decision and reasoning to the audit ledger. Use when you choose no_action, defer, or want to document your reasoning.
Query the current state from a registered state provider. Use this to get business context (e.g. market_state, portfolio_snapshot) before making decisions.
Search previously stored memories by query and optional tags.
Output schemas not documented. No tool returns a documented schema, LLMs cannot predict what fields to expect or plan downstream calls. Governance tools especially lack clarity on return structure.
Parameter descriptions are minimal or missing context. governance_budget_status has 4 params with no guidance on what 'default' tenant_id/agent_id means, whether they are required, or what format they expect. Violates pattern:tool-description.
No error handling guidance. Tools provide no recovery hints (e.g., 'If schedule_id not found, call recall() to find it'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Store durable memory for future Agent runs.
Schedule a recurring Agent run using a cron expression. Use for periodic checks (e.g. every hour during trading hours).
Schedule a one-time delayed Agent run. Use when you need to check something later or wait for an event.
Cancel one running/scheduled task.
Create one durable task via Hatchet-backed task client.
Get one task status.
Tool annotations missing. Tools have explicit risk classifications (READ_ONLY, WRITE, REVERSIBLE) but no readOnlyHint, destructiveHint, or idempotentHint in schema. Agents cannot infer safety properties.
Tool chaining unclear. task_create likely returns a task_id, but task_status parameter description does not confirm it accepts that ID. Broken reference chains force discovery detours.