clawops
NPM · @CLAWOPS/CLI · SCANNED SEP 24
Deploy self-hosted OpenClaw to AWS, GCP, Azure or a local VM — a CLI and an MCP server in one.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security94
- No malware found by supply-chain analysis.Pass
- Known CVEs were checked across the 400 of 472 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Dependency health was assessed across the 400 of 472 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to dfridkin/clawops). View diagnostics → Pass
- Clear OSI-approved license (MPL-2.0).Pass
- Actively maintained (last published 0 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4356 tokens (~198/item across 22 items; 20 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the clawops MCP server?
clawops runs locally as an npm package, launched with npx -y @clawops/cli. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @clawops/cli
claude mcp add dfridkin-clawops -- npx -y @clawops/cli
{
"mcpServers": {
"dfridkin-clawops": {
"command": "npx",
"args": [
"-y",
"@clawops/cli"
]
}
}
} {
"servers": {
"dfridkin-clawops": {
"command": "npx",
"args": [
"-y",
"@clawops/cli"
]
}
}
} codex mcp add dfridkin-clawops -- npx -y @clawops/cli
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dfridkin-clawops": {
"type": "local",
"command": [
"npx",
"-y",
"@clawops/cli"
],
"enabled": true
}
}
} openclaw mcp add dfridkin-clawops --command npx --arg -y --arg @clawops/cli
mcp_servers:
dfridkin-clawops:
command: "npx"
args: ["-y", "@clawops/cli"] {
"McpServers": {
"dfridkin-clawops": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@clawops/cli"
]
}
}
} assistant mcp add dfridkin-clawops -t stdio -c npx -a -y @clawops/cli
{
"mcpServers": {
"dfridkin-clawops": {
"command": "npx",
"args": [
"-y",
"@clawops/cli"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 24 Sept 26 −1
- Security disclosure: pass → unverified ▼ functional
- 23 Sept 26 +36
- Known CVEs: partial → unverified ▼ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- Tool safety: Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Dependency health: partial → unverified ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Security disclosure: unverified → pass ▲ functional
- Tool coverage: unverified → 0 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- License: fail → pass ▲ functional
- First check of Schema quality: excellent functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: fail functional
- First check of Schema quality: good functional
- First check of Tool coverage: 0 functional
- First check of Schema quality: fail functional
- First check of Schema quality: poor functional
- First check of Destructive annotations: 100 functional
- First check of Schema quality: pass functional
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Licence: MPL-2.0 functional
- Package version: 2.0.2 → 2.1.3 functional
- Package version: 2.0.2 → 2.1.2 functional
- Package version: 2.0.2 → 2.1.0 functional
- 22 Sept 26 −1
- Security disclosure: pass → unverified ▼ functional
- 20 Sept 26 +1
- Security disclosure: unverified → pass ▲ functional
- 19 Sept 26 −1
- Security disclosure: pass → unverified ▼ functional
- 18 Sept 26 0
- Stability: Stability not yet verified: this package installed, but its server did not start, so we have no schema to compare. security
- Tool safety: Tool safety not yet verified: this package installed, but its server did not start, so we have no tool text to scan. security
- Schema quality: Schema quality not yet verified: this package installed, but its server did not start, so we have no schema to assess. functional
- Capabilities: Protocol version not yet verified: this package installed, but its server did not start, so we never saw its MCP handshake. functional
- Tool coverage: Tool coverage not yet verified: this package installed, but its server did not start, so we have no tool definitions to assess. functional
- 17 Sept 26 0
- Tool safety: Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 2.0.0 → 2.0.2 functional
- Package version: 2.0.0 → 2.0.1 functional
- 11 Sept 26 +15
- Malware scan: unverified → pass ▲ security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Sept 2026 · Analysed npm/@clawops/cli@2.1.3
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | dfridkin/clawops |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/dfridkin/clawops/.github/workflows/release.yml@refs/heads/main |
| Rekor log index | 2923083531 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:f8050c3c83662130e0e37b67be1760164cde30f21b0ba6675b2b390bf5c32a7864474be3c3a85d7e6b1b024dea493ea205d4fbecfe10031c23659a9a8 |
Background: How many MCP packages publish verified provenance →
Dependencies 400 packages
| Packages resolved | 400 |
|---|---|
| Deprecated | 3 |
| Stale | 109 |
| No linked repository | 1 |
| Tree resolution | Partial |
The dependency tree was only partially resolved, so these counts may be incomplete.
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
clawops_agents_list List OpenClaw Agents ~108
List agents currently registered on the remote OpenClaw gateway. Use when: the user wants to see which agents are running, debug agent routing, or count active workspaces. Do NOT use when: the user wants one agent's logs — no tool exposes those; tell the user to run `clawops agents logs <name>`.
| Name | Type | Req | Description |
|---|---|---|---|
| stackName | string | – | Which stack's agents to list. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_apply Apply Maker Plan ~124
Apply a previously-generated Maker plan (deploy-plan.schema.json). Deterministic — the plan describes exactly what will be created. Use when: the user has a plan file path and wants to apply it. This is the agent-friendly path for any deploy/destroy operation. Do NOT use when: there's no plan file — generate one first with clawops_plan.
| Name | Type | Req | Description |
|---|---|---|---|
| planPath | string | yes | Absolute path to plan JSON (R7) |
| yes | boolean | – | Skip the confirmation and apply immediately. Only when the user has already approved this specific plan |
No output schema declared.
No examples provided.
clawops_config_get Get OpenClaw Config Value ~128
Read a configuration value from the remote OpenClaw gateway. Use when: the user wants to inspect current OpenClaw config (e.g., which model provider is active, which channels are enabled). Do NOT use when: the user wants to change the config — use clawops_config_set instead.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | – | Dot-path config key, e.g., gateway.auth.mode. Omit to dump the full config. |
| stackName | string | – | Which stack's gateway config to read. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_config_set Set OpenClaw Config Value ~188
Set a configuration value on the remote OpenClaw gateway. Optionally restarts the gateway after. Use when: the user wants to change OpenClaw configuration (model provider, channel auth, gateway port). Do NOT use when: the user is reading config — use clawops_config_get. Do NOT bulk-edit; one key at a time so changes are auditable (R21).
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Dotted path into the gateway config, e.g. models.provider or channels.slack.enabled |
| restart | boolean | – | Restart the gateway so the change takes effect. Without it the value is written and the running gateway keeps the old one |
| stackName | string | – | Which stack's gateway config to write. Omitted = the default stack in ~/.clawops/config.json |
| value | string | yes | Stringified; JSON for complex values |
No output schema declared.
No examples provided.
clawops_config_unset Unset OpenClaw Config Key ~157
Remove a configuration key from the remote OpenClaw gateway config, reverting it to the OpenClaw default. Use when: the user wants to delete a config key entirely (e.g., remove a channel, clear an override). Do NOT use when: the user wants to set the key to a new value — use clawops_config_set instead.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | Dot-path config key to remove |
| restart | boolean | – | Restart the gateway so the removal takes effect. Without it the key is removed and the running gateway keeps the old value |
| stackName | string | – | Which stack's gateway config to write. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_config_validate Validate OpenClaw Config ~120
Validate the remote OpenClaw gateway config against the known schema. Checks for structural errors (wrong types, unknown top-level keys) that would cause OpenClaw to fail on startup. Use when: the user wants to verify config before restarting the gateway, or after editing openclaw.json manually. Do NOT use when: the user wants to change config — use clawops_config_set.
| Name | Type | Req | Description |
|---|---|---|---|
| stackName | string | – | Which stack's deployed config to validate. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_destroy Destroy Stack (DESTRUCTIVE) ~176
Destroy a clawops stack. Removes ALL provisioned resources. Triggers elicitation confirmation showing the resource diff before execution (R19). Cannot be undone. Use when: the user explicitly asks to destroy, tear down, delete, or remove a stack. Always confirm the stack name. Do NOT use when: the user wants to stop the gateway temporarily — that is not a destroy, and no tool stops a gateway; clawops_gateway_restart is the only gateway tool. Do NOT use when in doubt about which stack; list first with clawops_stacks_list.
| Name | Type | Req | Description |
|---|---|---|---|
| stackName | string | yes | The stack to destroy. Required, and worth repeating back to the user before calling: this deletes every resource it provisioned |
| yes | boolean | – | Skip elicitation; CI/scripted use only |
No output schema declared.
No examples provided.
clawops_doctor Run Diagnostics ~323
Run clawops's diagnostics and return the report: Node and Pulumi runtime, config, SSH key and known_hosts, cloud credentials per configured provider, and the supported OpenClaw range. With stackName, also contacts the host for container state, the deployed OpenClaw version, a real gateway health probe, whether the port is published to the internet, disk usage on the state directory, log rotation, and hardening drift. Use when: something is not working and you do not yet know what; before any deploy, upgrade or migration; or to find out which OpenClaw version a gateway is actually running. Do NOT use when: you already know the problem and want to fix it. This tool only reports — it changes nothing, and never runs `openclaw doctor --fix`. No tool repairs a gateway: `clawops gateway update` is CLI-only, so tell the user to run it themselves, after `clawops backup create`. Every check carries a status: fail (something is wrong that clawops can name), warn (worth knowing, not broken), info (did not apply). `ok` is false only when something failed — a fresh machine with no stacks is full of warnings and healthy.
| Name | Type | Req | Description |
|---|---|---|---|
| failuresOnly | boolean | – | Return only failing and warning checks. Passing checks are counted, not listed. |
| stackName | string | – | Stack to include remote checks for. Without it, only the local machine is checked — no SSH connection is made. |
No output schema declared.
No examples provided.
clawops_gateway_restart Restart Gateway Daemon ~112
Restart the OpenClaw gateway daemon on the remote instance. Use when: a gateway-wide config change requires reload, or the gateway is reported as unresponsive. Note: OpenClaw 2.0 removed per-agent restart; `gateway restart` is the only restart it offers, and it affects every agent on the host. Brief downtime (~10s).
| Name | Type | Req | Description |
|---|---|---|---|
| stackName | string | – | Which stack's gateway to restart. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_harden Harden Stack ~453
Apply security hardening to a deployed stack: SSH, UFW, fail2ban, unattended-upgrades, the Docker socket, and per-cloud checks. Optionally join the stack to a Tailscale network and reach it there instead of over the public internet. Use when: the user asks to harden, secure, or lock down a stack; asks what the hardening report says (with dryRun: true, which changes nothing); or asks to put a stack on their tailnet. tailscale: true installs Tailscale, joins the tailnet as clawops-<stack>, and then moves clawops onto that address — but only after opening an SSH session to it, against host keys pinned over the connection already trusted. If that fails, nothing is recorded and the public address stays in use. The auth key comes from `clawops secret set TAILSCALE_AUTH_KEY` and is never passed through this tool (R6). tailscaleRevert: true takes the host back off the tailnet, over its public address. On a private-only stack it refuses and names the plan/apply commands that reopen SSH first — relay them rather than trying to work around it. To close the public ports afterwards, plan with privateOnly: true and apply that plan; this tool does not change firewall rules. Do NOT use when: the user wants to know whether a stack is healthy — that is clawops_doctor. Do NOT pass tailscale and tailscaleRevert together.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | Report the current state, change nothing |
| options | string | – | Comma-separated module IDs; default is every defaultOn module for the provider |
| stackName | string | – | Which stack to harden. Omitted = the default stack in ~/.clawops/config.json |
| tailscale | boolean | – | Join the tailnet, verify this machine reaches the host there, then use that address |
| tailscaleRevert | boolean | – | Leave the tailnet and go back to the public address |
| yes | boolean | – | Skip elicitation; CI/scripted use only |
No output schema declared.
No examples provided.
clawops_init Initialise clawops Config ~509
Register a stack and write ~/.clawops/config.json: the provider, the state backend, the region, and an SSH key pair generated if one is not already there. Nothing is provisioned and nothing is charged; this only creates local configuration. Use when: any other clawops tool reports that there is no config, or the user wants to add a second stack alongside the ones they have. This is the first call on a machine that has never run clawops — a fresh container, a new laptop, a sandbox. Adding a stack is additive and safe: existing stacks are kept. Overwriting one needs force: true, because changing a state backend orphans the Pulumi state it points at — the infrastructure stays up and clawops can no longer see or destroy it. For aws, gcp and azure, stateUrl can be omitted and clawops names a bucket from the account it can see; that needs cloud credentials in the environment, so in a sandbox pass stateUrl explicitly. The local provider needs host instead, and no cloud account at all. Do NOT use when: the user wants to deploy — that is clawops_up, after this. Credentials are never passed here: clawops reads them from the environment (R6).
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Overwrite a stack that already exists. Refused without it, because replacing a state backend orphans the state it points at |
| host | string | – | [local only] Hostname or IP of the machine to manage. Required when provider is local |
| provider | string | yes | Which cloud this stack deploys to, or 'local' for a machine you already have |
| region | string | – | Cloud region in the provider's own spelling. Omitted = us-east-1 (aws), us-central1 (gcp), eastus (azure) |
| sshPort | integer | – | [local only] SSH port. Omitted = 22 |
| sshUser | string | – | [local only] SSH login user. Omitted = root |
| stackName | string | – | Name for the stack, used by every later call. Omitted = "default" |
| stateUrl | string | – | Where Pulumi state lives, e.g. s3://bucket/clawops, gs://bucket/clawops, azblob://container. Omitted = clawops names one from the cloud account it can see, which needs credentials |
No output schema declared.
No examples provided.
clawops_logs_tail Tail Gateway Logs ~200
Tail recent gateway logs from a clawops-managed instance. Use when: the user wants to investigate recent activity or errors, or asks "what's been happening" on the gateway. Do NOT use when: the user wants real-time streaming logs (those are not well-suited to tool calls; suggest the user run `clawops logs -f` directly in their terminal). Do NOT use for instance-level system logs: no tool runs arbitrary remote commands, so tell the user to run `clawops ssh --command 'journalctl ...'` themselves.
| Name | Type | Req | Description |
|---|---|---|---|
| sinceMin | integer | – | Lines since N minutes ago |
| stackName | string | – | Which stack's gateway to read. Omitted = the default stack in ~/.clawops/config.json |
| tailLines | integer | – | How many of the most recent lines to return. Keep it small; output is trimmed to 8KB regardless |
No output schema declared.
No examples provided.
clawops_monitor Monitor Stack Health ~159
Take a live snapshot of a running clawops stack: gateway health, container status, resource usage (CPU, memory, disk), and recent log lines. Use when: the user wants to know if the gateway is running, how much memory or CPU it is using, what recent log activity looks like, or wants a quick health overview richer than clawops_status. Do NOT use when: the user wants real-time streaming logs (use clawops_logs_tail or suggest `clawops logs -f`). Do NOT use for configuration queries (use clawops_config_get).
| Name | Type | Req | Description |
|---|---|---|---|
| stackName | string | – | Stack name. Defaults to active stack. |
| tailLines | integer | – | Log lines to include in snapshot. |
No output schema declared.
No examples provided.
clawops_plan Generate Deploy Plan ~412
Generate a Maker deploy plan (does NOT apply). Plan is JSON conforming to deploy-plan.schema.json — review before applying. Use when: the user wants to see what would be created before committing, or you (the agent) need a reviewable artifact for the user to approve. Do NOT use when: the user has explicitly asked to deploy and you already have their approval — go directly to clawops_up.
| Name | Type | Req | Description |
|---|---|---|---|
| gatewayCidr | string | – | CIDR(s) allowed to reach the gateway port, or 'auto'. Requires publishGateway=all |
| instanceType | string | – | A clawops alias (micro|small|medium|large|gpu) or a machine type the cloud names itself, e.g. t3.small |
| openclawVersion | string | – | semver, or 'stable'/'dev' |
| outPath | string | – | Absolute path to write plan; if omitted, plan returned inline |
| privateOnly | boolean | – | Close public SSH and gateway access; reach the stack over its tailnet. Requires a verified tailnet address (clawops_harden with tailscale), and refuses unless that address answers SSH now |
| provider | string | – | Cloud to plan against. Omitted = the provider recorded for the stack. 'local' has no plan/apply path and is refused |
| publishGateway | string | – | Which interface the gateway binds. loopback (default) keeps it off the network |
| region | string | – | Cloud region, in the provider's own spelling (us-east-1, us-central1, eastus). Omitted = the region recorded for the stack |
| sshCidr | string | – | CIDR(s) allowed to reach SSH, comma-separated, or 'auto' for this machine. Omitted = none, and nothing will be able to connect |
| stackName | string | – | Which stack the plan is for. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_stacks_list List Stacks ~76
List all clawops-managed stacks across all configured providers. Use when: the user wants an overview of their deployments, asks "what stacks do I have", or wants to compare stacks before an operation. Do NOT use when: the user named a specific stack — use clawops_status directly with that name.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
clawops_status Get Stack Status ~134
Get what is deployed for a clawops-managed stack: public IP, gateway URL, SSH user, or that nothing is deployed yet. Reads stack outputs; does not contact the host. Use when: the user asks what exists for a stack, or where to reach it. Do NOT use when: the user asks whether the gateway is actually WORKING — that needs the host, so use clawops_doctor. Also not for live logs (use clawops_logs_tail) or config values (use clawops_config_get).
| Name | Type | Req | Description |
|---|---|---|---|
| stackName | string | – | Stack name. Defaults to active stack from config. |
No output schema declared.
No examples provided.
clawops_task_status Get Task Status ~124
Poll the status of a long-running clawops task (returned by clawops_up, clawops_destroy, clawops_apply, etc.). Per R12 streaming model. Use when: the user is waiting on a long-running deploy/destroy and wants progress, OR you need to check whether a previously-started operation finished. Do NOT use when: there is no active taskId — start the operation first.
| Name | Type | Req | Description |
|---|---|---|---|
| taskId | string | yes | The taskId returned by a long-running tool such as clawops_up, clawops_apply or clawops_destroy |
No output schema declared.
No examples provided.
clawops_up Provision and Deploy Stack ~444
Provision and deploy a clawops stack. Idempotent — re-running with no spec change produces no diff. Long-running (median 3min, p99 8min) so emits progress notifications per R12. Use when: the user explicitly asks to deploy, provision, create, or "spin up" a stack. Always after the user has reviewed a plan (clawops_plan first when in doubt). Do NOT use when: the user has not yet generated a plan and is in exploratory/discovery mode — use clawops_plan first. Do NOT use for an existing stack you only need to update; refresh first.
| Name | Type | Req | Description |
|---|---|---|---|
| dryRun | boolean | – | Show what would be created and change nothing. Use this first when the user has not yet approved a spend |
| gatewayCidr | string | – | CIDR(s) allowed to reach the gateway port. Requires publishGateway=all. |
| instanceType | string | – | A clawops size (micro|small|medium|large|gpu) or a provider-native machine type. Not an enum: Azure offers SKU families per subscription, and an account offered none of the five sizes clawops names w… |
| openclawVersion | string | – | semver or 'stable'/'dev' |
| provider | string | – | Defaults to provider configured for this stack |
| publishGateway | string | – | Which interface the gateway binds. 'all' serves plaintext HTTP. |
| region | string | – | Cloud region to deploy into, in the provider's own spelling (us-east-1, us-central1, eastus). Omitted = the region recorded for the stack |
| sshCidr | string | – | CIDR(s) allowed to reach SSH, comma-separated, or 'auto' for the caller's own address. Omitted means none, and nothing will be able to connect — including every clawops day-two command. |
| stackName | string | – | Name for the stack to provision, and the name every later command refers to it by. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_workflow_deploy_app Deploy OpenClaw (End-to-End Workflow) ~267
Single-tool workflow that takes a user from "I want to deploy OpenClaw to <provider>" to a verified, healthy gateway. Internally: plan → user confirms (elicitation) → up → wait for healthy → return URL. Use when: the user expresses end-to-end deployment intent ("deploy to AWS", "spin up an OpenClaw on GCP for me"). Do NOT use when: the user is mid-deployment and only needs one step (e.g., they already have a plan; use clawops_apply). Do NOT use for destroying or updating — separate workflows.
| Name | Type | Req | Description |
|---|---|---|---|
| instanceType | string | – | Machine size: a clawops alias (micro|small|medium|large|gpu) or a type the cloud names itself, e.g. t3.small |
| provider | string | yes | Cloud to deploy to. Omitted = the default provider in ~/.clawops/config.json |
| region | string | – | Cloud region, in the provider's own spelling (us-east-1, us-central1, eastus). Omitted = the provider's default |
| stackName | string | – | Name for the new stack. Omitted = the default stack name in ~/.clawops/config.json |
No output schema declared.
No examples provided.
clawops_workflow_recover Recover/Diagnose Stack ~120
Diagnostic workflow for an unhealthy stack. Internally: status check → gateway logs → agent logs → systemd service status → produces a structured diagnostic report with suggested remediation. Use when: the user reports any "not working" symptom and you don't know where to start. Best entry point for troubleshooting. Do NOT use when: the user has already identified the problem and asks for a specific fix.
| Name | Type | Req | Description |
|---|---|---|---|
| stackName | string | – | Which stack to diagnose. Omitted = the default stack in ~/.clawops/config.json |
No output schema declared.
No examples provided.
What is the clawops MCP server?
clawops is an MCP server listed in the public MCP registry as io.github.dfridkin/clawops. Deploy self-hosted OpenClaw to AWS, GCP, Azure or a local VM, a CLI and an MCP server in one. This page covers its npm package (@clawops/cli).
Is the clawops MCP server safe to use?
clawops scores 80 out of 100 on VerifyMCP. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the clawops MCP server expose?
clawops exposes 20 tools: clawops_status, clawops_doctor, clawops_logs_tail, clawops_monitor, clawops_config_get, and 15 more. Their descriptions and schemas cost roughly 4,334 tokens of context every time the server is loaded.
Is the clawops MCP server still maintained?
clawops is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the clawops MCP server under?
clawops declares the MPL-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.