openclaw-control-mcp

MCPattested
v0.8.3io.github.smurfy92MITUpdated 11d agonpmGitHub

The OpenClaw control plane MCP server — operate the gateway's full management surface (cron, sessions, agents, channels, skills, config, secrets, doctor, …) from Claude Code, Cursor, or any MCP client. 143 typed tools covering every published JSON-RPC met

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
1GitHub stars
1Forks
11d agoLast update
Package
Authorio.github.smurfy92
LicenseMIT
Version0.8.3
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · 3f96a69
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface40 tools · 5 privileged
Security scan✓ Cleanv0.8.3 · todayHow well does this scan work?
PROMPTtool:openclaw_agents_createReferences the system prompt
PROMPTtool:openclaw_agents_files_getReferences the system prompt
EvalsNone
IndexedOct 11, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

40 tools · 5 privileged
Statically extracted from the published packagev0.8.3 · 9h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

editprivilegedEdit a file

Edit a file

No input schema was published for this tool.

bashRun a shell command

Run a shell command

No input schema was published for this tool.

openclaw_commands_listList the slash-commands registered in the gateway (commands the agent or operator can invoke). Wraps `commands.list`. Read-only.

List the slash-commands registered in the gateway (commands the agent or operator can invoke). Wraps `commands.list`. Read-only.

No input schema was published for this tool.

openclaw_message_actionTrigger a message-level action (e.g. retry, mark-as-handled, attach to a session). Wraps `message.action`. Mutates gateway state.

Trigger a message-level action (e.g. retry, mark-as-handled, attach to a session). Wraps `message.action`. Mutates gateway state.

No input schema was published for this tool.

openclaw_agents_listList configured agents on the gateway (e.g. 'main', custom agents). Wraps `agents.list`. Read-only.

List configured agents on the gateway (e.g. 'main', custom agents). Wraps `agents.list`. Read-only.

No input schema was published for this tool.

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.

Create 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.

NOTEReferences the system prompta fields the gateway accepts (system prompt, default tools, etc.). Call o…

No input schema was published for this tool.

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`.

Update 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`.

No input schema was published for this tool.

openclaw_agents_deleteprivilegedDelete an agent configuration. Wraps `agents.delete`. Destructive — confirm before calling. Sessions tied to this agent may be orphaned.

Delete an agent configuration. Wraps `agents.delete`. Destructive — confirm before calling. Sessions tied to this agent may be orphaned.

No input schema was published for this tool.

openclaw_agents_files_listList files attached to an agent (instructions, system files, etc.). Wraps `agents.files.list`. Read-only.

List files attached to an agent (instructions, system files, etc.). Wraps `agents.files.list`. Read-only.

No input schema was published for this tool.

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.

Fetch 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.

NOTEReferences the system promptecific agent file's contents (system prompt, tool definitions, etc.). Wra…

No input schema was published for this tool.

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).

Write 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).

No input schema was published for this tool.

openclaw_channels_statusGet the connection status of delivery channels (Telegram, email, etc.). Wraps `channels.status`. Read-only.

Get the connection status of delivery channels (Telegram, email, etc.). Wraps `channels.status`. Read-only.

No input schema was published for this tool.

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').

Log out / disconnect a delivery channel. Wraps `channels.logout`. Destructive — channel won't deliver until re-authenticated. Pass the channel name (e.g. 'telegram').

No input schema was published for this tool.

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`/`…

Send 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`/`…

No input schema was published for this tool.

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.

Fetch 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.

No input schema was published for this tool.

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.

Abort an in-flight chat turn for a session. Wraps `chat.abort`. Wire format (verified live): requires `sessionKey`. Destructive — cancels running LLM call.

No input schema was published for this tool.

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+).

Read 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+).

No input schema was published for this tool.

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.

Replace a config value at a given path. Wraps `config.set`. Destructive — overwrites the previous value. Prefer openclaw_config_patch for partial updates.

No input schema was published for this tool.

openclaw_config_patchprivilegedNo description published

This tool published no description. Forge does not invent one.

openclaw_config_applyApply pending config changes (commit). Wraps `config.apply`. Destructive — propagates buffered config to running components.

Apply pending config changes (commit). Wraps `config.apply`. Destructive — propagates buffered config to running components.

No input schema was published for this tool.

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.

Get 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.

No input schema was published for this tool.

openclaw_config_schema_lookupLook up the schema description for a specific config path. Wraps `config.schema.lookup`. Read-only.

Look up the schema description for a specific config path. Wraps `config.schema.lookup`. Read-only.

No input schema was published for this tool.

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.

List configured OpenClaw cron jobs. Wraps the gateway JSON-RPC method `cron.list`. Returns jobs with name, schedule, payload kind, and enabled state.

No input schema was published for this tool.

openclaw_cron_statusGet the OpenClaw cron scheduler status (enabled flag, next-run timestamp, recent failures). Wraps `cron.status`.

Get the OpenClaw cron scheduler status (enabled flag, next-run timestamp, recent failures). Wraps `cron.status`.

No input schema was published for this tool.

openclaw_cron_runTrigger an immediate run of a specific OpenClaw cron job by id. Wraps `cron.run`.

Trigger an immediate run of a specific OpenClaw cron job by id. Wraps `cron.run`.

No input schema was published for this tool.

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.

List 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.

No input schema was published for this tool.

openclaw_cron_removeprivilegedDelete an OpenClaw cron job by id. Destructive — confirm before calling. Wraps `cron.remove`.

Delete an OpenClaw cron job by id. Destructive — confirm before calling. Wraps `cron.remove`.

No input schema was published for this tool.

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 `…

Create 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 `…

No input schema was published for this tool.

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` ob…

Update 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` ob…

No input schema was published for this tool.

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 `c…

Create 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 `c…

No input schema was published for this tool.

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`.

Create 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`.

No input schema was published for this tool.

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.

Create 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.

No input schema was published for this tool.

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`.

Create 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`.

No input schema was published for this tool.

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'.

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'.

No input schema was published for this tool.

openclaw_device_pair_listNo description published

This tool published no description. Forge does not invent one.

openclaw_device_pair_approveNo description published

This tool published no description. Forge does not invent one.

openclaw_device_pair_rejectNo description published

This tool published no description. Forge does not invent one.

openclaw_device_pair_removeprivilegedNo description published

This tool published no description. Forge does not invent one.

openclaw_device_token_revokeNo description published

This tool published no description. Forge does not invent one.

openclaw_device_token_rotateNo description published

This tool published no description. Forge does not invent one.

33 of 40 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

The OpenClaw control plane MCP server — operate the gateway's full management surface (cron, sessions, agents, channels, skills, config, secrets, doctor, …) from Claude Code, Cursor, or any MCP client. 143 typed tools covering every published JSON-RPC met

Keywords
mcpmcp-servermodel-context-protocolopenclawcontrol-planemanagement-planeclaudeclaude-codecursoragentgatewaywebsocketjson-rpced25519cronoperatordevopsautomation
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-17 — observed resolution, not a publisher declaration.

60 packages resolved · 5 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

57 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+45 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in devops & infrastructure