Vivado MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/coreyhahn/vivado_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server