blob: e959260d35133cc864385de240990949f3447f70 [file]
# Copyright 2026 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Contributing to Chrome DevTools Protocol: https://goo.gle/devtools-contribution-guide-cdp
experimental domain WebMCP
depends on Runtime
depends on Page
depends on DOM
# Tool annotations
type Annotation extends object
properties
# A hint indicating that the tool does not modify any state.
optional boolean readOnly
# If the declarative tool was declared with the autosubmit attribute.
optional boolean autosubmit
# Represents the status of a tool invocation.
type InvocationStatus extends string
enum
Success
Canceled
Error
# Definition of a tool that can be invoked.
type Tool extends object
properties
# Tool name.
string name
# Tool description.
string description
# Schema for the tool's input parameters.
optional object inputSchema
# Optional annotations for the tool.
optional Annotation annotations
# Frame identifier associated with the tool registration.
Page.FrameId frameId
# Optional node ID for declarative tools.
optional DOM.BackendNodeId backendNodeId
# The stack trace at the time of the registration.
optional Runtime.StackTrace stackTrace
# Enables the WebMCP domain, allowing events to be sent. Enabling the domain will trigger a toolsAdded event for
# all currently registered tools.
command enable
# Disables the WebMCP domain.
command disable
# Event fired when new tools are added.
event toolsAdded
parameters
# Array of tools that were added.
array of Tool tools
# Event fired when tools are removed.
event toolsRemoved
parameters
# Array of tools that were removed.
array of Tool tools
# Event fired when a tool invocation starts.
event toolInvoked
parameters
# Name of the tool to invoke.
string toolName
# Frame id
Page.FrameId frameId
# Invocation identifier.
string invocationId
# The input parameters used for the invocation.
string input
# Event fired when a tool invocation completes or fails.
event toolResponded
parameters
# Invocation identifier.
string invocationId
# Status of the invocation.
InvocationStatus status
# Output or error delivered as delivered to the agent. Missing if `status` is anything other than Success.
optional any output
# Error text for protocol users.
optional string errorText
# The exception object, if the javascript tool threw an error>
optional Runtime.RemoteObject exception