Skip to main content
Glama
htminuslab

visualizer-mcp

by htminuslab

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VCC_CFG_FILENoExplicit path to the cfg file; overrides VCC_WORK_DIR lookup.
VCC_WORK_DIRNoDirectory whose .Visualizer/vccserver.cfg is read; also the CWD when auto-launching Visualizer.server CWD
VCC_CLIENT_NAMENoName sent with vccRegisterClient.Claude-MCP
VCC_CMD_TIMEOUT_SNoPer-command timeout in seconds.30
VCC_VISUALIZER_BINNoBinary used when auto-launching Visualizer.visualizer
VCC_LAUNCH_TIMEOUT_SNoSeconds to wait for the cfg file after spawning Visualizer.60

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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_connect (or any other tool) to trigger an auto-launch if Visualizer is not running.

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. time may be "100ns", "-all", or None for default.

vcc_stepB

Single-step the simulation count times.

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 signal to value (e.g. force sim.top.rst 1 0; force sim.top.clk 0 50ns).

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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