MCP server exposing OpenClaw Gateway tools to Claude Code and other MCP clients
21 tools with complete schemas and descriptions, but significant quality gaps. Tool names lack consistent verb-noun structure (e.g., 'openclaw_message_send' vs 'send_message'). Most descriptions are adequate (50-150 chars) but lack actionable context for LLM selection. Parameter descriptions present but sparse, many lack format constraints, ranges, or dependency documentation. No output schemas documented. Error handling absent. Security concerns: no mention of credential injection, rate limiting, or permission gates. Composition issues: openclaw_sessions_send and openclaw_message_send overlap; openclaw_cron_add lacks nested schema detail.
Add a new cron job
List scheduled cron jobs
Remove a cron job
Trigger a cron job immediately
Get current Gateway configuration
Get OpenClaw Gateway session status
Search OpenClaw memory files semantically
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., sessionKey, jobId) for chaining.
Inconsistent naming convention. Mix of 'openclaw_<resource>_<action>' and verb-first patterns. LLMs struggle to infer intent from names like 'openclaw_cron_add' vs 'add_cron_job'.
Missing parameter constraints and format documentation. 'quality' in openclaw_nodes_camera_snap lacks range (0-100 stated but not enforced). 'freshness' in openclaw_web_search lacks enum values (pd, pw, pm, py not documented).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Broadcast a message to multiple targets
Send a message via OpenClaw channels (Telegram, WhatsApp, Discord, Slack, Signal, etc.)
Capture a photo from a node's camera
Get location from a paired node
Send a notification to a paired node
Run a command on a paired node
Get status of paired nodes (mobile devices, remote machines)
Fetch message history for a session
List active OpenClaw sessions with optional filters
Send a message to another OpenClaw session
Spawn a background sub-agent in an isolated session
Convert text to speech
Fetch and extract readable content from a URL
Search the web using Brave Search API
No error handling guidance. Tools lack recovery hints (e.g., 'If node not found, call openclaw_nodes_status() first'). No categorization of retryable vs fatal errors.
Overlapping tool responsibilities. openclaw_message_send and openclaw_sessions_send both send messages but to different targets (channels vs sessions). Naming does not disambiguate; LLMs may pick wrong tool.