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 |
Capabilities
Features and capabilities supported by this server
| 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 | |
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/htminuslab/visualizer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server