MCP Server bridging local AI tools to remote OpenClaw Gateway agents
Four tools with clear naming (verb_noun pattern) and reasonable descriptions (100-300 chars). All tools have input schemas with type definitions. However, parameter descriptions are sparse or missing in several tools, and output schemas are not documented. ask_agent has good session management documentation but lacks clarity on error cases. get_conversation_history is marked as unsupported, creating a broken tool. No error handling guidance or recovery patterns visible.
Send a message to an OpenClaw agent and get the complete response. Session behavior: - Default (no sessionId, no newTopic): continues the default 'main' topic. - newTopic=true: starts a NEW topic (like /new in OpenClaw). Returns a unique sessionId — save it for follow-ups on that topic. - sessionId=<id>: resumes a specific previous topic. - newTopic + sessionId together: newTopic is ignored, sessionId takes precedence. The response always includes the sessionId for continuation.
Create a named conversation session ID for use with ask_agent. Returns a sessionId (in agent:<id>:<name> format). Tip: for quick topic switches, use ask_agent's newTopic=true instead — it auto-generates a timestamped session. Use this tool only when you need a specific descriptive session name.
Retrieve conversation history is not yet supported via CLI bridge. Use ask_agent with the same sessionId to continue conversations.
List all available OpenClaw agents. Use this to discover which agents you can talk to.
get_conversation_history explicitly states 'not yet supported' in description, making it a non-functional tool that wastes agent reasoning cycles. Either implement it or remove it entirely.
Output schemas are not documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., sessionId from ask_agent response). ask_agent response structure is complex (runId, status, summary, sessionId, result.payloads, result.meta) but undocumented in tool definition.
Parameter descriptions are missing or minimal. agentId in ask_agent has a description but lacks format guidance. sessionId description does not explain the format (agent:<id>:<name>) that create_session returns. newTopic parameter lacks detail on behavior when combined with sessionId.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No error handling guidance. Tools do not document what errors can occur (timeout, agent not found, invalid sessionId) or how to recover. ask_agent can timeout (300s default) but no guidance on retry strategy or timeout error format.
ask_agent description mentions 'default main topic' and session behavior but does not clarify: what happens if agentId does not exist? What is the format of returned sessionId? Can sessionId be reused across agents? These gaps force LLMs to guess.