Skip to main content
Glama
scarletfantasy

pix-mcp

pix_list_gpu_events

Read-onlyIdempotent

List GPU events from a PIX capture by queue, with optional filtering and decoded D3D12 call arguments. No CSV export needed—directly query any queue.

Instructions

List events from one queue, straight from PIX's engine.

Unlike pix_list_events this needs no CSV export, sees every queue, and can return the decoded D3D12 call with its arguments. Without queue_id the busiest GPU queue is used. Paging is by cursor_position; the response carries next_cursor.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queue_idNo
capture_idYes
name_containsNo
cursor_positionNo
timeout_secondsNo
include_api_callNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already mark this as read-only and idempotent. The description goes further by disclosing engine-level access (no CSV export), the ability to see every queue, decoded D3D12 call return, default queue selection, and cursor-based paging with next_cursor responses. These are meaningful behavioral disclosures beyond the structured 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?

Three sentences with no wasted words. The core purpose is front-loaded, the sibling distinction is in the second sentence, and the needed usage details (queue default, paging) are in the third. Every sentence contributes unique value.

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 output schema exists and annotations cover the read-only/idempotent safety profile, the description sufficiently covers the main behavioral contract: scope, default queue, paging, and optional D3D12 decoding. Minor gaps like exact name_contains matching semantics or timeout interpretation remain, but they are not critical for correct invocation.

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 description coverage is 0%, so the description must compensate. It effectively clarifies queue_id (defaults to busiest queue), cursor_position (paging key, response has next_cursor), and include_api_call (can return decoded D3D12 call). The remaining parameters (limit, name_contains, timeout_seconds) are largely self-explanatory from their names and types, though not explicitly described.

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 opens with a specific verb and resource: 'List events from one queue, straight from PIX's engine.' It then explicitly distinguishes itself from the sibling pix_list_events by noting it needs no CSV export, sees every queue, and can return the decoded D3D12 call, so an agent can clearly tell which tool to pick.

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

Usage Guidelines5/5

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

The description explicitly contrasts with pix_list_events, giving concrete criteria for choosing this tool over that alternative. It also provides default behavior ('Without queue_id the busiest GPU queue is used') and explains the pagination mechanism, giving clear operational context.

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