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) |
Capabilities
Features and capabilities supported by this server
| 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 live (file vs OS keychain). |
| 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 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/smurfy92/openclaw-control-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server