Skip to main content
Glama

spector-agent-mcp

AI-first WebGL 1/2 debugging MCP server built on Spector.js, designed for Code Agents (Cursor / Claude / Codex) collaborating with Chrome DevTools MCP.

Features

  • Shared-Chrome CDP attach (no second browser)

  • debugSessionId collaboration with chrome-devtools-mcp

  • Summary-first tools + diagnostic rules (WEBGL-*)

  • Skill Pack under skills/ (router + specialized playbooks)

  • Error fixtures + evals for regression of agent workflows

Related MCP server: chrome-dev-mcp

Quick start

1. Chrome remote debugging

# macOS example
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-webgl-debug

2. Run the published package

npx -y spector-agent-mcp --browser-url http://127.0.0.1:9222

3. MCP config

Generic MCP client configuration:

{
  "mcpServers": {
    "spector-agent": {
      "command": "npx",
      "args": ["-y", "spector-agent-mcp", "--browser-url", "http://127.0.0.1:9222"]
    }
  }
}

Adapter templates under adapters/ also use the published npx -y spector-agent-mcp entry. For repository development, run pnpm install && pnpm build and point the MCP command at node packages/cli/dist/cli.js instead.

Also configure chrome-devtools MCP in your host. Templates:

  • Cursor: adapters/cursor/mcp.json

  • Codex: adapters/codex/config.toml

  • Claude plugin: adapters/claude-plugin/

4. Agent workflow (short)

  1. webgl_debug_playbook({ goal, url }) — deterministic tool sequence

  2. Reproduce with chrome-devtools tools / open URL

  3. webgl_bind_targetwebgl_runtime_install

  4. Stage observe: webgl_set_marker / webgl_screenshot_canvas / webgl_read_console

  5. webgl_capture_frame({ includeThumbnails: true })webgl_run_diagnostics → FBO via webgl_list_visual_attachments

  6. Fix workspace code → re-capture → webgl_diff_captures

Playbooks: skills/webgl-goal-driven-debug/SKILL.md, skills/webgl-debugging/SKILL.md
Gap analysis vs Spector.js: docs/ai-debug-toolchain-gap.md

Tool list (summary)

Group

Tools

Session

webgl_session_create, webgl_session_status, webgl_list_targets, webgl_bind_target, webgl_unbind_target, webgl_runtime_install, webgl_runtime_status

Capture

webgl_list_canvases, webgl_select_canvas, webgl_capture_frame, webgl_capture_sequence, webgl_capture_commands, webgl_list_captures, webgl_get_capture_overview

Live / stage

webgl_set_marker, webgl_clear_marker, webgl_runtime_log, webgl_screenshot_canvas, webgl_read_console, webgl_list_visual_attachments, webgl_get_visual_attachment

Inspect

webgl_list_draw_calls, webgl_get_command_details, webgl_list_programs, webgl_get_program_details, webgl_list_textures, webgl_list_framebuffers, webgl_get_state_diff, webgl_search_capture

Diagnostics

webgl_run_diagnostics, webgl_get_finding_details, webgl_diff_captures, webgl_generate_report, webgl_list_rules, webgl_debug_playbook

Store

webgl_export_capture, webgl_delete_capture, webgl_cleanup_store, webgl_open_capture_viewer

Security defaults: CDP is limited to explicitly allowlisted loopback hosts, runtime injection is limited to local or --allowed-origins targets, captures are size/retention bounded, and the generic webgl_page_evaluate tool is not registered unless --allow-page-evaluate is explicitly enabled. Prefer Chrome DevTools MCP for page evaluation and interaction.

Streamable HTTP is also available with secure defaults:

export SPECTOR_AGENT_MCP_HTTP_TOKEN="replace-with-at-least-24-random-characters"
npx -y spector-agent-mcp --transport http

It listens on 127.0.0.1:9230/mcp, requires Bearer authentication, and isolates MCP sessions. Non-loopback listening requires both --allow-remote-http and an explicit --http-allowed-hosts allowlist. See docs/usage.md for all usage modes.

Skill Pack

skills/
  webgl-debugging/           # main router
  webgl-goal-driven-debug/    # URL+goal → capture → fix → verify
  webgl-black-screen/
  webgl-shader-debugging/
  webgl-texture-framebuffer/
  webgl-state-corruption/
  webgl-geometry-draw/
  webgl-performance-regression/
  webgl-verify-fix/
  webgl-framework-adapters/

Fixtures & evals

  • Fixtures: packages/test-fixtures/errors/*

  • Eval scenarios: evals/evals.json

  • Report grader: evals/graders/grade-report.mjs

Docs

License

MIT — see LICENSE / NOTICE (Spector.js heritage noted where applicable).

Available Tools

39 tools
webgl_bind_targetBind page targetA
Idempotent

Bind a page target by targetId, debugSessionId, url+title, or urlPattern. Prefer debugSessionId set via chrome-devtools-mcp.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
titleNo
targetIdNo
urlPatternNoRegExp source matched against target URL
debugSessionIdNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true, readOnlyHint=false, and destructiveHint=false. The description adds minimal behavioral context beyond the identification methods, such as what happens if already bound or side effects, which would be beneficial.

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

Conciseness5/5

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

The description is concise with two sentences, front-loading the purpose and immediately providing key usage details. No unnecessary words.

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?

Given the complexity of 5 optional parameters and no output schema, the description provides adequate guidance on how to identify a target. However, it lacks a brief explanation of what 'bind' means operationally (e.g., setting the active target for subsequent commands).

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

Parameters4/5

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

With only 20% schema description coverage, the description compensates by explaining the parameter grouping (e.g., 'url+title' implies combining both parameters, and listing alternatives like targetId and debugSessionId) which adds meaning beyond the schema.

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?

The description clearly states the action ('Bind a page target') and specifies the identification methods (targetId, debugSessionId, url+title, urlPattern), effectively distinguishing it from sibling tools like webgl_unbind_target.

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?

The description recommends preferring debugSessionId set via chrome-devtools-mcp, providing some usage guidance. However, it lacks explicit instructions on when to use this tool versus alternatives, and does not mention when not to use it.

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

webgl_capture_commandsCapture N GL commandsB

Spector startCapture for a fixed command count — capture an arbitrary stage without waiting for a full frame boundary.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
canvasIdNo
timeoutMsNo
canvasIndexNo
fullCaptureNo
triggerModeNoraf-pulse
commandCountYes
quickCaptureNo
includeThumbnailsNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations provide readOnlyHint=false, destructiveHint=false, so the tool performs a write operation but is not destructive. The description adds 'startCapture for a fixed command count', which aligns. However, it does not disclose side effects like clearing previous captures or performance impacts, which would add value given the minimal annotation detail.

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?

The description is a single sentence with no redundant words, front-loading the core purpose. It is appropriately concise, though it sacrifices parameter detail for brevity.

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

Completeness2/5

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

Given 9 parameters, no output schema, and minimal annotations, the description is incomplete. It omits parameter explanations, return behavior, error conditions, and usage context, leaving significant gaps for an AI agent.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate. It only implies the 'commandCount' parameter via 'fixed command count', but does not explain the other 8 parameters (label, canvasId, timeoutMs, etc.). The description adds no meaning beyond the schema, failing to help an agent understand parameter usage.

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?

The description clearly states 'Capture N GL commands' and 'capture an arbitrary stage without waiting for a full frame boundary', which distinguishes it from siblings like webgl_capture_frame (captures a full frame) and webgl_capture_sequence (captures a sequence of frames). It specifies the verb (capture) and resource (GL commands).

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

Usage Guidelines4/5

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

The description explicitly says 'capture an arbitrary stage without waiting for a full frame boundary', implying when to use this tool (when you need a fixed command count instead of a full frame). It does not explicitly state when not to use or name alternatives, but the sibling context and description provide sufficient guidance.

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

webgl_capture_frameCapture next frameA

Capture the next WebGL frame. Auto-connects, binds readiness checks, installs runtime if needed. Returns summary + resource URIs (not full JSON).

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
canvasIdNo
timeoutMsNo
canvasIndexNo
fullCaptureNoSpector fullCapture for richer texture pixels. Defaults true when includeThumbnails=true.
triggerModeNonext-frame
quickCaptureNoSpector quickCapture. true skips VisualState FBO/canvas screenshots. Defaults false when includeThumbnails=true.
includeCallStacksNo
includeThumbnailsNoPersist FBO/canvas VisualState screenshots as files under the capture.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations are minimal (all hints false), so the description carries the burden. It discloses that the tool auto-connects, performs readiness checks, and installs the runtime if needed, which are significant behavioral traits. It also states that the return value is a summary with resource URIs, not full JSON, setting accurate expectations.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core action, and every clause adds value. No unnecessary words.

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

Completeness2/5

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

Given the tool has 9 parameters, no output schema, and minimal annotations, the description is too brief. It does not explain key parameters like triggerMode or the content of the 'summary,' leaving agents with insufficient context to use the tool correctly.

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

Parameters2/5

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

Schema description coverage is only 33%, and the description does not add any meaning to the parameters. It fails to compensate for the low coverage, leaving many parameters (e.g., triggerMode, fullCapture, includeThumbnails) unexplained.

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?

The description starts with 'Capture the next WebGL frame,' which is a specific verb+resource. It clearly distinguishes from sibling tools like webgl_screenshot_canvas or webgl_capture_sequence.

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?

The description mentions auto-connects and installs runtime, implying when this tool is used (for a single frame capture). However, it does not provide explicit guidance on when to use this tool versus alternatives like webgl_screenshot_canvas or webgl_capture_sequence, nor are exclusions or prerequisites stated.

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

webgl_capture_sequenceCapture frame sequenceC

Capture a limited sequence of frames (max 5).

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
canvasIdNo
timeoutMsNo
frameCountNo
canvasIndexNo
fullCaptureNoSpector fullCapture for richer texture pixels. Defaults true when includeThumbnails=true.
triggerModeNonext-frame
quickCaptureNoSpector quickCapture. true skips VisualState FBO/canvas screenshots. Defaults false when includeThumbnails=true.
includeCallStacksNo
includeThumbnailsNoPersist FBO/canvas VisualState screenshots as files under the capture.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are sparse (no readOnly, destructive hints) and the description only adds 'max 5'. It does not explain side effects, state changes, or behavioral nuances beyond the limit.

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

Conciseness3/5

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

The description is concise (one sentence) but too short to be maximally informative. It earns its place but lacks structure or elaboration.

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

Completeness2/5

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

Despite 10 parameters, no output schema, and no explanation of return values or behavior differences between modes, the description is incomplete for an agent to use effectively.

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

Parameters2/5

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

With only 30% schema description coverage, the description adds no parameter details. It does not explain parameters like 'triggerMode', 'fullCapture', or their effects.

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?

The description clearly states the verb 'Capture' and the resource 'sequence of frames' with a constraint 'max 5'. This distinguishes it from siblings like 'webgl_capture_frame' (single frame) and 'webgl_capture_commands'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'webgl_capture_frame' or 'webgl_capture_commands'. The description provides no context for appropriate usage.

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

webgl_cleanup_storeCleanup storeB
DestructiveIdempotent

Evict captures by TTL, per-session cap, and max store size.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlDaysNo
maxStoreSizeMbNo
maxCapturesPerSessionNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true. The description adds that eviction is based on TTL, per-session cap, and max store size, but does not disclose other side effects or safety guarantees beyond idempotency.

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?

Single sentence, front-loaded with verb, no wasted words. However, it is so brief that it sacrifices clarity on how the parameters work. A slightly longer sentence with more detail would still be concise.

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

Completeness2/5

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

Given the destructive nature and 3 optional parameters, the description omits critical context: return value, default behavior, confirmation requirements, and interaction with other tools. It is too minimal for safe invocation.

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 0%, so the description must compensate. It names the three criteria (TTL, per-session cap, max store size) corresponding to parameters, but does not explain how they interact or what happens when none are provided. Provides baseline meaning but lacks depth.

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?

The description uses a specific verb 'Evict' and resource 'captures' from a store, clearly distinguishing it from sibling tools like webgl_delete_capture which likely targets specific captures. The action is well-defined.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't compare with webgl_delete_capture or indicate prerequisites or context for cleanup.

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

webgl_clear_markerClear Spector markerA
Idempotent

Clear the current Spector.js marker.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

The description adds minimal behavioral context beyond annotations. Annotations already indicate idempotent and non-destructive behavior; the description does not provide additional details like side effects or prerequisites.

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

Conciseness5/5

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

The description is a single sentence with no wasted words, efficiently conveying the tool's function.

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?

For a simple parameterless tool with no output schema, the description is complete enough. It explains the action and target without omission.

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

Parameters4/5

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

There are no parameters, so schema coverage is 100%. The description correctly omits parameter details as none exist.

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?

The description clearly states the action ('Clear') and the resource ('current Spector.js marker'), distinguishing it from sibling tools like webgl_set_marker.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives (e.g., webgl_set_marker). The usage context is only implied.

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

webgl_debug_playbookGoal-driven debug playbookA
Read-onlyIdempotent

Given a URL/goal/symptoms, return a deterministic multi-phase tool sequence for AI automated WebGL debugging (attach → capture → diagnose → fix → verify).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
goalYes
symptomsNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive. The description adds that the output is a deterministic multi-phase sequence, providing useful behavioral context beyond annotations without contradiction.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys purpose and input/output. No unnecessary words; perfectly sized for quick comprehension.

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

Completeness3/5

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

For a tool with 3 un-documented parameters and no output schema, the description is adequate but incomplete. It lacks details on the format of the returned sequence (e.g., list of tool names, steps) and expected input formats. Annotations mitigate some concerns, but the AI still has gaps.

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

Parameters2/5

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

Schema coverage is 0%, so description must compensate. It mentions 'URL', 'goal', and 'symptoms' as inputs but does not explain their format, constraints, or examples. Minimal value added over the parameter names alone.

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?

The description clearly states the tool's function: given URL/goal/symptoms, return a multi-phase debugging sequence. It uses a specific verb ('return') and resource ('tool sequence') and distinguishes itself from sibling tools which are individual actions.

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?

The description implies usage as a starting point for automated WebGL debugging but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. No direct guidance on when not to use it.

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

webgl_delete_captureDelete captureB
Destructive

Delete a stored capture and its artifacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already indicate destructive hint. Description adds 'and its artifacts' giving slightly more detail about scope, but lacks info on irreversibility or side effects.

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?

Single short sentence, front-loaded with verb and resource. Efficient but omits necessary detail.

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

Completeness2/5

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

Despite low complexity, lacks parameter description and usage context, leaving the agent without critical information for invocation.

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

Parameters1/5

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

Schema defines one parameter 'captureId' with no description (0% coverage). The description fails to explain what the parameter represents.

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?

Description clearly states verb 'Delete' and resource 'stored capture and its artifacts', distinguishing it from sibling tools like list or export.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as webgl_cleanup_store or webgl_export_capture.

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

webgl_diff_capturesDiff capturesB

Semantically compare two captures (findings, programs, draw counts).

ParametersJSON Schema
NameRequiredDescriptionDefault
afterCaptureIdYes
beforeCaptureIdYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds no further behavioral context. The word 'compare' implies a non-destructive operation, but no details on side effects, permissions, or rate limits are given.

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

Conciseness5/5

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

The description is a single, concise sentence that conveys the tool's purpose without extraneous words.

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

Completeness3/5

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

For a simple comparison tool with two string parameters and no output schema, the description is adequate but minimal. It lacks information on return value format, whether the operation is synchronous, and any limitations.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the parameters beyond their names (beforeCaptureId, afterCaptureId). It fails to clarify how to obtain these IDs or any format constraints.

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?

The description clearly states the tool compares two captures semantically, listing specific items like findings, programs, and draw counts. This distinguishes it from sibling tools that perform other actions like deletion or listing.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as webgl_get_state_diff or webgl_get_capture_overview. The description does not mention prerequisites or context.

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

webgl_export_captureExport captureB
Idempotent

Export a capture tree (manifest, capture, findings, report) to a directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
destDirYesDestination directory path
captureIdYes
overwriteNoAllow overwriting files in a non-empty destination

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, indicating safe repeated execution. The description adds minimal behavioral context beyond the schema, stating the export action but not detailing side effects like overwriting or required directory existence. No contradiction with annotations.

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?

The description is a single sentence that efficiently conveys the core purpose. It is front-loaded with the verb and resource, but could be slightly more structured by separating the components. Still, no extraneous content.

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

Completeness2/5

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

Given no output schema and moderate complexity, the description is incomplete. It does not specify what the output looks like, whether the directory must exist, or the effect of the overwrite parameter. The agent lacks sufficient context to understand the tool's full behavior.

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?

The input schema already covers 2 out of 3 parameters with descriptions (destDir, overwrite). The description does not add meaning beyond the schema, such as clarifying captureId's format or origin. With moderate schema coverage, additional parameter context would be helpful but is absent.

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?

The description clearly states the action 'Export' and the resource 'capture tree' (manifest, capture, findings, report) to a directory. It distinguishes this tool from siblings by specifying the export functionality, which is unique among the listed siblings.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it, prerequisites, or related tools. The agent is left to infer usage from the action alone.

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

webgl_generate_reportGenerate reportB
Idempotent

Generate Markdown and/or JSON diagnostic report for a capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNomarkdown
captureIdYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already indicate idempotent (idempotentHint=true) and non-destructive (destructiveHint=false), so the description has lower burden. However, it adds no extra behavioral context (e.g., whether this is a safe read, if it caches results, or what the output format entails). The description does not contradict annotations.

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

Conciseness5/5

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

The description is a single 10‑word sentence that efficiently conveys the core purpose. Every word earns its place, with no fluff or redundancy.

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

Completeness2/5

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

No output schema exists, and the description fails to mention the return type (e.g., string) or content of the report. Given the tool's moderate complexity (2 parameters, no nested objects), a complete description should clarify the output nature and any relevant side effects.

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 0%, so the description must compensate. It hints at the 'format' parameter through 'Markdown and/or JSON' but does not explicitly describe 'captureId' beyond the implied 'for a capture'. This adds partial value but leaves the required parameter underspecified.

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?

The description clearly states the tool generates a diagnostic report for a capture, specifying both Markdown and JSON formats. This verb-resource combination distinguishes it from sibling tools like webgl_get_capture_overview or webgl_run_diagnostics, which serve different purposes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., webgl_get_capture_overview, webgl_run_diagnostics). The description lacks context on prerequisites, such as requiring a capture to exist first, or any exclusion criteria.

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

webgl_get_capture_overviewCapture overviewC
Read-onlyIdempotent

Get a stored capture summary and resource URIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds little beyond stating the output type (summary and resource URIs). This is adequate but not enriched.

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

Conciseness3/5

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

The description is concise with one sentence, but it is overly terse and fails to include important context. It prioritizes brevity over completeness.

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

Completeness2/5

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

With no output schema, 0% parameter coverage, and a simple description, the tool lacks sufficient detail for correct invocation in a complex environment with many sibling tools.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not mention the captureId parameter, leaving the agent without guidance on what the parameter represents or how to use it.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'stored capture summary and resource URIs', which specifies the tool's function. It is distinct from list or search tools among siblings, though not explicitly differentiating.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like webgl_list_captures or webgl_search_capture. The description implies usage for a specific capture ID but lacks context for selection.

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

webgl_get_command_detailsCommand detailsB
Read-onlyIdempotent

Get details for a single command with optional field includes.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNo
captureIdYes
commandIdYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate readOnly, idempotent, non-destructive behavior. The description adds that the 'include' field is optional, which is helpful. However, it does not disclose what happens if no include is specified (default fields), any rate limits, or return format. The added value is minimal.

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?

The description is a single sentence of 9 words, very concise and front-loaded. However, it is too brief to fully cover the tool's purpose. It earns its place by being efficient, but could be slightly expanded without losing conciseness.

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

Completeness2/5

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

Given the lack of output schema and low parameter description coverage, the description fails to provide complete context. It does not explain the return value, how to effectively use the include parameter, or how this tool fits with sibling tools. An agent may not know what 'details' means or the significance of the include options.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only mentions that 'include' is an optional field, but does not explain the meaning of any parameter, especially captureId and commandId, which are required. The enum values in the schema are self-explanatory, but the description adds almost no semantic value beyond the schema.

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?

The description clearly states the verb 'get' and the resource 'single command', which distinguishes it from sibling tools like webgl_list_draw_calls (which lists commands) and webgl_get_program_details (which gets details for a different resource). The optional field includes is also mentioned.

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

Usage Guidelines2/5

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

No context is provided about when to use this tool versus alternatives. It does not specify prerequisites, typical scenarios, or exclusions. For example, an agent might wonder when to use this vs webgl_get_finding_details or webgl_get_state_diff. Explicit guidance is lacking.

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

webgl_get_finding_detailsFinding detailsA
Read-onlyIdempotent

Get full evidence and hypotheses for a diagnostic finding.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes
findingIdYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare read-only and idempotent; description adds no extra behavioral context beyond confirming a read operation.

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?

Single sentence, no wasted words, but could be slightly more informative while remaining concise.

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

Completeness3/5

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

No output schema; description does not detail what 'full evidence and hypotheses' includes. Adequate for a simple retrieval but lacks completeness.

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

Parameters2/5

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

Schema coverage is 0% and description does not explain the two required IDs, only that they relate to a finding. Minimal meaning added.

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?

Describes specific verb 'Get' and resource 'full evidence and hypotheses for a diagnostic finding', clearly differentiating from sibling tools like 'webgl_run_diagnostics'.

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?

Implies usage after diagnostics produce a finding, but no explicit when or when-not to use, nor alternatives.

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

webgl_get_program_detailsProgram detailsC
Read-onlyIdempotent

Get shader sources and link/compile status for a program.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes
programIdYes
includeSourcesNoInline full shader sources; prefer the returned program resource URI

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safe, read-only nature is clear. The description adds minimal extra behavioral context (only states what is retrieved), which is adequate given annotations.

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?

The description is a single concise sentence that front-loads the main purpose. However, it could be slightly more structured to include parameter details or return format.

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

Completeness2/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 should explain the return value (what shader sources and status look like), but it does not. Combined with low schema coverage, the description is incomplete for effective tool invocation.

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

Parameters2/5

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

Schema description coverage is only 33% (only includeSources documented). The description does not explain the required parameters captureId and programId, nor their expected format or role, leaving a significant gap for the agent.

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

Purpose4/5

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

The description clearly states the tool retrieves shader sources and link/compile status for a program, which is specific and distinct from sibling tools like webgl_list_programs (which likely returns program IDs only).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites mentioned (e.g., need programId from webgl_list_programs), and no conditions for use.

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

webgl_get_state_diffState diffC
Read-onlyIdempotent

Get initial vs final GL state differences for a capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already indicate this is a safe, idempotent read operation (readOnlyHint=true, destructiveHint=false, idempotentHint=true). The description adds that it deals with 'initial vs final' state differences, but doesn't clarify what 'initial' and 'final' refer to (e.g., frame boundaries, capture lifetime). This adds some context but not enough to fully characterize behavior beyond annotations.

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?

The description is a single 10-word sentence, concise and front-loaded. It is efficient but perhaps too brief; however, it earns its place by stating the core purpose without fluff.

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

Completeness2/5

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

Given no output schema, the description should explain the return format or behavior. It does not mention what the diff output looks like, and 'initial vs final' is ambiguous. The description is incomplete for an agent to fully understand what to expect.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only indirectly mentions the parameter through 'for a capture,' but does not explain the 'captureId' parameter's role or format. This adds minimal value beyond the schema's property name.

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

Purpose4/5

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

The description clearly states the tool gets 'initial vs final GL state differences for a capture.' This is a specific verb and resource, and it distinguishes from siblings like webgl_diff_captures (which diffs two separate captures) by focusing on state within a single capture. However, it doesn't explicitly differentiate from tools like webgl_get_capture_overview.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With 38 sibling tools, including similar ones like webgl_get_capture_overview and webgl_diff_captures, the lack of usage context is a significant gap.

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

webgl_get_visual_attachmentGet visual attachmentB
Read-onlyIdempotent

Resolve a single FBO/canvas screenshot path for AI inspection (Read tool can open the absolute file path).

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes
commandIdYes
attachmentNameNo
attachmentIndexNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, destructiveHint. Description adds that it resolves a path and that the path can be opened. Minimal additional behavioral context beyond annotations.

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?

Very concise single sentence with parenthetical. Front-loaded with action. However, lacks parameter details, but conciseness is not penalty for missing content per se.

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

Completeness2/5

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

Given 4 parameters and no output schema, description is too minimal. No relationship to sibling tools, no output format, no handling of missing attachment. Incomplete for effective use.

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

Parameters1/5

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

Schema description coverage is 0% and description provides no explanation for the 4 parameters (captureId, commandId, attachmentName, attachmentIndex). Agent has no guidance on how to use them.

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?

Clearly states the action (resolve a path) and resource (FBO/canvas screenshot). Uses specific verb and resource. Distinguishes from siblings like webgl_list_visual_attachments by focusing on a single attachment.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like webgl_list_visual_attachments. No context of prerequisites or typical workflow.

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

webgl_list_canvasesList WebGL canvasesA
Idempotent

Enumerate WebGL/WebGL2 canvases on the bound page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations indicate idempotentHint=true and destructiveHint=false, but readOnlyHint=false. The description adds no extra behavioral context beyond enumerating canvases. With annotations present, a 3 is appropriate as description adds minimal value.

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

Conciseness5/5

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

The description is a single sentence of 9 words, front-loaded with the verb 'enumerate', with no redundant wording.

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?

Given the tool's simplicity (no parameters, no output schema), the description suffices by stating its purpose. It might optionally hint at the output format, but missing that is acceptable for a simple enumeration.

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

Parameters4/5

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

The tool has zero parameters, and schema coverage is 100%. The description does not need to add parameter information. Baseline of 4 for no parameters is suitable.

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?

The description clearly states the verb 'enumerate' and the resource 'WebGL/WebGL2 canvases on the bound page', which is specific and distinguishes it from sibling tools like webgl_select_canvas or webgl_screenshot_canvas.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as webgl_select_canvas or webgl_capture_frame. It only states what it does without context.

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

webgl_list_capturesList capturesB
Read-onlyIdempotent

List stored captures, optionally filtered by session.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the tool is clearly a safe read operation. The description adds no further behavioral context (e.g., no mention of results ordering, pagination, or scope). This is adequate but not enhanced.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words. It is front-loaded with the core purpose.

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

Completeness3/5

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

Given the tool's simplicity (one optional parameter, no output schema), the description is minimally adequate but lacks context like return value shape, pagination, or performance considerations.

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?

The schema has 0% description coverage for the parameter sessionId. The description compensates by stating the parameter is for filtering by session, but does not explain its format, allowed values, or behavior when omitted.

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

Purpose4/5

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

The description clearly states the action ('List') and the resource ('stored captures'), and mentions optional filtering by session. It is specific enough to distinguish from sibling list tools like webgl_list_targets, though it does not explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no when-not-to-use scenarios, and no mention of prerequisites or related functionalities.

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

webgl_list_draw_callsList draw callsB
Read-onlyIdempotent

Paginated list of draw/clear commands for a capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
namesNo
statusNo
pageSizeNo
captureIdYes
programIdNo
framebufferIdNo
stackContainsNo
markerContainsNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds 'paginated', which is a behavioral trait. However, it does not disclose error handling or response structure, leaving gaps despite annotations covering safety.

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?

The description is a single sentence of 9 words, very concise. It avoids redundancy, though it could be slightly more informative about filters without losing conciseness.

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

Completeness2/5

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

Given the tool has 9 parameters and no output schema, the description is severely incomplete. It omits details about filter parameters and response format, making it insufficient for correct invocation.

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

Parameters1/5

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

With 0% schema description coverage and 9 parameters, the description adds no meaning beyond the name. Parameters like 'names', 'status', 'programId' are unexplained, forcing the agent to guess their purpose.

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?

The description clearly states the verb 'list' and the resource 'draw/clear commands for a capture', which is specific and distinguishable from sibling tools like webgl_list_captures or webgl_get_command_details.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies its use for listing draw calls, but does not mention exclusions or alternative tools like webgl_search_capture for filtering.

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

webgl_list_framebuffersList framebuffersC
Read-onlyIdempotent

List framebuffers and attachments from a capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, indicating a safe read operation. The description adds nothing beyond the purpose; it does not disclose any additional behavioral traits like data volume or performance implications.

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?

The description is a single, front-loaded sentence that efficiently states the tool's action. It is very concise, but extreme brevity may border on under-specification for a tool with no parameter descriptions.

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

Completeness2/5

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

With no output schema and a simple input schema, the description should provide more context about the return value or structure of the list. It lacks details on what 'attachments' means or the format of the response, leaving the agent with incomplete information.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description fails to explain the captureId parameter. It only implies the parameter via 'from a capture' without clarifying its format, required values, or constraints.

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

Purpose4/5

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

The description clearly states the tool lists framebuffers and attachments from a capture. The verb 'list' and resource 'framebuffers and attachments' are specific. However, it does not explicitly differentiate from sibling tools like webgl_list_visual_attachments, though no direct overlap exists.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. No context is given for selecting this tool over related list tools, such as webgl_list_captures or webgl_list_textures.

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

webgl_list_programsList programsA
Read-onlyIdempotent

List shader programs in a capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, indicating a safe, read-only operation. The description adds the scope 'in a capture' but does not disclose additional behaviors (e.g., behavior on invalid captureId).

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?

The description is a single concise sentence with no filler. However, it is borderline under-specified given the lack of parameter details and usage guidance.

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

Completeness3/5

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

For a list tool with one parameter and good annotations, the description is minimally adequate. It does not describe the output format or provide any context beyond listing programs, which may leave the agent uncertain about what data is returned.

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

Parameters2/5

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

Schema description coverage is 0% for the sole parameter captureId. The description mentions 'in a capture' but does not explain the parameter's purpose, format, or constraints, leaving the agent without sufficient semantic context.

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?

The description clearly states the action ('List'), the resource ('shader programs'), and the scope ('in a capture'). This specificity distinguishes it from sibling tools like webgl_list_textures or webgl_list_framebuffers.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies use for listing all programs, but does not mention sibling tools like webgl_get_program_details for detail retrieval.

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

webgl_list_rulesList diagnostic rulesB
Read-onlyIdempotent

List deterministic WebGL diagnostic rule IDs available to webgl_run_diagnostics.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds context about the deterministic nature of the rule IDs and their association with webgl_run_diagnostics, going beyond annotations.

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

Conciseness3/5

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

The description is a single sentence and front-loaded, but it omits critical parameter information, making it less efficient.

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

Completeness2/5

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

Given the simplicity of the tool (list rules), the description is minimal. Without an output schema, the return format is unclear, and the optional 'profile' parameter is unexplained, leaving gaps.

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

Parameters1/5

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

The schema has 0% coverage for parameter descriptions, and the description does not explain the 'profile' parameter, which is an optional enum. The description adds no meaning beyond the schema, failing to compensate for low coverage.

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?

The description clearly states the action ('list'), the resource ('WebGL diagnostic rule IDs'), and the context ('available to webgl_run_diagnostics'), making it specific and distinct from sibling tools.

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?

The description implies this tool is a preparatory step for webgl_run_diagnostics, but it does not explicitly state when to use this tool versus alternatives, leaving room for ambiguity.

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

webgl_list_targetsList page targetsA
Read-onlyIdempotent

List Chrome page targets that can be bound for WebGL debugging.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, providing a clear safety profile. The description adds no additional behavioral context (e.g., pagination, empty lists), but does not contradict annotations.

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

Conciseness5/5

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

The description is a single sentence of 11 words, no fluff. Every word is necessary to convey the tool's purpose.

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

Completeness5/5

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

Given zero parameters, no output schema, and annotations covering behavior, the description is complete. It explains what the tool returns (list of targets) and its context (WebGL debugging). No critical information is missing.

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

Parameters4/5

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

There are zero parameters, and schema coverage is 100% (no params). The description does not need to add parameter info. A score of 4 is appropriate per guidelines for 0-parameter tools.

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?

The description clearly states the tool lists Chrome page targets for WebGL debugging. It uses a specific verb 'List' and a clear resource 'page targets', distinguishing it from sibling tools that perform other actions.

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

Usage Guidelines4/5

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

The description implies usage before binding targets (e.g., webgl_bind_target) but does not explicitly state when to use or when not to. It provides context for its role in the workflow, but lacks explicit guidance on alternatives.

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

webgl_list_texturesList texturesC
Read-onlyIdempotent

List textures and upload metadata from a capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
pageSizeNo
captureIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is clear. The description adds minimal value by mentioning 'upload metadata' but does not disclose pagination, performance implications, or return format.

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

Conciseness3/5

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

The description is very concise at one short sentence, which is efficient but comes at the cost of missing critical information. It could include more detail without being overly long.

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

Completeness2/5

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

The description is incomplete for a listing tool with pagination. It does not explain what 'upload metadata' entails, how pagination works, or what the response structure looks like. This is insufficient for an agent to use the tool effectively without additional context.

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

Parameters1/5

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

Schema description coverage is 0%, meaning no parameter explanations in the schema. The description text also fails to explain the purpose of page, pageSize, or captureId, leaving the agent with no guidance beyond basic constraints and defaults.

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

Purpose4/5

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

The description clearly states the verb 'List' and the resource 'textures and upload metadata from a capture', making the tool's purpose understandable. However, it does not differentiate from siblings like webgl_list_captures or webgl_list_draw_calls, but the specific resource 'textures' provides sufficient distinction.

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

Usage Guidelines2/5

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

No guidelines about when to use this tool versus alternatives are provided. Given 34 sibling tools, the lack of any context on usage scenarios or exclusions is a significant gap.

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

webgl_list_visual_attachmentsList FBO/canvas visual attachmentsA
Read-onlyIdempotent

List Spector VisualState attachment screenshots persisted for a capture (requires capture with includeThumbnails=true, quickCapture=false).

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds behavioral context by specifying that results depend on the capture being created with certain flags, which is valuable beyond the annotations.

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

Conciseness5/5

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

The description is a single sentence that front-loads the verb and resource, with no unnecessary words. It is concise and well-structured.

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

Completeness3/5

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

While the description states what the tool lists and its prerequisite, it does not mention the output format or any pagination behavior. For a list tool with one parameter, this is adequate but lacks some completeness.

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

Parameters2/5

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

Schema coverage is 0% with no parameter descriptions. The description mentions 'capture' in the prerequisite but does not explain the captureId parameter's meaning, format, or usage, failing to compensate for the missing schema details.

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?

The description clearly states the verb (List) and resource (Spector VisualState attachment screenshots persisted for a capture), and distinguishes from tools like webgl_get_visual_attachment which retrieves a single attachment.

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

Usage Guidelines4/5

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

The description provides a prerequisite (requires capture with includeThumbnails=true, quickCapture=false), offering clear context for when the tool can be used. It does not explicitly mention alternatives, but the context is sufficient.

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

webgl_open_capture_viewerOpen capture viewerB
Idempotent

Return a local file URL for the read-only Capture Viewer pointing at a stored capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
captureIdYes

TDQS

B3.1/5.0
Behavior1/5

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

The description claims the viewer is 'read-only' but the annotation readOnlyHint is false, indicating possible side effects. This is a contradiction. The description does not disclose behavioral traits beyond annotations, and actually conflicts with them.

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?

The description is concise (one sentence) but lacks necessary details about parameter and behavioral context. It is not overly verbose, but the conciseness comes at the cost of completeness.

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

Completeness3/5

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

For a simple tool with one parameter and no output schema, the description partially covers the return value but omits parameter details and behavioral context. The annotation contradiction further reduces completeness.

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

Parameters2/5

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

The description does not add any meaning to the captureId parameter beyond the schema. With 0% schema description coverage, the description fails to clarify the format or source of captureId.

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?

The description clearly states the action ('Return a local file URL') and the resource ('read-only Capture Viewer pointing at a stored capture'). It distinguishes from sibling tools like webgl_delete_capture and webgl_export_capture.

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?

The description implies usage when needing to open a viewer for a capture, but does not provide explicit guidance on when to use or not use this tool compared to alternatives like webgl_get_capture_overview.

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

webgl_read_consoleRead buffered consoleC
Idempotent

Return recent console API messages collected from the bound page via CDP (log/warn/error).

ParametersJSON Schema
NameRequiredDescriptionDefault
clearNo
limitNo
typesNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations indicate idempotentHint=true and destructiveHint=false. The description adds that it uses CDP and collects log/warn/error messages, but does not disclose the effect of the 'clear' parameter or any state changes. No contradiction with annotations.

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

Conciseness3/5

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

The description is a single sentence of 11 words, which is concise but omits critical parameter information. It front-loads the core purpose but fails to provide enough detail for effective use.

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

Completeness2/5

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

Given three parameters and no output schema, the description is incomplete. It lacks explanations of parameter behavior (clear, limit, types), usage context, and any relation to sibling tools. The agent needs more to select and invoke correctly.

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

Parameters1/5

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

Schema coverage is 0% – the description does not mention any of the three parameters (clear, limit, types). With no parameter details in the description, agents cannot infer how to use them (e.g., limit can be up to 200, clear likely clears the buffer).

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?

The description clearly states the tool reads recent console API messages from the bound page. It uses specific verb 'return' and resource 'recent console API messages', and the source via CDP. It distinguishes from siblings like webgl_capture_frame or webgl_delete_capture which deal with captures, not console.

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

Usage Guidelines2/5

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

No usage guidance is provided. There is no mention of when to use this tool versus alternatives like webgl_runtime_log (which logs to console) or other tools. The description only states what it does, not when or why to use it.

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

webgl_run_diagnosticsRun diagnosticsB
Idempotent

Run deterministic diagnostic rules on a capture (no LLM). Returns findings summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
profilesNo
captureIdYes
minSeverityNo
includeSuppressedNo

TDQS

B3.4/5.0
Behavior3/5

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

The description states the tool is deterministic and does not use LLM, which aligns with the idempotentHint. However, it does not clarify if the tool modifies the capture state or any other side effects beyond running diagnostics. The annotations already indicate non-destructive and idempotent, but the description adds little beyond that.

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?

The description is very concise with two sentences, front-loading the main action. However, it could afford to include parameter guidance without becoming overly verbose. It earns its place but is slightly minimal.

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

Completeness2/5

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

Given the tool has 4 parameters, no output schema, and 35 sibling tools, the description is incomplete. It does not explain the findings summary structure, how to use returned data, or how this tool relates to others like webgl_list_rules or webgl_get_finding_details. The agent needs more contextual information to use it effectively.

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

Parameters2/5

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

Schema coverage is 0% with no parameter descriptions in the schema, and the description does not mention any parameters. The agent must rely solely on parameter names and types, which is insufficient for correct invocation. The description fails to add meaning beyond what the schema provides.

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?

The description clearly states it runs deterministic diagnostic rules on a capture and returns a findings summary. It distinguishes from siblings by focusing on diagnostics and noting 'no LLM', which sets it apart from other tools like webgl_list_rules.

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?

The description implies usage for rule-based analysis but does not provide explicit guidance on when to use this tool versus alternatives, such as webgl_list_rules to see available rules first, or how to interpret results. No prerequisites or context are mentioned.

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

webgl_runtime_installInstall Spector runtimeA
Idempotent

Inject Spector.js into the bound page (early + late install).

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoRefresh Spector canvas spying and bridge wiring without stacking a second runtime

TDQS

A3.7/5.0
Behavior4/5

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

Annotations indicate idempotentHint=true and destructiveHint=false, but the description adds context: 'early + late install' and the force parameter prevents stacking. This clarifies that the tool can be called multiple times safely and modifies state (readOnlyHint=false is consistent).

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

Conciseness5/5

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

The description is a single, focused sentence (12 words) that immediately conveys the tool's purpose. No unnecessary words or redundancy.

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

Completeness3/5

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

For a simple tool with one optional parameter and no output schema, the description provides the core action. However, it omits expected side effects (e.g., page instrumentation) and does not clarify if any return value is provided, which would help an agent confirm success.

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 coverage is 100% with a clear description for the 'force' parameter. The tool description does not add additional parameter context beyond the schema, so baseline 3 is appropriate.

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?

The description clearly states the action (inject Spector.js) and the target (bound page). It adds timing context ('early + late install') making it specific. It is distinct from sibling tools which focus on captures, logs, or markers.

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

Usage Guidelines2/5

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

The description lacks any guidance on when to use this tool versus alternatives. No mention of prerequisites (e.g., needing a bound page) or when not to use it. Sibling tools like webgl_runtime_status could indicate installation status, but no cross-reference is provided.

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

webgl_runtime_logSpector runtime logA

Write a custom log line into the Spector capture stream (appears as a log command when capturing).

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYes

TDQS

A4.2/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations by stating the log line appears in the capture stream, implying a write operation. Annotations have readOnlyHint=false, consistent with mutation. No contradictions. Could mention whether an active capture session is required, but not a major gap.

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

Conciseness5/5

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

The description is a single, well-structured sentence that immediately conveys the tool's action and effect. No extraneous words, and front-loaded with key information.

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?

For a tool with one parameter and no output schema, the description covers the core functionality. It could mention whether the log line is persistent or only during captures, but the current text adequately informs the agent about the tool's primary use.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. The phrase 'custom log line' effectively describes the 'message' parameter's purpose as the log content. This adds meaning beyond the schema definition, which only provides type and length constraints.

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?

The description clearly states the verb 'Write', the resource 'custom log line into the Spector capture stream', and the contextual behavior 'appears as a log command when capturing'. It is distinct from sibling tools, as no other sibling mentions logging.

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?

The description does not provide explicit guidance on when to use this tool versus alternatives like 'webgl_set_marker' or 'webgl_clear_marker'. It implies usage during capture but lacks exclusions or comparative context, making it adequate but not explicit.

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

webgl_runtime_statusRuntime statusA
Read-onlyIdempotent

Check Spector injection, canvas, and context status on the bound page.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds moderate value by specifying exactly what aspects are checked (Spector injection, canvas, context). No contradictions.

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

Conciseness5/5

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

Single sentence with a clear verb and direct object, front-loaded, no unnecessary words. Highly efficient.

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?

Given no parameters, no output schema, and comprehensive annotations, the description adequately covers what the tool does. Could mention return format but not required for this simple status check.

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

Parameters4/5

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

Input schema has no parameters, so description does not need to elaborate. Baseline score of 4 for zero-parameter tools is appropriate.

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?

Description clearly states it checks Spector injection, canvas, and context status on the bound page, distinguishing it from sibling tools that perform mutations or specific captures.

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?

The description implies a non-destructive status check but does not explicitly state when to use it over sibling tools or provide exclusion criteria. Usage context is implied but not detailed.

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

webgl_screenshot_canvasScreenshot canvas nowB

Immediate canvas.toDataURL screenshot (not a Spector frame). Useful for any-stage visual checks and goal verification. Saves under the current session screenshots/ folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
qualityNo
canvasIdNo
mimeTypeNo
canvasIndexNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations are all false, so the description must convey behavior. It states the screenshot is immediate and saves to a folder, implying a file is created (not read-only). However, it does not disclose potential side effects like overwriting files or permission requirements, leaving gaps.

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?

The description is three sentences, front-loading purpose and context. It is concise with no fluff, but the lack of parameter details reduces its efficiency for practical use.

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

Completeness2/5

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

Given 5 optional parameters and no output schema, the description is insufficient. It explains the tool's purpose but provides no guidance on how to use parameters, leaving the agent to guess or rely solely on parameter names.

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

Parameters1/5

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

Schema description coverage is 0%, and the tool description provides no information about any of the 5 parameters (label, quality, canvasId, mimeType, canvasIndex). This omission severely hampers correct invocation.

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?

The description clearly states the tool takes an immediate canvas screenshot using canvas.toDataURL, distinguishes it from Spector frame captures, and specifies it saves to a screenshots folder. Use cases for visual checks and goal verification are explicit.

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

Usage Guidelines4/5

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

The description indicates the tool is for 'any-stage visual checks and goal verification,' implying its general applicability. It contrasts with 'not a Spector frame,' hinting at alternatives like webgl_capture_frame, but does not explicitly state when to avoid this tool.

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

webgl_search_captureSearch captureB
Read-onlyIdempotent

Search commands by API name, marker, object name, or stack frame text.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiNo
limitNo
stackNo
markerNo
captureIdYes
objectNameNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that it searches commands, but lacks details like result format or pagination. It does not contradict annotations.

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?

The single-sentence description is concise and front-loaded with the verb and resource, but it could be slightly more structured to include parameter usage context.

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

Completeness2/5

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

Given 6 parameters, no output schema, and 0% schema coverage, the description is too minimal. It does not explain what 'commands' are, how the search works (fuzzy vs exact), or the response structure.

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

Parameters2/5

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

With 0% schema description coverage, the description partially explains the api, marker, objectName, and stack parameters, but omits the required captureId and limit parameter. This leaves ambiguity about their purpose beyond the bare schema.

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?

The description clearly states the tool searches commands by specific fields (API name, marker, object name, stack frame text), making the purpose distinct from siblings that list or capture data.

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?

The description implies usage for searching commands within a capture but provides no guidance on when to use this tool versus alternatives like webgl_list_captures or webgl_get_capture_overview.

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

webgl_select_canvasSelect canvasC
Idempotent

Select the WebGL canvas to capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
canvasIdNo
canvasIndexNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already indicate idempotence and non-destructiveness. The description adds minimal behavioral context, such as that selection is for subsequent capture operations. It does not disclose edge cases (e.g., behavior when both canvasId and canvasIndex are provided) or any side effects beyond selection.

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

Conciseness3/5

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

The description is very short (one sentence), which is concise but at the cost of omitting essential details. It fails to earn its place by not adding substantial value beyond the tool name.

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

Completeness2/5

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

Despite the tool having only two optional parameters and annotations, the description lacks completeness. It does not explain what happens after selection, how it affects other tools, or return behavior (no output schema). An agent may struggle to use it correctly without prior knowledge of the workflow.

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

Parameters2/5

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

The schema provides two optional parameters (canvasId, canvasIndex) with no descriptions (0% coverage). The description only mentions selecting a canvas, but does not clarify the role of each parameter or when to use one over the other, leaving ambiguity.

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

Purpose4/5

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

The description clearly states the action 'Select' and the resource 'WebGL canvas', making the basic purpose understandable. However, it does not differentiate from sibling tools that also involve canvases (e.g., webgl_list_canvases), which could create ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., webgl_list_canvases for listing canvases first). The description does not specify prerequisite steps or scenarios where this tool is appropriate.

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

webgl_session_createCreate WebGL debug sessionA

Create a local debug session and connect to Chrome at the configured browser URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoOptional human-readable session label

TDQS

A3.7/5.0
Behavior3/5

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

Annotations indicate non-readonly and non-destructive; description adds 'connect to Chrome' context but does not disclose side effects like session lifecycle or if a session already exists.

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

Conciseness5/5

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

One sentence, 17 words, no redundant information; highly efficient and front-loaded.

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

Completeness3/5

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

Covers the basic purpose but lacks information about return value or prerequisites (e.g., Chrome must be running). No output schema, so description should clarify what the tool returns.

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?

Only one optional parameter 'label' with schema description already clear; the tool description adds no additional meaning beyond the schema's coverage.

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?

The description clearly states the tool creates a local debug session and connects to Chrome, which is specific and distinguishes from sibling tools focused on captures or runtime.

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?

The description implies usage for starting a debugging session but lacks explicit guidance on when to use this tool vs alternatives like webgl_session_status or when not to use it.

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

webgl_session_statusSession statusA
Idempotent

Get current session, target binding, and Spector runtime status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate idempotentHint=true and destructiveHint=false, so the description adds minimal behavioral insight beyond stating what is retrieved. It does not clarify side effects, error conditions, or state requirements (e.g., whether a session must exist).

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

Conciseness5/5

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

A single, concise sentence effectively communicates the tool's function without unnecessary words. It is efficiently front-loaded with the action and key resources.

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

Completeness3/5

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

With no output schema, the description provides only a brief list of what is returned ('current session, target binding, and Spector runtime status') but lacks detail on the structure or format. This is adequate but leaves the agent guessing about the response shape.

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

Parameters4/5

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

There are no parameters, so the baseline is 4. The description does not need to elaborate on parameters, and schema coverage is 100%.

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?

The description uses the specific verb 'Get' and explicitly lists three resources: current session, target binding, and Spector runtime status. This clearly defines the tool's purpose and distinguishes it from siblings like webgl_runtime_status, which focuses only on runtime status.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as webgl_runtime_status or webgl_session_create. It does not mention prerequisites or context, leaving the agent without usage recommendations.

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

webgl_set_markerSet Spector markerA
Idempotent

Set a Spector.js marker string so subsequent captured commands are tagged (stage annotation at any point).

ParametersJSON Schema
NameRequiredDescriptionDefault
markerYes

TDQS

A4.5/5.0
Behavior4/5

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

Beyond annotations (idempotent, not destructive), the description explains that the marker tags subsequent commands and can be staged at any point. No contradictions with annotations.

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

Conciseness5/5

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

Single sentence with two clauses conveying the key action and effect, no fluff, front-loaded with primary purpose.

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

Completeness5/5

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

For a simple one-parameter tool, the description covers what the tool does, its effect on subsequent commands, and timing (at any point). No output schema needed.

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

Parameters4/5

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

Schema coverage is 0%, so description carries burden. It adds meaning by explaining that the marker string tags subsequent commands, though it restates 'marker string' which duplicates schema type.

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?

The description clearly states the tool sets a Spector.js marker string to tag subsequent captured commands. It distinguishes from sibling webgl_clear_marker which clears markers.

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

Usage Guidelines4/5

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

The description says to use this to tag subsequent commands and mentions 'at any point', but does not explicitly exclude when clear_marker should be used instead, though sibling context helps.

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

webgl_unbind_targetUnbind page targetA
Idempotent

Detach from the currently bound page target.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=false. The description adds the verb 'Detach' which implies state change, consistent with not being read-only. No new behavioral insight is provided beyond the annotations.

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

Conciseness5/5

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

A single, clear sentence with no superfluous words. Every word contributes to the meaning.

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

Completeness3/5

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

For a simple no-parameter tool, the description is minimally adequate. However, it does not explain the effect of detaching (e.g., how it affects subsequent operations) or when one might need to unbind, which could be useful given the many siblings.

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

Parameters4/5

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

With 0 parameters, schema coverage is 100% vacuously. No parameter information is needed, so the description does not need to add any.

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?

The description uses the specific verb 'Detach' and resource 'currently bound page target', clearly indicating the action. It directly contrasts with the sibling 'webgl_bind_target', making its purpose unambiguous.

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?

The description implies usage as an inverse of bind but does not provide explicit when-to-use or when-not-to-use guidance. The context is clear only by association with bind.

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

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes (e.g., capture commands vs frame vs sequence), but some pairs like webgl_list_captures and webgl_get_capture_overview could cause mild confusion without careful reading of descriptions.

Naming Consistency5/5

All tools follow a consistent 'webgl_verb_noun' pattern in snake_case, with no mixed conventions or ambiguous verb styles.

Tool Count2/5

At 39 tools, the set is far above the typical 3-15 range, making it overwhelming for an agent to efficiently select among them, even though each tool seems justified.

Completeness5/5

The tool set covers the full lifecycle of WebGL debugging: session management, capture (various modes), inspection (commands, programs, textures), diagnostics, comparison, export, and even a guided playbook.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    An MCP server that connects AI agents to a running Chrome tab via the Chrome DevTools Protocol (CDP), enabling runtime debugging and page inspection.
    21
    37
    1
    ISC
  • F
    license
    B
    quality
    C
    maintenance
    MCP server for RenderDoc that enables AI assistants to analyze GPU frame captures (.rdc files) for graphics debugging and performance analysis, with 42 tools covering the full RenderDoc workflow.
    6

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sakitam-fdd/spector-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server