# WebArm24 (remote · webarm24.online)

AI automation platform (n8n/Zapier alternative): build, schedule and run workflows from your agent.

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `webarm24.online`: 67/100 (this document), [markdown](https://verifymcp.io/servers/online-webarm24-webarm24/webarm24.md), [page](https://verifymcp.io/servers/online-webarm24-webarm24/webarm24)

## Channel facts

- Endpoint: `https://webarm24.online/mcp`
- Transports: `streamable-http`
- Auth: `required (not validated)`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 35/100
  - 0% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 2693 tokens (~42/item across 64 items; 63 tools + 1 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_email" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 65 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the WebArm24 MCP server?

WebArm24 is a hosted endpoint at https://webarm24.online/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http online-webarm24-webarm24 'https://webarm24.online/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "online-webarm24-webarm24": {
      "url": "https://webarm24.online/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "online-webarm24-webarm24": {
      "type": "http",
      "url": "https://webarm24.online/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.online-webarm24-webarm24]
url = "https://webarm24.online/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "online-webarm24-webarm24": {
      "type": "remote",
      "url": "https://webarm24.online/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add online-webarm24-webarm24 --url 'https://webarm24.online/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  online-webarm24-webarm24:
    url: "https://webarm24.online/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "online-webarm24-webarm24": {
      "Transport": "http",
      "Url": "https://webarm24.online/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add online-webarm24-webarm24 -t streamable-http -u 'https://webarm24.online/mcp'
```

### Other

```json
{
  "mcpServers": {
    "online-webarm24-webarm24": {
      "type": "http",
      "url": "https://webarm24.online/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 67, 0)

- [security] Tool “credits_history” rewrote its description, which is the text the model reads
- [functional] New tool “browser_paste_html”
- [functional] New tool “browser_press_key”
- [cosmetic] “credits_history” added an optional parameter “kind”
- [cosmetic] “credits_history” added an optional parameter “limit”
- [cosmetic] “credits_history” added an optional parameter “offset”

### 2026-11-04 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-03 (score 66, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-11-02 (score 66)

First indexed and scored.

## MCP tools (63)

### `browser_navigate` (~72 tokens)

Open a URL in your private server-side browser session. `browser_session_label` loads a saved login
    (see browser_session_put) when the session is first created. Costs 1 mcp_call.

Input parameters:

- `browser_session_label`
- `session` (string)
- `url` (string, required)

### `browser_screenshot` (~31 tokens)

Screenshot of the current page (JPEG). Costs 1 mcp_call.

Input parameters:

- `session` (string)

### `browser_click` (~41 tokens)

Click an element by visible text, label or CSS selector. Costs 1 mcp_call.

Input parameters:

- `description` (string, required)
- `session` (string)

### `browser_click_at` (~49 tokens)

Click at pixel coordinates of the (resized) viewport. Costs 1 mcp_call.

Input parameters:

- `session` (string)
- `x` (integer, required)
- `y` (integer, required)

### `browser_fill` (~51 tokens)

Type a value into an input identified by label/placeholder/selector. Costs 1 mcp_call.

Input parameters:

- `field_description` (string, required)
- `session` (string)
- `value` (string, required)

### `browser_press_key` (~59 tokens)

Press a key on the focused element ('Enter', 'Tab', 'Escape', 'Control+a', ...). Costs 1 mcp_call.

Input parameters:

- `count` (integer)
- `key` (string, required)
- `session` (string)

### `browser_paste_html` (~70 tokens)

Paste rich text (HTML) into the focused editor as a clipboard paste, keeping formatting
    (rich-text / contenteditable editors). Click the target first. Costs 1 mcp_call.

Input parameters:

- `html` (string, required)
- `session` (string)
- `text` (string)

### `browser_extract_text` (~41 tokens)

Extract text from a described area of the page. Costs 1 mcp_call.

Input parameters:

- `area_description` (string, required)
- `session` (string)

### `browser_scroll` (~44 tokens)

Scroll 'up' or 'down'. Costs 1 mcp_call.

Input parameters:

- `amount` (integer)
- `direction` (string)
- `session` (string)

### `browser_get_html` (~29 tokens)

Return the current page HTML. Costs 1 mcp_call.

Input parameters:

- `session` (string)

### `browser_close_session` (~32 tokens)

Close your browser session (free). Idle sessions are closed after 30 minutes.

Input parameters:

- `session` (string)

### `send_email` (~60 tokens)

Send an email through the server SMTP (subject to server allowlists/limits). Costs 1 mcp_call.

Input parameters:

- `body` (string, required)
- `is_html` (boolean)
- `subject` (string, required)
- `to` (string, required)

### `analyze_json` (~54 tokens)

Inspect large JSON: mode summary|schema|value|preview, optional dotted path. Costs 1 mcp_call.

Input parameters:

- `json_text` (string, required)
- `mode` (string)
- `path` (string)

### `pipeline_list` (~12 tokens)

List your pipelines.

### `pipeline_get` (~29 tokens)

Get one pipeline incl. steps, schedule and inbound trigger URL.

Input parameters:

- `pipeline_id` (string, required)

### `pipeline_create` (~95 tokens)

Create a pipeline. See resource webarm://docs/pipeline-steps for the step schema.
    `extra` may carry webhook_url, webhook_secret, webhook_structured_data_only, inbound_trigger_only.

Input parameters:

- `cron_expr` (string)
- `enabled` (boolean)
- `extra`
- `name` (string, required)
- `run_at`
- `steps` (array, required)
- `task_variables`

### `pipeline_update` (~89 tokens)

Patch a pipeline. `fields` may contain any of: name, enabled, cron_expr, run_at (null clears), steps,
    task_variables, webhook_url, webhook_secret, clear_webhook_secret, webhook_structured_data_only,
    inbound_trigger_only, regenerate_trigger_token. `steps` replaces the whole step list.

Input parameters:

- `fields` (object, required)
- `pipeline_id` (string, required)

### `pipeline_delete` (~31 tokens)

Delete a pipeline and its schedule (restorable later via pipeline_deleted_restore).

Input parameters:

- `pipeline_id` (string, required)

### `pipeline_history_list` (~102 tokens)

Change history of a pipeline, newest first: [{id, seq, action (create|update|delete|restore),
    source (manual|assistant|mcp|api), source_detail, changed_fields, created_at, updated_at}].
    Consecutive manual UI edits within a few minutes are merged into one revision. Page with `before_seq`.

Input parameters:

- `before_seq`
- `limit` (integer)
- `pipeline_id` (string, required)

### `pipeline_history_get` (~47 tokens)

One revision: {revision, snapshot (full pipeline state after that change), diff (vs previous revision)}.

Input parameters:

- `pipeline_id` (string, required)
- `revision_id` (string, required)

### `pipeline_history_restore` (~49 tokens)

Restore a pipeline to the state of a revision (recorded as a new `restore` revision). Returns the pipeline.

Input parameters:

- `pipeline_id` (string, required)
- `revision_id` (string, required)

### `pipeline_deleted_list` (~31 tokens)

Deleted pipelines that can be restored: [{pipeline_id, name, steps_count, deleted_at, source}].

### `pipeline_deleted_restore` (~38 tokens)

Re-create a deleted pipeline from its last snapshot (same id, starts disabled, new inbound trigger URL).

Input parameters:

- `pipeline_id` (string, required)

### `pipeline_group_list` (~30 tokens)

List your sidebar pipeline groups, each with its pipeline_ids. Ungrouped pipelines are in no group.

### `pipeline_group_create` (~35 tokens)

Create a sidebar group, optionally moving the given pipelines into it.

Input parameters:

- `name` (string, required)
- `pipeline_ids`

### `pipeline_group_update` (~41 tokens)

Rename a group and/or set whether it is collapsed in the sidebar.

Input parameters:

- `collapsed`
- `group_id` (string, required)
- `name`

### `pipeline_group_delete` (~31 tokens)

Delete a group. Its pipelines are kept, just ungrouped.

Input parameters:

- `group_id` (string, required)

### `pipeline_group_assign` (~45 tokens)

Move a pipeline into a group; omit group_id (or pass null) to remove it from its group.

Input parameters:

- `group_id`
- `pipeline_id` (string, required)

### `pipeline_test_step` (~52 tokens)

Run a single step in isolation. `previous_outputs[i]` feeds {{step_{i+1}_output}}.

Input parameters:

- `pipeline_variables`
- `previous_outputs`
- `step` (object, required)

### `pipeline_run` (~63 tokens)

Start a run (async; returns run_id). Costs the usual pipeline_run credits. Follow with
    pipeline_run_wait or pipeline_run_get.

Input parameters:

- `initial_step_outputs`
- `pipeline_id` (string, required)
- `skip_steps`
- `variables`

### `pipeline_run_get` (~52 tokens)

Run status (running|cancelling|ok|error|cancelled), current_step_index, per-step results, answer_preview.

Input parameters:

- `pipeline_id` (string, required)
- `run_id` (string, required)

### `pipeline_run_wait` (~70 tokens)

Block until the run finishes or timeout_sec (max 600) elapses; returns the latest run state
    (check `status` — still 'running' means timed out).

Input parameters:

- `pipeline_id` (string, required)
- `run_id` (string, required)
- `timeout_sec` (integer)

### `pipeline_runs_list` (~34 tokens)

Recent runs of a pipeline (max 50).

Input parameters:

- `limit` (integer)
- `pipeline_id` (string, required)

### `pipeline_run_cancel` (~37 tokens)

Request cancellation of an active run (takes effect between steps).

Input parameters:

- `pipeline_id` (string, required)
- `run_id` (string, required)

### `pipeline_builder_chat` (~79 tokens)

Ask the built-in AI pipeline builder (costs builder_call credits). `messages`=[{role,content}],
    `pipeline`=current draft. Returns {text, pipeline}; the draft is NOT saved — pass it to pipeline_create/update.

Input parameters:

- `builder_context`
- `messages` (array, required)
- `pipeline` (object, required)

### `pipeline_debug_chat` (~47 tokens)

Ask the AI to analyse a finished run (costs builder_call credits).

Input parameters:

- `pipeline_id` (string, required)
- `question` (string, required)
- `run_id` (string, required)

### `agent_job_submit` (~67 tokens)

Run the browsing agent on a task (async; costs agent_job credits). Jobs are in-memory (lost on restart).

Input parameters:

- `lang` (string)
- `output_json_schema`
- `target_url` (string)
- `text` (string, required)
- `variables`

### `agent_job_get` (~38 tokens)

Job status/result (queued|running|completed|failed).

Input parameters:

- `job_id` (string, required)
- `structured_data_only` (boolean)

### `agent_job_list` (~20 tokens)

Recent agent jobs.

Input parameters:

- `limit` (integer)

### `schedule_list` (~16 tokens)

List automations (single-task schedules).

### `schedule_get` (~22 tokens)

Automation details plus recent runs.

Input parameters:

- `schedule_id` (string, required)

### `schedule_create` (~59 tokens)

Create an automation. `schedule` follows ScheduleCreate: mode (agent|replay), task_text, target_url,
    webhook_url, cron_expr, run_at, lang, output_json_schema, task_variables, ...

Input parameters:

- `schedule` (object, required)

### `schedule_update` (~31 tokens)

Patch an automation (ScheduleUpdate fields).

Input parameters:

- `fields` (object, required)
- `schedule_id` (string, required)

### `schedule_delete` (~20 tokens)

Delete an automation.

Input parameters:

- `schedule_id` (string, required)

### `schedule_run` (~34 tokens)

Run an automation now (synchronous; costs schedule_run credits).

Input parameters:

- `schedule_id` (string, required)
- `variables`

### `schedule_export` (~23 tokens)

Export an automation as portable JSON.

Input parameters:

- `schedule_id` (string, required)

### `schedule_import` (~20 tokens)

Import an exported automation.

Input parameters:

- `document` (object, required)

### `storage_list` (~14 tokens)

List your JSON/text stores.

### `storage_read` (~19 tokens)

Read a store.

Input parameters:

- `name` (string, required)

### `storage_write` (~45 tokens)

Write a store (mode 'auto' keeps JSON, 'text' stores a string).

Input parameters:

- `mode` (string)
- `name` (string, required)
- `value` (required)

### `storage_delete` (~19 tokens)

Delete a store.

Input parameters:

- `name` (string, required)

### `storage_files_list` (~20 tokens)

List stored files.

Input parameters:

- `prefix` (string)

### `storage_file_put` (~46 tokens)

Upload a file (base64 content). Size caps: USER_FILES_FILE_MAX_BYTES / per-user total.

Input parameters:

- `content_base64` (string, required)
- `name` (string, required)

### `storage_file_get` (~33 tokens)

Download a file as base64 (limited to 8 MiB of base64).

Input parameters:

- `name` (string, required)

### `storage_file_delete` (~21 tokens)

Delete a stored file.

Input parameters:

- `name` (string, required)

### `browser_session_list` (~20 tokens)

List saved logins (Playwright storageState slots).

### `browser_session_get` (~22 tokens)

Get a saved storageState.

Input parameters:

- `label` (string, required)

### `browser_session_put` (~34 tokens)

Save a Playwright storageState (stored encrypted).

Input parameters:

- `label` (string, required)
- `storage_state` (object, required)

### `browser_session_delete` (~21 tokens)

Delete a saved login.

Input parameters:

- `label` (string, required)

### `account_me` (~15 tokens)

Your account incl. credit balance.

### `credits_history` (~131 tokens)

Credit usage history: balance, 30-day spend by reason, and ledger entries (newest first).
    Each entry has delta, reason (pipeline_run, schedule_run, chat_turn, agent_job, builder_call,
    debug_chat, mcp_usage, purchase, signup_grant, refund, ...), detail (what it was for), balance_after.
    `kind`: "spend" (charges only) or "credit" (grants/purchases/refunds only). `limit` max 200.

Input parameters:

- `kind`
- `limit` (integer)
- `offset` (integer)

### `credit_packs` (~15 tokens)

Purchasable credit packs.

### `credits_checkout_url` (~34 tokens)

Create a Stripe Checkout URL for a pack; a human must open it to pay.

Input parameters:

- `credits_amount` (integer, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/online-webarm24-webarm24/webarm24#diagnostics

## Score history

- 2026-11-05: 67
- 2026-11-04: 67
- 2026-11-03: 66
- 2026-11-02: 66

## Common questions

### What is the WebArm24 MCP server?

WebArm24 is an MCP server listed in the public MCP registry as online.webarm24/webarm24. AI automation platform (n8n/Zapier alternative): build, schedule and run workflows from your agent. This page covers its hosted endpoint (https://webarm24.online/mcp).

### Is the WebArm24 MCP server safe to use?

WebArm24 scores 67 out of 100 on VerifyMCP. 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 WebArm24 MCP server expose?

WebArm24 exposes 63 tools: browser_navigate, browser_screenshot, browser_click, browser_click_at, browser_fill, and 58 more. Their descriptions and schemas cost roughly 2,631 tokens of context every time the server is loaded.

### Does the WebArm24 MCP server require authentication?

Yes. WebArm24 asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the WebArm24 MCP server still maintained?

WebArm24 is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://webarm24.online/mcp
- Authorisation metadata: https://webarm24.online/.well-known/oauth-protected-resource/mcp
- Website: https://webarm24.online/
- Changelog RSS feed: https://verifymcp.io/servers/online-webarm24-webarm24/webarm24.xml
- Changelog JSON feed: https://verifymcp.io/servers/online-webarm24-webarm24/webarm24.json
- HTML version of this page: https://verifymcp.io/servers/online-webarm24-webarm24/webarm24
