---
title: "Invoke a discovered WebMCP tool"
method: POST
path: "/webmcp/invoke"
---

# Invoke a discovered WebMCP tool

`POST /webmcp/invoke`

Invokes the exact live registration identified by tool_ref. Non-autosubmit declarative form
tools return after their fields are populated with an awaiting_submission status. Other tools
wait for a terminal result, including across navigation. CDP-backed custom tool outputs above
240 KiB return an error rather than a truncated result. If the request times out after invocation
begins, the server reports outcome_unknown and never retries the tool automatically.

## Request body

- WebMCPInvokeRequest
  - `tool_ref` string, required
  - `input` object, required — Tool input, limited to 1 MiB after JSON serialization.
  - `timeout_sec` integer

## Response `200`

Chromium accepted the invocation and either populated a non-autosubmit form or reported a terminal result.

- WebMCPInvocationResult
  - `invocation_id` string, required
  - `status` 'completed' | 'canceled' | 'error' | 'awaiting_submission', required — awaiting_submission means a non-autosubmit declarative form was populated but not submitted.
  - `output` unknown
  - `error_text` string

## Other responses

- `400` — Bad Request
- `404` — Not Found
- `500` — Internal Server Error
- `504` — Invocation began, but its final outcome could not be observed.

## Changes

- **2026-09-04** `5388cbf5ad80` — 1 warning
  - added the new `awaiting_submission` enum value to the `status` response property for the response status `200`
- **2026-09-01** `54979b3b120a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kernel/apis/kernel-images-api/changes/webmcp/invoke/post.md)

---

[API](https://skmtc.dev/kernel/apis/kernel-images-api.md) · [All operations](https://skmtc.dev/kernel/apis/kernel-images-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kernel/apis/kernel-images-api/revisions/a1c46fb41d0f?raw)
