openclaw-control-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENCLAW_HTTP | No | Set to 1 to expose MCP over Streamable HTTP | |
| OPENCLAW_MOCK | No | Set to 1 to use in-memory mock gateway | |
| OPENCLAW_DEBUG | No | Set to 1 to log every WS frame to stderr | |
| OPENCLAW_HTTP_HOST | No | HTTP host | 127.0.0.1 |
| OPENCLAW_HTTP_PORT | No | HTTP port | 3333 |
| OPENCLAW_TIMEOUT_MS | No | Connect / request timeout in milliseconds | 30000 |
| OPENCLAW_GATEWAY_URL | Yes | WebSocket URL of the gateway (ws:// or wss://) | |
| OPENCLAW_HTTP_BEARER | No | Bearer token for HTTP mode | |
| OPENCLAW_CONTROL_HOME | No | Override the directory used to persist store.json | |
| OPENCLAW_USE_KEYCHAIN | No | Set to 0 or false to force plain JSON secret storage | 1 |
| OPENCLAW_GATEWAY_TOKEN | No | Gateway login token (recommended) | |
| OPENCLAW_GATEWAY_PASSWORD | No | Extra password (some gateway configs require it) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| openclaw_setupA | Persist a named OpenClaw gateway config (URL + token) to local store. Default instance name is 'default'. Pass |
| openclaw_setup_showA | Show the currently resolved gateway configuration for an instance (default 'default' or whichever instance is the active default). Does NOT print tokens. Pass |
| openclaw_setup_listA | List every persisted gateway instance (name + URL + whether token/password are set, never the values). Plus the active default instance and where secrets come from (env vars / |
| openclaw_setup_select_defaultA | Switch the active default instance — every subsequent tool call (cron.list, sessions.list, etc.) will route to this instance unless an env var overrides. Closes existing client connections so they re-handshake with the new instance's credentials. |
| openclaw_setup_clearA | Clear a persisted gateway config. By default clears every instance; pass |
| openclaw_device_statusA | Show this MCP's local device identity, pairing status, current scopes (if any), and any pending pairing requestId. Triggers a fresh connect attempt, so it doubles as a 'retry pairing' command after approval. Use when scoped methods fail with 'missing scope: operator.read'. |
| openclaw_device_pair_listA | List pending and paired devices known to the gateway. Useful for confirming that this MCP's device shows up in 'pending' before approval. Wraps |
| openclaw_device_pair_approveA | Approve a pending device pairing request. Requires operator.write scope. Wraps |
| openclaw_device_pair_rejectB | Reject a pending device pairing request. Wraps |
| openclaw_device_pair_removeA | Remove a paired device from the gateway. Wraps |
| openclaw_device_token_revokeA | Revoke a device's authentication token. Wraps |
| openclaw_device_token_rotateA | Rotate a device's authentication token (issues a new one, invalidates the old). Wraps |
| openclaw_device_repairA | Recover from the |
| openclaw_introspectA | Inspect the OpenClaw gateway capabilities. Triggers a connect (if not already), returns the server version, this device's role/scopes, the full list of JSON-RPC |
| openclaw_callA | DESTRUCTIVE ESCAPE HATCH — call ANY JSON-RPC method on the gateway with arbitrary params. Use this to operate on endpoints that don't yet have a typed wrapper. The user must validate the exact method name and params on every call (especially anything matching |
| openclaw_statusA | Get overall gateway status (uptime, agents, sessions, queues). Wraps the root-level |
| openclaw_healthA | Combined health probe — server-side |
| openclaw_last_heartbeatA | Get the last heartbeat info (latest tick processed by the gateway). Wraps |
| openclaw_set_heartbeatsA | Toggle / configure heartbeat emission from the gateway. Wraps |
| openclaw_system_presenceA | Get presence info (which devices are connected, when they last spoke). Wraps |
| openclaw_system_eventB | Emit a custom system event onto the gateway bus. Wraps |
| openclaw_wakeC | Wake an agent / session out of idle. Wraps the root-level |
| openclaw_sendA | Channel-routed |
| openclaw_agentA | Root-level |
| openclaw_agent_identity_getA | Get the gateway's agent identity (current default agent metadata). Wraps |
| openclaw_agent_waitC | Block until the agent finishes its current turn (or timeout). Wraps |
| openclaw_gateway_identity_getA | Get the gateway's own identity (id, version, owner, region). Wraps |
| openclaw_sessions_listA | List active OpenClaw agentic sessions. Wraps |
| openclaw_sessions_previewA | Preview one or more sessions without subscribing — returns recent messages, status, and metadata for each key. Wraps |
| openclaw_sessions_createA | Create a new agent session. Wraps |
| openclaw_sessions_patchA | Update session metadata (title, displayName, tags, etc.). Wraps |
| openclaw_sessions_sendA | Send a user message into an existing session. Wraps |
| openclaw_sessions_abortA | Abort the in-flight agent turn for a session (cancels the current LLM call / tool loop). Wraps |
| openclaw_sessions_resetA | Reset a session (clears working state, keeps session id). Wraps |
| openclaw_sessions_deleteA | Delete a session permanently. Wraps |
| openclaw_sessions_compactA | Trigger a compaction of a session's history (creates a new compaction snapshot, keeps the session live). Wraps |
| openclaw_sessions_compaction_listA | List compaction snapshots for a session. Wraps |
| openclaw_sessions_compaction_getA | Fetch a specific compaction snapshot by id. Wraps |
| openclaw_sessions_compaction_restoreA | Restore a session to a previous compaction snapshot. Wraps |
| openclaw_sessions_compaction_branchA | Create a NEW session that starts from a previous compaction snapshot of an existing session. Wraps |
| openclaw_sessions_subscribeA | Subscribe to session lifecycle events (sessions.changed). Wraps |
| openclaw_sessions_unsubscribeC | Unsubscribe from session lifecycle events. Wraps |
| openclaw_sessions_messages_subscribeA | Subscribe to streaming session messages (session.message events). Wraps |
| openclaw_sessions_messages_unsubscribeC | Unsubscribe from session message stream. Wraps |
| openclaw_sessions_tailA | Watch a session by polling |
| openclaw_chat_sendA | Send a message into a chat session via the gateway's chat layer. Wire format (verified live against gateway 2026.4.12+): requires |
| openclaw_chat_historyA | Fetch chat history for a session. Wraps |
| openclaw_chat_abortA | Abort an in-flight chat turn for a session. Wraps |
| openclaw_logs_tailA | Tail recent gateway logs. Wraps |
| openclaw_agents_listA | List configured agents on the gateway (e.g. 'main', custom agents). Wraps |
| openclaw_agents_createA | Create a new agent configuration. Wraps |
| openclaw_agents_updateA | Update an existing agent's configuration. Wraps |
| openclaw_agents_deleteA | Delete an agent configuration. Wraps |
| openclaw_agents_files_listA | List files attached to an agent (instructions, system files, etc.). Wraps |
| openclaw_agents_files_getA | Fetch a specific agent file's contents (system prompt, tool definitions, etc.). Wraps |
| openclaw_agents_files_setA | Write or overwrite an agent file. Wraps |
| openclaw_channels_statusA | Get the connection status of delivery channels (Telegram, email, etc.). Wraps |
| openclaw_channels_logoutA | Log out / disconnect a delivery channel. Wraps |
| openclaw_models_listA | List models available to the gateway (Anthropic, OpenAI, etc.) with their IDs and any provider metadata. Wraps |
| openclaw_usage_statusB | Get usage status (token counts, current period, quotas). Wraps |
| openclaw_usage_costA | Get usage cost breakdown (per agent, per model, per period). Wraps |
| openclaw_cron_listA | List configured OpenClaw cron jobs. Wraps the gateway JSON-RPC method |
| openclaw_cron_statusA | Get the OpenClaw cron scheduler status (enabled flag, next-run timestamp, recent failures). Wraps |
| openclaw_cron_runB | Trigger an immediate run of a specific OpenClaw cron job by id. Wraps |
| openclaw_cron_runsA | List recent runs of a specific OpenClaw cron job. Wraps |
| openclaw_cron_removeA | Delete an OpenClaw cron job by id. Destructive — confirm before calling. Wraps |
| openclaw_cron_addC | Create a new OpenClaw cron job. Wraps |
| openclaw_cron_updateA | Update an existing OpenClaw cron job in place. Wraps |
| openclaw_cron_add_weeklyA | Create a cron job that fires once a week at a fixed local time. Synthesizes a |
| openclaw_cron_add_dailyA | Create a cron job that fires every day at a fixed local time. Synthesizes the |
| openclaw_cron_add_everyA | Create a cron job that fires every N minutes/hours regardless of clock time. Synthesizes an |
| openclaw_cron_add_onceA | Create a one-shot reminder/job that fires exactly once at a given absolute timestamp, then auto-deletes. Synthesizes an |
| openclaw_config_getA | Read the gateway's current configuration. Wraps |
| openclaw_config_setA | Replace a config value at a given path. Wraps |
| openclaw_config_patchA | Optimistic-locked replace of the FULL gateway config (verified live against 2026.4.12+). Wraps |
| openclaw_config_applyB | Apply pending config changes (commit). Wraps |
| openclaw_config_schemaA | Get the JSON schema describing the gateway's config structure. Wraps |
| openclaw_config_schema_lookupA | Look up the schema description for a specific config path. Wraps |
| openclaw_secrets_reloadA | Reload the gateway's secret store from disk. Wraps |
| openclaw_secrets_resolveA | Resolve a command-scoped secret. Wraps |
| openclaw_secrets_setA | Store an arbitrary secret (API key, third-party token, etc.) in the gateway's config tree where skills can consume it. Internally calls |
| openclaw_skills_statusA | Get the skills subsystem status (which skills are installed, enabled, recently updated). Wraps |
| openclaw_skills_searchB | Search the available skill catalog (installed and remote). Wraps |
| openclaw_skills_detailA | Get detailed info on a specific skill (manifest, version, dependencies, install state). Wraps |
| openclaw_skills_installC | Install a skill (or a specific version). Wraps |
| openclaw_skills_updateB | Update an installed skill to its latest (or a specified) version. Wraps |
| openclaw_skills_binsA | List the binaries / executables exposed by installed skills. Wraps |
| openclaw_tools_catalogA | List the catalog of agent-facing tools available to OpenClaw agents (i.e. what |
| openclaw_tools_effectiveA | Get the effective (merged) tool set for an agent — base catalog + skill-provided + per-agent overrides. Wraps |
| openclaw_update_runA | Trigger an update of the gateway itself (pull latest version, restart components). Wraps |
| openclaw_commands_listA | List the slash-commands registered in the gateway (commands the agent or operator can invoke). Wraps |
| openclaw_message_actionB | Trigger a message-level action (e.g. retry, mark-as-handled, attach to a session). Wraps |
| openclaw_exec_approval_listB | List pending and recent exec approvals (commands the agent wants to run that need a human OK). Wraps |
| openclaw_exec_approval_getA | Get details of a specific exec approval request (command, args, agent, status). Wraps |
| openclaw_exec_approval_requestA | Submit a new exec approval request (programmatic; normally agents do this themselves). Wraps |
| openclaw_exec_approval_resolveB | Resolve (approve / reject) a pending exec approval. Wraps |
| openclaw_exec_approval_waitDecisionA | Block until an exec approval gets a decision (or timeout). Wraps |
| openclaw_exec_approvals_getA | Get the global exec approvals policy (auto-allow rules, defaults). Wraps |
| openclaw_exec_approvals_setB | Set / replace the global exec approvals policy. Wraps |
| openclaw_exec_approvals_node_getB | Get the per-node exec approvals policy override. Wraps |
| openclaw_exec_approvals_node_setB | Set the exec approvals policy for a specific node. Wraps |
| openclaw_plugin_approval_listA | List pending and recent plugin approval requests (a skill / plugin asking for permission to do X). Wraps |
| openclaw_plugin_approval_requestC | Submit a plugin approval request (programmatic). Wraps |
| openclaw_plugin_approval_resolveB | Resolve a pending plugin approval (approve / reject). Wraps |
| openclaw_plugin_approval_waitDecisionB | Block until a plugin approval gets a decision. Wraps |
| openclaw_wizard_startA | Start a setup wizard flow (e.g. agent onboarding, channel pairing). Wraps |
| openclaw_wizard_nextA | Advance the active wizard to its next step (with the user's answer to the current step). Wraps |
| openclaw_wizard_cancelA | Cancel the active wizard flow without applying its changes. Wraps |
| openclaw_wizard_statusA | Get the wizard's current step and pending input for a specific session. Wraps |
| openclaw_doctor_memory_statusA | Get the memory subsystem health (short-term store, dream diary, grounding state). Wraps |
| openclaw_doctor_memory_dreamDiaryA | Read the dream diary (the gateway's REM/light dream artifacts that promote into MEMORY.md). Wraps |
| openclaw_doctor_memory_backfillDreamDiaryA | Backfill the dream diary from past sessions (re-runs dreaming on history). Wraps |
| openclaw_doctor_memory_dedupeDreamDiaryC | Deduplicate dream diary entries. Wraps |
| openclaw_doctor_memory_repairDreamingArtifactsC | Repair corrupted dreaming artifacts (e.g. orphan files, broken JSON). Wraps |
| openclaw_doctor_memory_resetDreamDiaryA | Wipe the dream diary entirely. Wraps |
| openclaw_doctor_memory_resetGroundedShortTermA | Wipe the grounded short-term memory store. Wraps |
| openclaw_node_listB | List nodes registered with this gateway (worker / canvas / sub-gateway nodes). Wraps |
| openclaw_node_describeA | Describe a specific node — capabilities, host, version, last heartbeat. Wraps |
| openclaw_node_invokeC | Invoke a method on a specific node (RPC routed through the gateway). Wraps |
| openclaw_node_invoke_resultA | Fetch the result of a previously-issued node invocation. Wraps |
| openclaw_node_eventC | Emit an event toward a node (or the gateway-side node bus). Wraps |
| openclaw_node_renameC | Rename a node (display name / id). Wraps |
| openclaw_node_pair_listB | List node pairing requests (pending and resolved). Wraps |
| openclaw_node_pair_requestB | Request pairing for a new node. Wraps |
| openclaw_node_pair_verifyB | Verify a node pairing handshake. Wraps |
| openclaw_node_pair_approveA | Approve a pending node pairing request. Wraps |
| openclaw_node_pair_rejectC | Reject a pending node pairing request. Wraps |
| openclaw_node_pending_pullB | Pull pending work items destined for a node (queue drain). Wraps |
| openclaw_node_pending_drainA | Drain (clear) all pending work items for a node. Wraps |
| openclaw_node_pending_enqueueC | Enqueue a new work item for a node. Wraps |
| openclaw_node_pending_ackC | Acknowledge / commit completion of a pending work item. Wraps |
| openclaw_node_canvas_capability_refreshA | Refresh the canvas capability map for nodes (re-registers what each canvas node can do). Wraps |
| openclaw_tts_statusA | Get the TTS subsystem status (enabled, current provider, voice). Wraps |
| openclaw_tts_enableB | Enable text-to-speech output. Wraps |
| openclaw_tts_disableB | Disable text-to-speech output. Wraps |
| openclaw_tts_providersA | List available TTS providers (and their voices / models). Wraps |
| openclaw_tts_setProviderC | Switch the active TTS provider / voice. Wraps |
| openclaw_tts_convertC | Synthesize a piece of text to audio. Wraps |
| openclaw_talk_configB | Get / set the talk-mode config (push-to-talk, hold-to-listen, voice activity detection). Wraps |
| openclaw_talk_modeA | Toggle talk mode on/off. Wraps |
| openclaw_talk_speakB | Make the agent speak a piece of text out loud (synthesizes + plays). Wraps |
| openclaw_voicewake_getA | Get the voice-wake configuration (wake word, sensitivity, enabled). Wraps |
| openclaw_voicewake_setC | Update the voice-wake configuration. Wraps |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 143 tools
Many tools have overlapping purposes within the same domain: four variants of sending messages (openclaw_send, openclaw_agent, openclaw_chat_send, openclaw_sessions_send), two abort tools (openclaw_chat_abort, openclaw_sessions_abort), and multiple approval-policy tools (openclaw_exec_approval_* vs openclaw_exec_approvals_*) that are easy to confuse. The descriptions are detailed, but the sheer number of near-miss CRUD operations makes misselection likely.
Naming is a mix of domain_action (openclaw_cron_list), domain_subdomain_action (openclaw_node_pair_list), camelCase method names (openclaw_tts_setProvider), and plural/singular inconsistencies (openclaw_exec_approval_list vs openclaw_exec_approvals_get). While the openclaw_ prefix provides a uniform namespace, the structure after it is inconsistent enough to hurt predictability.
143 tools is an extreme count for a single MCP server, far beyond even a heavy 25+ threshold. While the gateway has a large surface area, exposing every JSON-RPC method plus convenience wrappers and escape hatches results in a sprawling toolset that is overwhelming for an agent to navigate.
The toolset is remarkably comprehensive across gateway domains: sessions, agents, config, cron, skills, nodes, approvals, TTS, and more. Missing operations like skill uninstall, a pending-node list, or a session message history (only tail/preview) are minor gaps; the coverage is strong enough that most workflows have no dead ends.