Skip to main content
Glama

webmcp_tools

Read-onlyIdempotent

Lists page-declared WebMCP tools for agents, with schemas, origins, sensitivity flags, call counts, and optional recent call logs for inspection.

Instructions

List the WebMCP tools the page declares for agents: name, description, input_schema, origin, kind (imperative = registered with document.modelContext.registerTool; declarative = a ), sensitive (why webmcp_call wants confirm) and how many times each was called. active=false: WebMCP is off in this Chrome and only form tools are visible, as plain forms. calls adds the call log of the page, any caller (chrome-bridge or the browser agent): input, output, status, ms.

Input Schema

NameRequiredDescriptionDefault
callsNoAlso return the last N calls from the log; 0 = tools only
tab_idNoTarget tab; omitted = last tab navigated in this session, else the active one
frame_idNoTarget iframe id from get_frames; omitted = main frame

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.31.2

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent and non-destructive, but the description adds real context the annotations cannot: the active=false degraded state where WebMCP is off and only plain form tools appear, and that 'sensitive' explains why webmcp_call requests confirmation. It does not discuss ordering of results or cost of the call log, but goes well beyond the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then the returned fields, then the active=false caveat and the calls option — a sensible ordering. The single dense paragraph with nested parentheses and semicolons is harder to parse than it needs to be, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries the return shape and does so field by field, including the call-log entries. The degraded-mode behavior is disclosed. Minor gaps remain (result ordering, whether tool schemas can be large, behavior when the page declares no tools) but nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so tab_id and frame_id are already documented in the schema. The description does add meaning for 'calls' by naming the log fields returned (input, output, status, ms) and clarifying 'any caller', which is a modest but genuine addition. Baseline 3 is right.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List the WebMCP tools the page declares for agents') and enumerates exactly what each entry contains: name, description, input_schema, origin, kind, sensitive, call count. The parenthetical definitions of imperative vs declarative and of 'sensitive' make it unambiguous against the sibling webmcp_call, which invokes rather than lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: you read this to discover tools, then presumably use webmcp_call. webmcp_call is mentioned only as the reason 'sensitive' exists, not as an explicit routing alternative with a condition. No statement of when-not-to-use or prerequisites beyond the active=false note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.