visualizer-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VCC_CFG_FILE | No | Explicit path to the cfg file; overrides VCC_WORK_DIR lookup. | |
| VCC_WORK_DIR | No | Directory whose .Visualizer/vccserver.cfg is read; also the CWD when auto-launching Visualizer. | server CWD |
| VCC_CLIENT_NAME | No | Name sent with vccRegisterClient. | Claude-MCP |
| VCC_CMD_TIMEOUT_S | No | Per-command timeout in seconds. | 30 |
| VCC_VISUALIZER_BIN | No | Binary used when auto-launching Visualizer. | visualizer |
| VCC_LAUNCH_TIMEOUT_S | No | Seconds to wait for the cfg file after spawning Visualizer. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vcc_evalB | Send any Tcl command to Visualizer's command interpreter. This is the escape hatch — every Visualizer Tcl command (run, step, wave add, force, examine, env, ...) can be sent through this tool. |
| vcc_statusA | Report VCC server reachability, host/port, and registration status. Does NOT auto-launch. Use |
| vcc_connectA | Ensure Visualizer is running and the VCC socket is open. Idempotent. Returns an error with instructions if Visualizer is not running. |
| vcc_runA | Advance simulation. |
| vcc_stepB | Single-step the simulation |
| vcc_run_statusC | Report runStatus (current simulator state). |
| vcc_get_timeA | Return the current simulation time. |
| vcc_wave_addA | Add one or more signals to the wave window. Use dot-separated paths with "sim." prefix, e.g. ["sim.top.clk", "sim.top.dut.state", "sim.div_tb.*"] |
| vcc_forceB | Force |
| vcc_examineA | Examine the value of a signal, optionally at a specific simulation time. signal: dot-separated hierarchical path with "sim." prefix e.g. sim.testbench.u1.my_signal time: simulation time e.g. "400 ns" (omit for current time) radix: decimal (default), binary, hexadecimal, unsigned, octal The returned value may include a size/radix annotation e.g. "4'd3" (4-bit vector, decimal value 3). If Visualizer is not configured to annotate, the plain value is returned e.g. "3". Signal must be last in the examine command; this tool enforces that. |
| vcc_scan_signalA | Scan a signal across a time range; optionally search for a specific value. Returns all sampled values across the range as a Tcl list. If find_value is given, also reports whether the signal ever held that value (handles both plain "3" and annotated forms like "4'd3"). When find_value is given and no time range is specified, the scan starts from time 0 to cover the full simulation. signal: dot-separated hierarchical path with "sim." prefix e.g. sim.testbench.u1.my_signal find_value: value to search for e.g. "6" (optional) from_time: range start e.g. "0 ns" (defaults to "0" when find_value given) to_time: range end e.g. "1 us" (omit to scan to simulation end) radix: decimal (default), binary, hexadecimal, unsigned, octal |
| vcc_recent_signalsB | Return recent async signal notifications received from Visualizer (e.g. vTimeChange, vDesignStateChange). Newest last. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools have clear distinct purposes (connect, examine, run, step, etc.), but vcc_status and vcc_connect overlap in reporting connection status, and vcc_eval is an escape hatch that could replicate other tools. Minor ambiguity.
All tools share the vcc_ prefix, but the second part mixes verb_noun (connect, examine, run), noun_verb (wave_add), adjective_noun (recent_signals), and lone noun (status). Inconsistent structure.
12 tools cover essential simulation control, signal inspection, wave management, and connection setup. Well-scoped for a visualizer MCP server.
Core functions are covered, but some operations (e.g., removing waves, setting radix per signal) are missing and must be done via vcc_eval. Minor gaps that can be worked around.