Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
start_sessionA

Start a persistent Vivado TCL session. Must be called before other commands.

stop_sessionA

Stop the Vivado TCL session and free resources

session_statusB

Get status and statistics of the current Vivado session

check_session_healthA

Check if Vivado session is responsive and recover if needed. Use this if commands are timing out or behaving unexpectedly.

get_host_statusA

Get status of this Vivado MCP server host including hostname, free memory, and session state. If free memory is below 64GB, use vivado-snoke instead.

open_projectB

Open a Vivado project (.xpr file)

close_projectB

Close the current project

get_project_infoC

Get information about the currently open project

run_synthesisD

Run synthesis on the current project

run_implementationB

Run implementation (place and route) on the current project

generate_bitstreamB

Generate bitstream for the implemented design

get_timing_summaryA

Get timing summary (WNS, TNS, WHS, THS). Returns parsed metrics only by default. Use generate_full_report for raw output.

get_timing_pathsA

Get timing paths for failing or critical paths. Returns structured summary (slack, source, dest, clocks) by default. Use generate_full_report for verbose path details.

get_utilizationA

Get resource utilization (LUT, FF, BRAM, DSP, IO). Returns parsed metrics only by default. Use generate_full_report for hierarchical details.

get_clocksA

Get clock information and constraints

get_messagesB

Get synthesis/implementation messages (errors, warnings)

get_design_hierarchyB

Get the design hierarchy (modules and instances)

get_portsA

Get top-level ports of the design

get_netsB

Search for nets in the design

get_cellsB

Search for cells (instances) in the design

run_tclA

Execute a raw TCL command in Vivado. Use for advanced operations not covered by other tools.

launch_simulationC

Launch behavioral simulation (xsim). Opens the simulator and loads the design.

run_simulationC

Run the simulation for a specified time

restart_simulationA

Restart the simulation from time 0

close_simulationA

Close the current simulation

get_simulation_timeA

Get the current simulation time

get_signal_valueB

Get the current value of a signal in simulation

get_signal_valuesB

Get current values of multiple signals matching a pattern

add_signals_to_waveB

Add signals to the waveform viewer

set_simulation_topB

Set the top module for simulation

get_simulation_objectsA

List simulation objects (signals, variables) in a scope

get_scopesC

List available scopes (hierarchy) in the simulation

step_simulationB

Step the simulation by a delta cycle or time step

add_breakpointB

Add a simulation breakpoint on a signal condition

remove_breakpointsB

Remove all breakpoints

get_simulation_messagesC

Get simulation log messages (errors, warnings, info)

request_featureA

Request a new feature or capability for the Vivado MCP server. Use this when you encounter a limitation or wish you had a tool that doesn't exist.

list_feature_requestsA

List all feature requests that have been submitted

generate_full_reportA

Generate a full Vivado report to a file. Use when inline reports are truncated or you need the complete output.

read_report_sectionC

Read a section of a previously generated report file

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 40 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but there is some overlap between get_simulation_objects and get_scopes (both list simulation objects), and between get_signal_value and get_signal_values (single vs pattern). Overall, an agent can distinguish most tools.

Naming Consistency5/5

All tool names consistently use verb_noun in snake_case (e.g., add_breakpoint, generate_bitstream, run_synthesis). No mixed conventions or inconsistent patterns.

Tool Count4/5

40 tools is high but appropriate for a comprehensive FPGA design tool covering synthesis, implementation, simulation, reporting, and session management. Slightly above typical MCP server count, but each tool serves a specific purpose.

Completeness4/5

The tool surface covers the main Vivado workflows: project management, synthesis, implementation, bitstream generation, simulation, and reporting. Minor gaps exist (e.g., updating constraints, IP management), but core operations are present.