MCP server that connects Claude Code to a persistent OpenClaw daemon for 24/7 automation — cron jobs, webhooks, messaging, and browser control with event polling
13 tools with explicit schemas and descriptions. Naming is action-verb consistent (daemon_status, poll_events, acknowledge_event, etc.). Descriptions are present but brief (avg ~80 chars, below the 194-char baseline). Parameter descriptions exist but lack detail on constraints, formats, and error recovery. Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. Composition is sound (single responsibility per tool), but missing idempotency hints and chaining IDs in responses.
Mark an event as processed so it no longer appears in poll_events
Extract text content from the current browser page, optionally filtered by CSS selector
Navigate to a URL using the OpenClaw browser control
Take a screenshot of the current browser page
Create a recurring automation that runs on a cron schedule
Check if the OpenClaw daemon is running and healthy
Output schemas not documented. LLMs cannot predict response structure (fields, types, nested objects). Forces agents to guess what data is available for downstream tool calls.
Descriptions are brief (~65 - 70 chars avg) and lack context on WHEN to use each tool, prerequisites, and error recovery. E.g., 'Check if the OpenClaw daemon is running and healthy' does not explain what to do if it fails or when to call it vs. other status tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Remove an automation by ID
Browse past events (both acknowledged and unacknowledged)
List all active automations (cron jobs, webhooks, monitors)
List all connected messaging channels on the OpenClaw daemon
Get unacknowledged events from automations that ran in the background. Returns events since the last poll.
Remove expired acknowledged events from the queue to free space
Send a message through a connected OpenClaw messaging channel (Slack, Discord, Telegram, etc.)
Parameter descriptions lack constraint details. E.g., 'limit' has min/max in schema but description does not explain why (pagination, performance). 'schedule' accepts cron but does not validate format or provide examples. 'action' in create_cron is vague ('What to do when triggered, a description of the task'), unclear if it is a free-form string or a structured command.
No error handling guidance. Tools return success/failure but do not tell LLMs what to do next. E.g., acknowledge_event returns 'Event not found', should it retry, search for the event, or ask the user?
Destructive operations (prune_events, delete_automation) lack confirmation or dry-run support. Agents can accidentally delete automations or purge event history without user approval.