Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
Déduit des transports déclarés par cette annonce (streamable-http). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.
La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.
Lu depuis un véritable échange MCP initialize → tools/list contre l’endpoint déclaré. Aucun outil n’a été invoqué — tools/list est l’appel d’introspection en lecture seule que le protocole prévoit pour cela. Cela reflète ce que le serveur annonçait à cet instant ; un endpoint hébergé n’est figé sur aucune version et peut changer sans préavis.
https://api.webrun.ai/mcp21 outils · 171 msbrowser_taskrisque d’injectionExecute a browser automation task in a real Chrome browser running in a WebRun cloud environment (docs.webrun.ai). Creates a session, runs the task, and auto-terminates. Best for simple one-off tasks that no saved workflow covers. May navigate, fill forms, and submit data on third-party websites as…Execute a browser automation task in a real Chrome browser running in a WebRun cloud environment (docs.webrun.ai). Creates a session, runs the task, and auto-terminates. Best for simple one-off tasks that no saved workflow covers. May navigate, fill forms, and submit data on third-party websites as…
files : Exfiltration-shaped instructionDs to attach: ids returned by POST /files/upload, or any file already in one of the user's environment catalogs (GET /en…| Paramètre | Type | Description |
|---|---|---|
| prompt* | string | Task description in natural language |
| startingUrl | string | Optional starting URL |
| maxDuration | number | Max duration in minutes (default: 20, max: 60) |
| outputType | string | Response format (default: text) |
| outputSchema | object | JSON Schema for structured output (required if outputType is structured_json) |
| webhook | object | Webhook configuration for task completion notification |
| secrets | array | Domain-matched secrets [{match, fields}] passed to instance (not stored) |
| environmentId | string | Environment ID for persistent profile session. Use list_environments to find available IDs. Without this, a disposable instance is used. |
| policyId | string | Policy ID to apply automation guardrails (domain restrictions, capability controls, LLM role). Optional. |
| debugC | boolean | Enable debug mode on the instance (default: false) |
| files | array | Optional file IDs to attach: ids returned by POST /files/upload, or any file already in one of the user's environment catalogs (GET /environments/:id/files). M… |
| proxy | object | Proxy configuration. WebRun-managed: { source: "WebRun", country: "GB" }. Custom: { source: "custom", type: "http"|"socks", host, port, username?, password? }.… |
| reach_out_mode | string | Controls proactive chat-platform messages (Telegram/WhatsApp/Slack/Discord/Teams) to bot users on the same environment. Default: "off" — no messages are sent u… |
| model | string | Optional model name or profile key (from global config). Falls back to the configured default. |
| timezone | string | IANA timezone name for the session, e.g. "America/New_York", "Europe/London", "Asia/Tokyo". Date/time-sensitive instructions (e.g. "tomorrow morning", "today",… |
create_sessionCreate a persistent session in a real Chrome browser running in a WebRun cloud environment (docs.webrun.ai), for multi-step interactive work. Returns a sessionId for subsequent commands. With an initial task the browser may act on third-party websites immediately. Do NOT use this to run or test a s…Create a persistent session in a real Chrome browser running in a WebRun cloud environment (docs.webrun.ai), for multi-step interactive work. Returns a sessionId for subsequent commands. With an initial task the browser may act on third-party websites immediately. Do NOT use this to run or test a s…
| Paramètre | Type | Description |
|---|---|---|
| mode | string | Session mode (default: default) |
| task | object | Initial task configuration |
| environmentId | string | Environment ID for persistent profile session. Use list_environments to find available IDs. Without this, a disposable instance is used. |
| policyId | string | Policy ID to apply automation guardrails (domain restrictions, capability controls, LLM role). Optional. |
| debugC | boolean | Enable debug mode on the instance (default: false) |
| proxy | object | Proxy configuration. WebRun-managed: { source: "WebRun", country: "GB" }. Custom: { source: "custom", type: "http"|"socks", host, port, username?, password? }.… |
| reach_out_mode | string | Controls proactive chat-platform messages (Telegram/WhatsApp/Slack/Discord/Teams) to bot users on the same environment. Default: "off" — no messages are sent u… |
| model | string | Optional model name or profile key (from global config). Falls back to the configured default. |
| timezone | string | IANA timezone name for the session, e.g. "America/New_York", "Europe/London", "Asia/Tokyo". Date/time-sensitive instructions (e.g. "tomorrow morning", "today",… |
send_taskrisque d’injectionSend a new task to an existing browser session (from create_session). The real Chrome browser may navigate, fill forms, and submit data on third-party websites as the task requires.Send a new task to an existing browser session (from create_session). The real Chrome browser may navigate, fill forms, and submit data on third-party websites as the task requires.
files : Exfiltration-shaped instructionDs to attach: ids returned by POST /files/upload, or any file already in one of the user's environment catalogs (GET /en…| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID from create_session |
| prompt* | string | Task description |
| startingUrl | string | URL to navigate to before starting this task (optional) |
| maxDuration | number | Max duration for this task in minutes (3-60). Defaults to the value the session was created with. |
| maxInputTokens | number | Max input tokens for this task (100-3000000). Defaults to the value the session was created with. |
| maxOutputTokens | number | Max output tokens for this task (100-1000000). Defaults to the value the session was created with. |
| terminateOnCompletion | boolean | Auto-terminate after task (default: false) |
| outputType | string | Response format |
| outputSchema | object | JSON Schema for structured output (required if outputType is structured_json) |
| webhook | object | Webhook configuration |
| secrets | array | Domain-matched secrets [{match, fields}] (not stored) |
| files | array | Optional file IDs to attach: ids returned by POST /files/upload, or any file already in one of the user's environment catalogs (GET /environments/:id/files). M… |
pause_session_taskPause the task currently running in a browser session. Resume it later with resume_session_task.Pause the task currently running in a browser session. Resume it later with resume_session_task.
| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID |
resume_session_taskResume a previously paused task in a browser session.Resume a previously paused task in a browser session.
| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID |
stop_session_taskCancel the task currently running in a browser session, keeping the session alive for new tasks.Cancel the task currently running in a browser session, keeping the session alive for new tasks.
| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID |
terminate_sessionEnd a browser session and free its resources. The session and any running task cannot be resumed afterwards.End a browser session and free its resources. The session and any running task cannot be resumed afterwards.
| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID |
guardrail_responserisque d’injectionRespond to a guardrail trigger when the browser agent needs human input (credentials, clarification, approval). The response is handed to the live agent, which continues acting on it.Respond to a guardrail trigger when the browser agent needs human input (credentials, clarification, approval). The response is handed to the live agent, which continues acting on it.
files : Exfiltration-shaped instructionDs to attach: ids returned by POST /files/upload, or any file already in one of the user's environment catalogs (GET /en…| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID |
| response | string | Your response/instructions to the agent. Required when newState is 'resume'. |
| newState | string | How to continue: 'resume' (default) provides the requested input and continues the task; 'deny' declines the request (response text optional). |
| files | array | Optional file IDs to attach: ids returned by POST /files/upload, or any file already in one of the user's environment catalogs (GET /environments/:id/files). M… |
get_task_statusCheck the status of a task previously started in a browser session. Use to poll for completion or detect guardrails. Read-only: reports on the task without affecting it.Check the status of a task previously started in a browser session. Use to poll for completion or detect guardrails. Read-only: reports on the task without affecting it.
| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID |
| taskId* | string | Task ID to check |
screenshotCapture a screenshot of the current browser page in an active session. Returns the screenshot as an inline image. Read-only.Capture a screenshot of the current browser page in an active session. Returns the screenshot as an inline image. Read-only.
| Paramètre | Type | Description |
|---|---|---|
| sessionId* | string | Session ID |
list_sessionsList all active browser sessions for this account. Read-only.List all active browser sessions for this account. Read-only.
Aucun schéma d’entrée n’a été publié pour cet outil.
list_environmentsList available browser environments (persistent profiles) for this account. Returns environment IDs needed for persistent sessions in browser_task or create_session. Read-only. NOTE: workflows and agents use the connection's environment automatically — you rarely need this tool for those, and shoul…List available browser environments (persistent profiles) for this account. Returns environment IDs needed for persistent sessions in browser_task or create_session. Read-only. NOTE: workflows and agents use the connection's environment automatically — you rarely need this tool for those, and shoul…
Aucun schéma d’entrée n’a été publié pour cet outil.
list_workflowsList the user's saved workflows (prompt-templated browser automations, docs.webrun.ai). Shows each workflow's title, schedule, {{variables}}, and run stats. Scoped to the bound environment when this connection has one; pass scope "all" for every environment. Read-only.List the user's saved workflows (prompt-templated browser automations, docs.webrun.ai). Shows each workflow's title, schedule, {{variables}}, and run stats. Scoped to the bound environment when this connection has one; pass scope "all" for every environment. Read-only.
| Paramètre | Type | Description |
|---|---|---|
| scope | string | 'environment' (default when this connection is bound to one) lists workflows deployed to the bound environment; 'all' lists every workflow on the account. |
get_workflowFull detail of one workflow: prompt template, {{variables}} and their defaults, trigger + schedule, run settings (starting URL, timezone, model, proxy, output contract, files), memory state, and any pending logins. Identify by workflowId or exact title. Read-only; proxy credentials are masked.Full detail of one workflow: prompt template, {{variables}} and their defaults, trigger + schedule, run settings (starting URL, timezone, model, proxy, output contract, files), memory state, and any pending logins. Identify by workflowId or exact title. Read-only; proxy credentials are masked.
| Paramètre | Type | Description |
|---|---|---|
| workflowId | string | 24-hex workflow id (from list_workflows or create_workflow) |
| title | string | Exact workflow title (case-insensitive) — alternative to workflowId |
create_workflowCreate a new saved workflow. READINESS BAR: if you could not execute the prompt yourself as a human in a browser — which site, which records, which fields, delivered where, matched to each recipient how — it is not ready; first collect the missing business facts from the user (see the TASK INTERVIE…Create a new saved workflow. READINESS BAR: if you could not execute the prompt yourself as a human in a browser — which site, which records, which fields, delivered where, matched to each recipient how — it is not ready; first collect the missing business facts from the user (see the TASK INTERVIE…
| Paramètre | Type | Description |
|---|---|---|
| title* | string | Workflow title (shown on the dashboard). |
| promptTemplate* | string | The task the browser agent runs, written as a BROWSING RUNBOOK. Structure it as: `Goal:` — one sentence naming the outcome. `Ground rules (every stage, every t… |
| shortDescription | string | One-line summary shown in workflow lists. |
| triggerPhrase | string | Natural-language phrase that invokes this workflow in chat. |
| useCaseTags | array | Categorisation tags. |
| department | string | Free-text department label (e.g. "inventory"). |
| trigger | object | How the workflow is meant to be invoked (informational — see notes). Defaults to {type:'manual', source:'manual'}. |
| schedule | object | Saved schedule setting. NOTE: record-only — the workflow does NOT run on a timer until deployed as a scheduled agent (dashboard or Telegram bot). |
| startingUrl | string | Page Chrome opens at the start of each run. Omit to let the prompt decide. |
| timezone | string | IANA timezone for runs of this workflow (e.g. "America/New_York"). Leave unset to follow the proxy country. |
| model | string | Model profile key. Omit for the account default. |
| proxy | object | Proxy for runs. {source:"WebRun", country?} or {source:"custom", type:"http"|"socks", host, port, username?, password?}. Custom passwords are encrypted at rest… |
| outputType | string | Output contract: 'text' (default), 'structured' (JSON matching outputSchema), 'structured_csv' (rows for the outputSchema column names). |
| outputSchema | object | array | JSON Schema object (outputType "structured") or array of column-name strings (outputType "structured_csv"). |
| requiredFiles | array | Per-run file attachments. Each row may name its own environmentId; ownership is enforced per-file at dispatch. |
| deployedPolicyId | string | Policy id to run under (must be owned by you). |
| reachOutMode | string | null | Proactive-chat policy for runs: 'off', 'guardrail_only', or 'full'. Omit (or pass null) to inherit the account default (MCP-initiated runs treat inherit as 'of… |
| memoryEnabled | boolean | Persist per-workflow agent memory across runs (default true). |
| memory | string | The agent's private notebook: shown to it at the start of every run, updated automatically after each run. Seed it ONLY with durable facts the next run must al… |
| orchestrateFirst | boolean | Discovery mode: one run gathers the WHOLE work list up front, later runs claim one item each. |
| workListEnabled | boolean | Advanced — set automatically when memoryContract is supplied; leave unset. |
| listType | string | Advanced — defaults automatically ('monitor' when memoryContract is supplied); leave unset. |
| policyOptedOut | boolean | Opt this workflow out of the environment's default policy. |
| conciergeNotify | string | Where the concierge announces results (e.g. 'Telegram', 'Slack', 'WhatsApp', 'Microsoft Teams', 'concierge'). |
update_workflowUpdate an existing workflow. Supply workflowId plus only the fields to change: prompt, trigger, schedule, run settings, variables, presentation. Object and array fields are replaced whole; pass null to clear an optional field. Renaming via title keeps the slug stable. The stored schedule stays a sa…Update an existing workflow. Supply workflowId plus only the fields to change: prompt, trigger, schedule, run settings, variables, presentation. Object and array fields are replaced whole; pass null to clear an optional field. Renaming via title keeps the slug stable. The stored schedule stays a sa…
| Paramètre | Type | Description |
|---|---|---|
| workflowId* | string | 24-hex id of the workflow to update (from list_workflows or create_workflow). Required — the title property here is the NEW title for renames, never an identif… |
| environmentId | string | Move the workflow to a different environment you own. |
| title | string | Workflow title (shown on the dashboard). |
| promptTemplate | string | The task the browser agent runs, written as a BROWSING RUNBOOK. Structure it as: `Goal:` — one sentence naming the outcome. `Ground rules (every stage, every t… |
| shortDescription | string | One-line summary shown in workflow lists. |
| triggerPhrase | string | Natural-language phrase that invokes this workflow in chat. |
| useCaseTags | array | Categorisation tags. |
| department | string | Free-text department label (e.g. "inventory"). |
| trigger | object | How the workflow is meant to be invoked (informational — see notes). Defaults to {type:'manual', source:'manual'}. |
| schedule | object | Saved schedule setting. NOTE: record-only — the workflow does NOT run on a timer until deployed as a scheduled agent (dashboard or Telegram bot). |
| startingUrl | string | Page Chrome opens at the start of each run. Omit to let the prompt decide. |
| timezone | string | IANA timezone for runs of this workflow (e.g. "America/New_York"). Leave unset to follow the proxy country. |
| model | string | Model profile key. Omit for the account default. |
| proxy | object | Proxy for runs. {source:"WebRun", country?} or {source:"custom", type:"http"|"socks", host, port, username?, password?}. Custom passwords are encrypted at rest… |
| outputType | string | Output contract: 'text' (default), 'structured' (JSON matching outputSchema), 'structured_csv' (rows for the outputSchema column names). |
| outputSchema | object | array | JSON Schema object (outputType "structured") or array of column-name strings (outputType "structured_csv"). |
| requiredFiles | array | Per-run file attachments. Each row may name its own environmentId; ownership is enforced per-file at dispatch. |
| deployedPolicyId | string | Policy id to run under (must be owned by you). |
| reachOutMode | string | null | Proactive-chat policy for runs: 'off', 'guardrail_only', or 'full'. Omit (or pass null) to inherit the account default (MCP-initiated runs treat inherit as 'of… |
| memoryEnabled | boolean | Persist per-workflow agent memory across runs (default true). |
| memory | string | The agent's private notebook: shown to it at the start of every run, updated automatically after each run. Seed it ONLY with durable facts the next run must al… |
| orchestrateFirst | boolean | Discovery mode: one run gathers the WHOLE work list up front, later runs claim one item each. |
| workListEnabled | boolean | Advanced — set automatically when memoryContract is supplied; leave unset. |
| listType | string | Advanced — defaults automatically ('monitor' when memoryContract is supplied); leave unset. |
trigger_workflowRun a workflow now in its deployed environment. This is the ONLY correct way to run or TEST a saved workflow — a run started here carries the workflow's rules, tracking and memory; browser_task/create_session runs do not. When the user says "run it", "run it once", "test it" or "try it" about a wor…Run a workflow now in its deployed environment. This is the ONLY correct way to run or TEST a saved workflow — a run started here carries the workflow's rules, tracking and memory; browser_task/create_session runs do not. When the user says "run it", "run it once", "test it" or "try it" about a wor…
| Paramètre | Type | Description |
|---|---|---|
| workflowId | string | 24-hex workflow id |
| title | string | Exact workflow title (case-insensitive) — alternative to workflowId |
| variables | object | Values for the workflow's {{variables}}, keyed by exact variable name. Merged over the workflow's stored variableValues defaults. |
| force | boolean | Work-list workflows only: when the list reports complete, re-open it for a fresh full pass. |
create_agentCreate a scheduled agent — a recurring or one-time automation that runs on a timer in a real Chrome browser. Two modes. WORKFLOW MODE: pass workflowId plus a schedule — the platform copies everything else (prompt, starting URL, output contract, model, proxy, policy, files) from the workflow and bak…Create a scheduled agent — a recurring or one-time automation that runs on a timer in a real Chrome browser. Two modes. WORKFLOW MODE: pass workflowId plus a schedule — the platform copies everything else (prompt, starting URL, output contract, model, proxy, policy, files) from the workflow and bak…
| Paramètre | Type | Description |
|---|---|---|
| workflowId | string | WORKFLOW MODE: 24-hex id of the workflow to deploy (from list_workflows). The prompt, starting URL, output contract, model, proxy, policy, and files are all co… |
| schedule* | object | When the agent fires. Required. |
| expiresAt | string | ISO 8601 date-time after which the agent auto-pauses (recurring schedules). |
| name | string | Agent name. Required standalone; defaults to the workflow title in workflow mode. |
| variables | object | WORKFLOW MODE, and only when the workflow's prompt actually contains {{variables}}: values for them, BAKED IN at deploy and reused every run (stored variableVa… |
| prompt | string | STANDALONE MODE (required there): The task the browser agent runs, written as a BROWSING RUNBOOK. Structure it as: `Goal:` — one sentence naming the outcome. `… |
| startingUrl | string | STANDALONE MODE: page Chrome opens at the start of each run. |
| proxy | object | STANDALONE MODE (workflow mode inherits the workflow proxy instead): Proxy for runs. {source:"WebRun", country?} or {source:"custom", type:"http"|"socks", host… |
| outputType | string | STANDALONE MODE: output contract (same rules as create_workflow). |
| outputSchema | object | array | STANDALONE MODE: JSON Schema object (structured) or column-name array (structured_csv). |
| memory | string | STANDALONE MODE: the agent's private notebook, shown to it every run and updated automatically after each run. Seed ONLY durable facts the next run must know (… |
| environmentId | string | STANDALONE MODE, rarely needed — OMIT it: the connection-bound environment (or your only one) is applied automatically; never ask the user to choose. Workflow… |
list_agentsList the account's scheduled agents (cron deployments): schedule, status, next/last run, and whether each is standalone or deployed from a workflow. Scoped to the bound environment when this connection has one; pass scope "all" for every environment. Read-only.List the account's scheduled agents (cron deployments): schedule, status, next/last run, and whether each is standalone or deployed from a workflow. Scoped to the bound environment when this connection has one; pass scope "all" for every environment. Read-only.
| Paramètre | Type | Description |
|---|---|---|
| scope | string | 'environment' (default when bound) lists agents in the bound environment; 'all' lists every agent on the account. |
pause_agentPause an active scheduled agent — it stops firing until resumed. Get agentId from list_agents.Pause an active scheduled agent — it stops firing until resumed. Get agentId from list_agents.
| Paramètre | Type | Description |
|---|---|---|
| agentId* | string | 24-hex agent id (from list_agents or create_agent) |
resume_agentResume a paused scheduled agent — recomputes its next run and reactivates it. A completed work-list agent restarts with a fresh full pass. Refuses if the agent's expiry has passed (extend it on the dashboard first).Resume a paused scheduled agent — recomputes its next run and reactivates it. A completed work-list agent restarts with a fresh full pass. Refuses if the agent's expiry has passed (extend it on the dashboard first).
| Paramètre | Type | Description |
|---|---|---|
| agentId* | string | 24-hex agent id (from list_agents) |
21 outils sur 21 ont publié une description.
Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.
Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
Les noms cliquables ouvrent l’index Forge de toutes les entrées observées exposant cet outil. Parcourir tous les outils indexés.
Cette entrée ne publie aucun paquet npm : Forge n'a donc pas d'arbre de dépendances pour elle. C'est une lacune de couverture — pas une affirmation qu'elle n'a aucune dépendance.