Skip to main content
Glama
gokeshenzhen

io.github.gokeshenzhen/traceweave

by gokeshenzhen

suggest_handshakes

Scan a waveform to identify valid/ready handshakes, locate the clock, and group payload signals into inspect_handshake bundles. Covers AXI, generic valid/ready, and req/ack without manual assembly.

Instructions

Scan a waveform and propose ready-to-use inspect_handshake bundles: it pairs *valid/*ready signals by scope and stem, finds the clock, and groups the channel payload buses (the signals that must hold steady during a stall). Use this BEFORE inspect_handshake so you don't have to hand-assemble {clock, valid, ready, payload} signal paths. Covers AXI *valid/*ready, generic valid/ready, and req/ack. It does NOT synthesise an AHB 'valid' (there is no literal valid signal — it is htrans != IDLE); use suggest_protocol_bundles for AHB/APB. Reads existing waveforms only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeNoOptional hierarchy prefix to restrict candidates (e.g. 'tb_top.u_dut').
wave_pathYesWaveform (FSDB or VCD).
max_candidatesNoMax bundles to return. Default 8.
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that the tool reads existing waveforms only, pairs valid/ready signals by scope and stem, finds the clock, and groups payload buses. It also explicitly discloses a non-obvious limitation for AHB. This is rich, honest behavioral context.

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 four sentences, each earning its place: the core function, the recommended workflow, supported protocols, and an explicit exclusion with a pointer to the alternative. It is front-loaded with the primary purpose and contains no filler.

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 tool with no output schema, the description tells the agent what to expect (bundles containing clock, valid, ready, payload), how to use the results (feed into inspect_handshake), and what limitations exist. Combined with full schema coverage, an agent has everything needed to invoke it correctly.

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% and every parameter already has a clear description, so the baseline is 3. The tool description adds a slight hint about scope ('by scope and stem') but does not materially expand on the schema's parameter documentation. It neither improves nor degrades parameter understanding.

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 states a specific verb ('Scan a waveform and propose'), a specific resource (waveform), and a concrete output (inspect_handshake bundles). It clearly distinguishes itself from the sibling suggest_protocol_bundles by name and scope, so there is no ambiguity about what this tool does.

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 tells the agent when to use it ('Use this BEFORE inspect_handshake') and when not to ('does NOT synthesise an AHB valid ... use suggest_protocol_bundles for AHB/APB'). It also enumerates supported protocols (AXI, generic valid/ready, req/ack), giving clear selection criteria.

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

Install Server

Other Tools

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/gokeshenzhen/TraceWeave'

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