# 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