Openclaw Control MCP
MCP server bridging Claude Code to the OpenClaw gateway management plane via JSON-RPC.
Connector by smurfy92 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/smurfy92-openclaw-control-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 58 read · 52 write · 10 delete · 23 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 143
Read from the source code; the running server may list different tools.
Read 58 · Look things up without changing anything.
openclaw_agent_identity_getopenclaw_agents_files_getopenclaw_agents_files_listopenclaw_agents_listopenclaw_channels_statusopenclaw_chat_abortopenclaw_chat_historyopenclaw_commands_listopenclaw_config_getopenclaw_config_schemaopenclaw_config_schema_lookupopenclaw_cron_list
Show 46 more tools
openclaw_cron_statusopenclaw_device_pair_listopenclaw_device_statusopenclaw_doctor_memory_dreamDiaryopenclaw_doctor_memory_statusopenclaw_exec_approval_getopenclaw_exec_approval_listopenclaw_exec_approval_resolveopenclaw_exec_approvals_getopenclaw_exec_approvals_node_getopenclaw_gateway_identity_getopenclaw_healthopenclaw_introspectopenclaw_last_heartbeatopenclaw_logs_tailopenclaw_models_listopenclaw_node_describeopenclaw_node_listopenclaw_node_pair_listopenclaw_node_pair_verifyopenclaw_plugin_approval_listopenclaw_plugin_approval_resolveopenclaw_secrets_resolveopenclaw_sessions_compaction_getopenclaw_sessions_compaction_listopenclaw_sessions_listopenclaw_sessions_previewopenclaw_sessions_tailopenclaw_setup_listopenclaw_setup_showopenclaw_skills_binsopenclaw_skills_detailopenclaw_skills_searchopenclaw_skills_statusopenclaw_statusopenclaw_system_presenceopenclaw_talk_configopenclaw_tools_catalogopenclaw_tools_effectiveopenclaw_tts_convertopenclaw_tts_providersopenclaw_tts_statusopenclaw_usage_costopenclaw_usage_statusopenclaw_voicewake_getopenclaw_wizard_status
Write 52 · Create, change, send or run things.
openclaw_agents_createopenclaw_agents_files_setopenclaw_agents_updateopenclaw_callopenclaw_channels_logoutopenclaw_config_applyopenclaw_config_patchopenclaw_config_setopenclaw_cron_addopenclaw_cron_add_dailyopenclaw_cron_add_everyopenclaw_cron_add_weekly
Show 40 more tools
openclaw_cron_runopenclaw_cron_runsopenclaw_cron_updateopenclaw_device_pair_approveopenclaw_device_pair_rejectopenclaw_exec_approval_requestopenclaw_exec_approvals_node_setopenclaw_exec_approvals_setopenclaw_message_actionopenclaw_node_invokeopenclaw_node_invoke_resultopenclaw_node_pair_approveopenclaw_node_pair_rejectopenclaw_node_renameopenclaw_plugin_approval_requestopenclaw_secrets_setopenclaw_sendopenclaw_sessions_compactopenclaw_sessions_compaction_branchopenclaw_sessions_compaction_restoreopenclaw_sessions_createopenclaw_sessions_messages_subscribeopenclaw_sessions_messages_unsubscribeopenclaw_sessions_patchopenclaw_sessions_sendopenclaw_sessions_subscribeopenclaw_sessions_unsubscribeopenclaw_set_heartbeatsopenclaw_setup_select_defaultopenclaw_skills_installopenclaw_skills_updateopenclaw_talk_modeopenclaw_talk_speakopenclaw_tts_disableopenclaw_tts_enableopenclaw_tts_setProvideropenclaw_update_runopenclaw_voicewake_setopenclaw_wizard_cancelopenclaw_wizard_start
Delete 10 · Delete, drop, revoke or wipe things.
openclaw_agents_deleteopenclaw_cron_add_onceopenclaw_cron_removeopenclaw_device_pair_removeopenclaw_device_token_revokeopenclaw_doctor_memory_resetDreamDiaryopenclaw_doctor_memory_resetGroundedShortTermopenclaw_sessions_deleteopenclaw_sessions_resetopenclaw_setup_clear
Not yet classified 23 · We could not tell from the name and description.
openclaw_agentopenclaw_agent_waitopenclaw_chat_sendopenclaw_device_repairopenclaw_device_token_rotateopenclaw_doctor_memory_backfillDreamDiaryopenclaw_doctor_memory_dedupeDreamDiaryopenclaw_doctor_memory_repairDreamingArtifactsopenclaw_exec_approval_waitDecisionopenclaw_node_canvas_capability_refreshopenclaw_node_eventopenclaw_node_pair_request
Show 11 more tools
openclaw_node_pending_ackopenclaw_node_pending_drainopenclaw_node_pending_enqueueopenclaw_node_pending_pullopenclaw_plugin_approval_waitDecisionopenclaw_secrets_reloadopenclaw_sessions_abortopenclaw_setupopenclaw_system_eventopenclaw_wakeopenclaw_wizard_next
Tools (143)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
openclaw_agentRoot-level `agent` method — sends a message to the default agent and returns the agent's response. Wire format (verified live against gateway 2026.4.12+): requires `message` + `idempotencyKey` (auto-generated if omitted). NOT read-only — this triggers an agent turn. Prefer `openclaw_sessions_send` when you want explicit session control.
openclaw_agent_identity_getGet the gateway's agent identity (current default agent metadata). Wraps `agent.identity.get`. Read-only.
openclaw_agent_waitBlock until the agent finishes its current turn (or timeout). Wraps `agent.wait`. Long-running — uses the configured request timeout (default 30s).
openclaw_agents_createCreate a new agent configuration. Wraps `agents.create`. Pass `agentId`, `displayName`, `model`, plus any extra fields the gateway accepts (system prompt, default tools, etc.). Call openclaw_agents_list first to see the full shape of an existing agent.
openclaw_agents_deleteDelete an agent configuration. Wraps `agents.delete`. Destructive — confirm before calling. Sessions tied to this agent may be orphaned.
openclaw_agents_files_getFetch a specific agent file's contents (system prompt, tool definitions, etc.). Wraps `agents.files.get`. Read-only. Pass either `path` (full path including the file name) or `name` (file basename) — not both.
openclaw_agents_files_listList files attached to an agent (instructions, system files, etc.). Wraps `agents.files.list`. Read-only.
openclaw_agents_files_setWrite or overwrite an agent file. Wraps `agents.files.set`. Destructive — overwrites existing content silently. Pass `agentId`, `path` or `name`, and `content` or `body` (gateway accepts both names depending on version).
openclaw_agents_listList configured agents on the gateway (e.g. 'main', custom agents). Wraps `agents.list`. Read-only.
openclaw_agents_updateUpdate an existing agent's configuration. Wraps `agents.update`. Pass `agentId` + only the fields you want to change. Schema is permissive — gateway accepts the same shape as `agents.create`.
openclaw_callDESTRUCTIVE 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 `*.add|remove|delete|update|create|write|terminate|reset|approve|reject`). For read-only inspection prefer the typed tools (`openclaw_cron_list`, `openclaw_introspect`, …) — `openclaw_call` should only be used when no typed alternative exists.
openclaw_channels_logoutLog out / disconnect a delivery channel. Wraps `channels.logout`. Destructive — channel won't deliver until re-authenticated. Pass the channel name (e.g. 'telegram').
openclaw_channels_statusGet the connection status of delivery channels (Telegram, email, etc.). Wraps `channels.status`. Read-only.
openclaw_chat_abortAbort an in-flight chat turn for a session. Wraps `chat.abort`. Wire format (verified live): requires `sessionKey`. Destructive — cancels running LLM call.
openclaw_chat_historyFetch chat history for a session. Wraps `chat.history`. Wire format (verified live): requires `sessionKey`; accepts `limit`. Read-only. The pre-0.5.x `agentId`/`sessionId`/`offset` fields are rejected.
Show 128 more tools
openclaw_chat_sendSend a message into a chat session via the gateway's chat layer. Wire format (verified live against gateway 2026.4.12+): requires `sessionKey` (composite, e.g. 'agent:main:main' from openclaw_sessions_list), `message`, and `idempotencyKey` (auto-generated UUID if omitted). The pre-0.5.x `agentId`/`sessionId`/`text` shape is rejected by the gateway. Destructive — triggers an agent turn.
openclaw_commands_listList the slash-commands registered in the gateway (commands the agent or operator can invoke). Wraps `commands.list`. Read-only.
openclaw_config_applyApply pending config changes (commit). Wraps `config.apply`. Destructive — propagates buffered config to running components.
openclaw_config_getRead the gateway's current configuration. Wraps `config.get`. Read-only. The gateway returns the full config; pass `path` to project to a sub-section client-side after fetch (the gateway itself does NOT support a `path` filter — verified live against 2026.4.12+).
openclaw_config_patchOptimistic-locked replace of the FULL gateway config (verified live against 2026.4.12+). Wraps `config.patch`. Wire format: `{ raw: string, baseHash: string }` where `raw` is the full config serialized as JSON and `baseHash` comes from a previous `openclaw_config_get` call. Pass `mergePath` + `mergeValue` for the convenience flow: this tool will fetch the current config, deep-merge your value at the given dotted path, compute the resulting `raw` JSON, and submit it with the freshly-read `baseHash`. Destructive — replaces the entire config atomically.
openclaw_config_schemaGet the JSON schema describing the gateway's config structure. Wraps `config.schema`. Read-only — useful before openclaw_config_set/patch to know which paths exist.
openclaw_config_schema_lookupLook up the schema description for a specific config path. Wraps `config.schema.lookup`. Read-only.
openclaw_config_setReplace a config value at a given path. Wraps `config.set`. Destructive — overwrites the previous value. Prefer openclaw_config_patch for partial updates.
openclaw_cron_addCreate a new OpenClaw cron job. Wraps `cron.add`. Field names match the gateway wire format (verified by the Control panel SPA + live calls), NOT the README placeholders sometimes seen in the MCP source: schedule uses `expr`/`tz` (cron) or `everyMs` (every) or `at` (exact); payload.agentTurn uses `message` and `timeoutSeconds`. Examples: `{ schedule: { kind: "cron", expr: "0 13 * * 5", tz: "Europe/Paris" }, payload: { kind: "agentTurn", message: "...", timeoutSeconds: 180 } }`.
openclaw_cron_add_dailyCreate a cron job that fires every day at a fixed local time. Synthesizes the `cron`-kind schedule + `agentTurn` payload. Pass `hour`, `minute`, `tz`, `message`. Optional channel delivery via `channel` + `to`.
openclaw_cron_add_everyCreate a cron job that fires every N minutes/hours regardless of clock time. Synthesizes an `every`-kind schedule. Pass either `intervalMinutes` or `intervalHours` (the tool computes `everyMs`). Use for monitoring jobs that don't care about wall-clock alignment.
openclaw_cron_add_onceCreate a one-shot reminder/job that fires exactly once at a given absolute timestamp, then auto-deletes. Synthesizes an `exact`-kind schedule with `deleteAfterRun: true`. Pass `at` as RFC3339 (e.g. '2026-05-08T09:00:00+02:00') and a `message`.
openclaw_cron_add_weeklyCreate a cron job that fires once a week at a fixed local time. Synthesizes a `cron`-kind schedule and an `agentTurn` payload, then calls `cron.add`. Pass `dayOfWeek` (mon..sun), `hour` (0-23), `minute` (0-59), `tz` (IANA, defaults to Europe/Paris), and `message`. Optional channel delivery: pass `channel` + `to`.
openclaw_cron_listList configured OpenClaw cron jobs. Wraps the gateway JSON-RPC method `cron.list`. Returns jobs with name, schedule, payload kind, and enabled state.
openclaw_cron_removeDelete an OpenClaw cron job by id. Destructive — confirm before calling. Wraps `cron.remove`.
openclaw_cron_runTrigger an immediate run of a specific OpenClaw cron job by id. Wraps `cron.run`.
openclaw_cron_runsList recent runs of a specific OpenClaw cron job. Wraps `cron.runs`. Pass `compact: true` to truncate each run's `summary` to 200 chars (saves tokens when scanning many runs); a `summaryTruncated` flag is added per entry. Each entry also gets a `runAtAgo` field (e.g. "3h ago") for readability.
openclaw_cron_statusGet the OpenClaw cron scheduler status (enabled flag, next-run timestamp, recent failures). Wraps `cron.status`.
openclaw_cron_updateUpdate an existing OpenClaw cron job in place. Wraps `cron.update`. Avoids the remove + re-add dance when you just want to change schedule, timeout, payload, or delivery. Wire format (verified live against gateway 2026.4.12+): `{ id|jobId: string, patch: object }` — pass the job id and a `patch` object containing only the fields you want to change. Older shape `{ job: { id, ...fields } }` is auto-translated for backward compat with pre-0.5.1 callers.
openclaw_device_pair_approveApprove a pending device pairing request. Requires operator.write scope. Wraps `device.pair.approve`.
openclaw_device_pair_listList pending and paired devices known to the gateway. Useful for confirming that this MCP's device shows up in 'pending' before approval. Wraps `device.pair.list` (operator scope).
openclaw_device_pair_rejectReject a pending device pairing request. Wraps `device.pair.reject`.
openclaw_device_pair_removeRemove a paired device from the gateway. Wraps `device.pair.remove`. Destructive — the device will need to re-pair to reconnect.
openclaw_device_repairRecover from the `expected Uint8Array of length 32, got length=0` failure mode (empty `device.privateKey`). Backs up `store.json` to `store.json.bak.<ts>`, and wipes the broken device + cached tokens (keeps gateway URL + token configs). The next call to any scoped tool regenerates a fresh Ed25519 keypair and surfaces a new `pendingPairing.requestId` to approve in the Control panel. The `instance` arg is accepted but currently no-op — the local Store is shared across all instances. **Destructive — run only when openclaw_device_status reports the empty-private-key failure mode.**
openclaw_device_statusShow 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_token_revokeRevoke a device's authentication token. Wraps `device.token.revoke`. Destructive — the device must re-pair (or use a freshly issued token).
openclaw_device_token_rotateRotate a device's authentication token (issues a new one, invalidates the old). Wraps `device.token.rotate`. Destructive — the device's currently cached token stops working.
openclaw_doctor_memory_backfillDreamDiaryBackfill the dream diary from past sessions (re-runs dreaming on history). Wraps `doctor.memory.backfillDreamDiary`. Mutates — can be expensive in tokens.
openclaw_doctor_memory_dedupeDreamDiaryDeduplicate dream diary entries. Wraps `doctor.memory.dedupeDreamDiary`. Mutates.
openclaw_doctor_memory_dreamDiaryRead the dream diary (the gateway's REM/light dream artifacts that promote into MEMORY.md). Wraps `doctor.memory.dreamDiary`. Read-only.
openclaw_doctor_memory_repairDreamingArtifactsRepair corrupted dreaming artifacts (e.g. orphan files, broken JSON). Wraps `doctor.memory.repairDreamingArtifacts`. Mutates.
openclaw_doctor_memory_resetDreamDiaryWipe the dream diary entirely. Wraps `doctor.memory.resetDreamDiary`. DESTRUCTIVE — confirm before calling. Loses all promoted-into-memory candidates.
openclaw_doctor_memory_resetGroundedShortTermWipe the grounded short-term memory store. Wraps `doctor.memory.resetGroundedShortTerm`. DESTRUCTIVE — agents lose their recent recall.
openclaw_doctor_memory_statusGet the memory subsystem health (short-term store, dream diary, grounding state). Wraps `doctor.memory.status`. Read-only.
openclaw_exec_approval_getGet details of a specific exec approval request (command, args, agent, status). Wraps `exec.approval.get`. Read-only.
openclaw_exec_approval_listList pending and recent exec approvals (commands the agent wants to run that need a human OK). Wraps `exec.approval.list`. Read-only.
openclaw_exec_approval_requestSubmit a new exec approval request (programmatic; normally agents do this themselves). Wraps `exec.approval.request`.
openclaw_exec_approval_resolveResolve (approve / reject) a pending exec approval. Wraps `exec.approval.resolve`. Mutates — the agent will proceed (or not) based on this decision.
openclaw_exec_approval_waitDecisionBlock until an exec approval gets a decision (or timeout). Wraps `exec.approval.waitDecision`. Long-running — bounded by the request timeout.
openclaw_exec_approvals_getGet the global exec approvals policy (auto-allow rules, defaults). Wraps `exec.approvals.get`. Read-only.
openclaw_exec_approvals_node_getGet the per-node exec approvals policy override. Wraps `exec.approvals.node.get`. Read-only.
openclaw_exec_approvals_node_setSet the exec approvals policy for a specific node. Wraps `exec.approvals.node.set`. Destructive.
openclaw_exec_approvals_setSet / replace the global exec approvals policy. Wraps `exec.approvals.set`. Destructive — overwrites the existing policy.
openclaw_gateway_identity_getGet the gateway's own identity (id, version, owner, region). Wraps `gateway.identity.get`. Read-only.
openclaw_healthCombined health probe — server-side `health` JSON-RPC plus client-side metadata (MCP version, device pairing state, gateway URL, last successful call). Read-only. Use this for a one-shot 'is everything OK?' check.
openclaw_introspectInspect 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 `methods` and `events` the gateway publishes, and a coverage report comparing those methods to the typed wrappers this MCP exposes. Use to discover what methods you can call via `openclaw_call` and to spot endpoints that still need a typed wrapper after a gateway upgrade.
openclaw_last_heartbeatGet the last heartbeat info (latest tick processed by the gateway). Wraps `last-heartbeat`. Read-only.
openclaw_logs_tailTail recent gateway logs. Wraps `logs.tail`. Read-only. The gateway only forwards `limit` to the wire; `sinceMs`, `level`, and `component` are applied client-side AFTER fetch (verified live: the gateway rejects them with `unexpected property` against 2026.4.12+). For wide tails, raise `limit` and the client filters on the way back. Use this for debug — e.g. tracing why a cron job failed, why a session aborted, or what an agent emitted.
openclaw_message_actionTrigger a message-level action (e.g. retry, mark-as-handled, attach to a session). Wraps `message.action`. Mutates gateway state.
openclaw_models_listList models available to the gateway (Anthropic, OpenAI, etc.) with their IDs and any provider metadata. Wraps `models.list`. Read-only.
openclaw_node_canvas_capability_refreshRefresh the canvas capability map for nodes (re-registers what each canvas node can do). Wraps `node.canvas.capability.refresh`.
openclaw_node_describeDescribe a specific node — capabilities, host, version, last heartbeat. Wraps `node.describe`. Read-only.
openclaw_node_eventEmit an event toward a node (or the gateway-side node bus). Wraps `node.event`.
openclaw_node_invokeInvoke a method on a specific node (RPC routed through the gateway). Wraps `node.invoke`. Mutates depending on the target method.
openclaw_node_invoke_resultFetch the result of a previously-issued node invocation. Wraps `node.invoke.result`. Read-only.
openclaw_node_listList nodes registered with this gateway (worker / canvas / sub-gateway nodes). Wraps `node.list`. Read-only.
openclaw_node_pair_approveApprove a pending node pairing request. Wraps `node.pair.approve`. Mutates — node gains gateway access.
openclaw_node_pair_listList node pairing requests (pending and resolved). Wraps `node.pair.list`. Read-only.
openclaw_node_pair_rejectReject a pending node pairing request. Wraps `node.pair.reject`.
openclaw_node_pair_requestRequest pairing for a new node. Wraps `node.pair.request`.
openclaw_node_pair_verifyVerify a node pairing handshake. Wraps `node.pair.verify`.
openclaw_node_pending_ackAcknowledge / commit completion of a pending work item. Wraps `node.pending.ack`.
openclaw_node_pending_drainDrain (clear) all pending work items for a node. Wraps `node.pending.drain`. Destructive — discards queued work.
openclaw_node_pending_enqueueEnqueue a new work item for a node. Wraps `node.pending.enqueue`. Mutates.
openclaw_node_pending_pullPull pending work items destined for a node (queue drain). Wraps `node.pending.pull`. Read-and-mutate (work items leave the pending queue).
openclaw_node_renameRename a node (display name / id). Wraps `node.rename`. Mutates.
openclaw_plugin_approval_listList pending and recent plugin approval requests (a skill / plugin asking for permission to do X). Wraps `plugin.approval.list`. Read-only.
openclaw_plugin_approval_requestSubmit a plugin approval request (programmatic). Wraps `plugin.approval.request`.
openclaw_plugin_approval_resolveResolve a pending plugin approval (approve / reject). Wraps `plugin.approval.resolve`. Mutates.
openclaw_plugin_approval_waitDecisionBlock until a plugin approval gets a decision. Wraps `plugin.approval.waitDecision`. Long-running.
openclaw_secrets_reloadReload the gateway's secret store from disk. Wraps `secrets.reload`. Use after editing the secrets file out-of-band so the gateway picks up new values without a restart.
openclaw_secrets_resolveResolve a command-scoped secret. Wraps `secrets.resolve`. Wire format (verified live against gateway 2026.4.12+): `{ commandName: string }` — the gateway secrets subsystem is COMMAND-scoped, not arbitrary key/value. SENSITIVE — returns secret material; only use for debugging missing/wrong-values issues. For arbitrary API keys consumed by skills, use `openclaw_secrets_set` (which writes to the config tree, not the command-scoped secret store).
openclaw_secrets_setStore an arbitrary secret (API key, third-party token, etc.) in the gateway's config tree where skills can consume it. Internally calls `config.patch` with a `mergePath` so the value lands at `config.<scope>.<name>`. Default scope is `secrets` (creates `config.secrets.<name>`); override with `scope` for skill-scoped secrets like `tools.linkedin-outreach.proxycurlApiKey`. Note: this writes to the CONFIG tree, not the gateway's `secrets.resolve` command-scoped store (which has no public write API). After this call, restart-free — the next agent run sees the updated config.
openclaw_sendChannel-routed `send` — pushes a message via the gateway's delivery layer. Wire format (verified live against gateway 2026.4.12+): requires `to` (channel-specific recipient) + `idempotencyKey` (auto-generated if omitted). Prefer the typed `openclaw_chat_send` or `openclaw_sessions_send` when you want session context.
openclaw_sessions_abortAbort the in-flight agent turn for a session (cancels the current LLM call / tool loop). Wraps `sessions.abort`. Destructive — interrupts running work.
openclaw_sessions_compactTrigger a compaction of a session's history (creates a new compaction snapshot, keeps the session live). Wraps `sessions.compact`.
openclaw_sessions_compaction_branchCreate a NEW session that starts from a previous compaction snapshot of an existing session. Wraps `sessions.compaction.branch`. Use this when you want to explore an alternative continuation without losing the current session state.
openclaw_sessions_compaction_getFetch a specific compaction snapshot by id. Wraps `sessions.compaction.get`. Read-only.
openclaw_sessions_compaction_listList compaction snapshots for a session. Wraps `sessions.compaction.list`. Read-only.
openclaw_sessions_compaction_restoreRestore a session to a previous compaction snapshot. Wraps `sessions.compaction.restore`. Destructive — overwrites current session state with the snapshot. The current state is lost unless you branched first.
openclaw_sessions_createCreate a new agent session. Wraps `sessions.create`. The default agent id is typically 'main'. Pass an optional `title` to set the human-readable label shown in the Control panel.
openclaw_sessions_deleteDelete a session permanently. Wraps `sessions.delete`. Destructive — confirm before calling.
openclaw_sessions_listList active OpenClaw agentic sessions. Wraps `sessions.list`. Each session has both a `sessionId` (UUID) and a `key` (composite, e.g. 'agent:main:main', 'agent:main:cron:<id>', 'agent:main:telegram:group:<chat-id>', 'agent:main:subagent:<uuid>'). Use to find a session before preview/patch/abort/compact/reset. The `status` filter is applied client-side after fetch (verified live: the gateway itself rejects a `status` param with `unexpected property 'status'` against 2026.4.12+).
openclaw_sessions_messages_subscribeSubscribe to streaming session messages (session.message events). Wraps `sessions.messages.subscribe`. Note: MCP stdio cannot stream events to Claude Code — server-side subscription only.
openclaw_sessions_messages_unsubscribeUnsubscribe from session message stream. Wraps `sessions.messages.unsubscribe`.
openclaw_sessions_patchUpdate session metadata (title, displayName, tags, etc.). Wraps `sessions.patch`. Pass id + only the fields you want to change. Schema is intentionally permissive — gateway accepts any subset of session fields.
openclaw_sessions_previewPreview one or more sessions without subscribing — returns recent messages, status, and metadata for each key. Wraps `sessions.preview`. Read-only. Pass `keys` (array of full session keys like 'agent:main:cron:<id>' from openclaw_sessions_list).
openclaw_sessions_resetReset a session (clears working state, keeps session id). Wraps `sessions.reset`. Destructive — confirm before calling.
openclaw_sessions_sendSend a user message into an existing session. Wraps `sessions.send`. The agent processes async and streams the reply via session.message events; call openclaw_sessions_preview afterwards (with the session's composite key) to see the result. Use either `text` or `message` — gateway accepts both names depending on version.
openclaw_sessions_subscribeSubscribe to session lifecycle events (sessions.changed). Wraps `sessions.subscribe`. Note: the MCP runs over stdio and cannot stream events back to the client — this tool registers the subscription server-side but you won't receive deltas in Claude Code. Useful mainly to confirm the subscription was accepted.
openclaw_sessions_tailWatch a session by polling `sessions.preview` and return only the NEW messages that appeared during the tail window. Workaround for the stdio MCP not being able to stream `sessions.subscribe` / `session.message` events to Claude Code. Polls every `intervalMs` (default 2000ms) for up to `durationMs` (default 30000ms, max 300000ms), or until `maxMessages` new messages are collected, or until the session reaches a terminal status ('done', 'error', 'aborted', 'timeout', 'completed'). The first poll seeds the 'already-seen' set so existing messages are NOT returned — only what arrives after the too…
openclaw_sessions_unsubscribeUnsubscribe from session lifecycle events. Wraps `sessions.unsubscribe`.
openclaw_set_heartbeatsToggle / configure heartbeat emission from the gateway. Wraps `set-heartbeats`. Pass `enabled` and any cadence params.
openclaw_setupPersist a named OpenClaw gateway config (URL + token) to local store. Default instance name is 'default'. Pass `instance` to manage multiple gateways (e.g. 'perso', 'work') from the same MCP. Env vars (OPENCLAW_GATEWAY_URL/TOKEN) still override everything stored here — leave them unset to use named instances. After saving, the matching client connection is closed so the next tool call re-handshakes with the new credentials.
openclaw_setup_clearClear a persisted gateway config. By default clears every instance; pass `instance` to clear just one. Does NOT touch the device identity or device tokens. After this, the MCP falls back to env vars or errors with 'configure first'.
openclaw_setup_listList 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 / `.env` vs `store.json`).
openclaw_setup_select_defaultSwitch 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_showShow the currently resolved gateway configuration for an instance (default 'default' or whichever instance is the active default). Does NOT print tokens. Pass `instance` to inspect a non-default one.
openclaw_skills_binsList the binaries / executables exposed by installed skills. Wraps `skills.bins`. Read-only.
openclaw_skills_detailGet detailed info on a specific skill (manifest, version, dependencies, install state). Wraps `skills.detail`. Read-only.
openclaw_skills_installInstall a skill (or a specific version). Wraps `skills.install`. Mutates the gateway's skill set — confirm before calling.
openclaw_skills_searchSearch the available skill catalog (installed and remote). Wraps `skills.search`. Read-only.
openclaw_skills_statusGet the skills subsystem status (which skills are installed, enabled, recently updated). Wraps `skills.status`. Read-only.
openclaw_skills_updateUpdate an installed skill to its latest (or a specified) version. Wraps `skills.update`. Mutates the gateway state.
openclaw_statusGet overall gateway status (uptime, agents, sessions, queues). Wraps the root-level `status` JSON-RPC method. Read-only.
openclaw_system_eventEmit a custom system event onto the gateway bus. Wraps `system-event`. Mostly used for tooling / debug — operators rarely call this directly.
openclaw_system_presenceGet presence info (which devices are connected, when they last spoke). Wraps `system-presence`. Read-only.
openclaw_talk_configGet / set the talk-mode config (push-to-talk, hold-to-listen, voice activity detection). Wraps `talk.config`.
openclaw_talk_modeToggle talk mode on/off. Wraps `talk.mode`. Wire format (verified live against gateway 2026.4.12+): requires `enabled: boolean` — this is a SETTER, not a getter. Use `openclaw_talk_config` to read the current state.
openclaw_talk_speakMake the agent speak a piece of text out loud (synthesizes + plays). Wraps `talk.speak`.
openclaw_tools_catalogList the catalog of agent-facing tools available to OpenClaw agents (i.e. what `main` and other agents can call from inside a session). Wraps `tools.catalog`. Read-only.
openclaw_tools_effectiveGet the effective (merged) tool set for an agent — base catalog + skill-provided + per-agent overrides. Wraps `tools.effective`. Read-only.
openclaw_tts_convertSynthesize a piece of text to audio. Wraps `tts.convert`. Returns audio / a download URL depending on the gateway config.
openclaw_tts_disableDisable text-to-speech output. Wraps `tts.disable`.
openclaw_tts_enableEnable text-to-speech output. Wraps `tts.enable`.
openclaw_tts_providersList available TTS providers (and their voices / models). Wraps `tts.providers`. Read-only.
openclaw_tts_setProviderSwitch the active TTS provider / voice. Wraps `tts.setProvider`.
openclaw_tts_statusGet the TTS subsystem status (enabled, current provider, voice). Wraps `tts.status`. Read-only.
openclaw_update_runTrigger an update of the gateway itself (pull latest version, restart components). Wraps `update.run`. DESTRUCTIVE — may briefly interrupt running sessions. Confirm before calling.
openclaw_usage_costGet usage cost breakdown (per agent, per model, per period). Wraps `usage.cost`. Read-only. Pass period/agent filters if supported.
openclaw_usage_statusGet usage status (token counts, current period, quotas). Wraps `usage.status`. Read-only.
openclaw_voicewake_getGet the voice-wake configuration (wake word, sensitivity, enabled). Wraps `voicewake.get`. Read-only.
openclaw_voicewake_setUpdate the voice-wake configuration. Wraps `voicewake.set`.
openclaw_wakeWake an agent / session out of idle. Wraps the root-level `wake` method. Pass agentId/sessionId.
openclaw_wizard_cancelCancel the active wizard flow without applying its changes. Wraps `wizard.cancel`.
openclaw_wizard_nextAdvance the active wizard to its next step (with the user's answer to the current step). Wraps `wizard.next`.
openclaw_wizard_startStart a setup wizard flow (e.g. agent onboarding, channel pairing). Wraps `wizard.start`. Pass the wizard id / kind.
openclaw_wizard_statusGet the wizard's current step and pending input for a specific session. Wraps `wizard.status`. Wire format (verified live against gateway 2026.4.12+): requires `sessionId`. Read-only.
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 7
- Last commit
- Oct 16, 2026 (13 days ago)
- Last release
- Oct 6, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.smurfy92/openclaw-control-mcp- Version
- 0.8.3
- Auth
- No auth
- Packages
- npm openclaw-control-mcp
- License
- MIT
- Repository
- github.com/smurfy92/openclaw-control-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Openclaw Control MCP. Agent Mart. https://agentmart.dev/connectors/smurfy92-openclaw-control-mcp (last updated 2026-10-24)