---
title: "Discover WebMCP tools across the browser"
method: GET
path: "/webmcp/tools"
---

# Discover WebMCP tools across the browser

`GET /webmcp/tools`

Returns a snapshot of WebMCP tools registered by every open tab and by embedded
content within those tabs.

On the first request, Kernel starts monitoring the browser. Tabs and windows that are already
open are included, and tabs, windows, and embedded content opened later are tracked automatically.
Tools are removed when the tab or embedded frame that registered them closes or navigates away.

Each tool includes an opaque tool_ref that identifies its exact live registration, tool metadata,
and information about the window, tab, and optional embedded frame that provided it.
Use tool_ref to invoke that exact registration.

## Query parameters

- `exclude_custom` boolean

## Response `200`

Current WebMCP tool snapshot.

- WebMCPToolsResponse
  - `tools` WebMCPTool[], required
    - `tool_ref` string, required — Opaque reference for invoking this exact live registration. It becomes invalid when its document or browser process is replaced.
    - `tool` WebMCPToolMetadata, required — Tool metadata follows the [MCP Tool definition](https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool) and the [WebMCP RegisteredTool definition](https://webmachinelearning.github.io/webmcp/#dictdef-registeredtool). outputSchema is optional for page and custom tools.
      - `name` string, required
      - `title` string
      - `description` string, required
      - `inputSchema` object, required
      - `outputSchema` object
      - `annotations` WebMCPToolAnnotations — Tool-provided behavioral hints from the [MCP tool specification](https://modelcontextprotocol.io/specification/2025-11-25/server/tools#tool) and the [WebMCP ToolAnnotations definition](https://webmachinelearning.github.io/webmcp/#dictdef-toolannotations). These hints are untrusted and are not enforced by Kernel.
        - `readOnlyHint` boolean
        - `destructiveHint` boolean
        - `idempotentHint` boolean
        - `openWorldHint` boolean
        - `consequentialHint` boolean
        - `untrustedContentHint` boolean
        - `autosubmit` boolean
    - `source` WebMCPToolSource, required
      - `window_id` integer, required — Monotonically increasing identifier for the browser window during the current browser process.
      - `tab_id` integer, required — Monotonically increasing identifier for the tab during the current browser process.
      - `target_id` string — CDP target ID for a custom tool's registration tab; omitted for page-provided tools.
      - `page_title` string, required — Current title of the top-level page.
      - `page_url` string, required — Current URL of the top-level page with the fragment omitted.
      - `frame` WebMCPToolFrame, required
        - `frame_id` integer, required — Monotonically increasing identifier for this embedded frame during the current browser process.
        - `url` string, required — Current frame URL with the fragment omitted.
      - `custom` WebMCPCustomToolSource
        - `id` string, required
        - `namespace` string, required

## Other responses

- `404` — Not Found
- `500` — Internal Server Error

## Changes

- **2026-09-23** `20deed4d1ac2` — 3 breaking, 1 warning, 4 info
  - removed the required property `tools/items/description` from the response with the `200` status
  - removed the required property `tools/items/input_schema` from the response with the `200` status
  - removed the required property `tools/items/name` from the response with the `200` status
  - removed the optional property `tools/items/annotations` from the response with the `200` status
  - …4 more
- **2026-09-01** `54979b3b120a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kernel/apis/kernel-images-api/changes/webmcp/tools/get.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)
