Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/coreyhahn/vivado_mcp
/ functions
Functions
28 in github.com/coreyhahn/vivado_mcp
⨍
Functions
28
◇
Types & classes
3
↓ 38 callers
Method
run_tcl
Execute a TCL command and return the result. This is the primary interface for interacting with Vivado. The command is sent
vivado_session.py:362
↓ 6 callers
Function
truncate_response
Truncate response content if it exceeds max_chars. Large Vivado reports can be tens of thousands of lines. Rather than overwhelming the
server.py:132
↓ 4 callers
Method
start
Start the Vivado TCL session. This spawns a new Vivado process in TCL mode with: - No journal file (-nojournal): Avoids clut
vivado_session.py:264
↓ 4 callers
Method
stop
Stop the Vivado session gracefully. Sends the "exit" command to Vivado and waits for the process to terminate. If graceful e
vivado_session.py:522
↓ 3 callers
Function
load_feature_requests
Load feature requests from the persistent JSON file. Feature requests allow the AI assistant to record when it encounters limitations or
server.py:87
↓ 2 callers
Method
is_healthy
Check if the Vivado session is responsive. Sends a simple command to Vivado and checks if it responds within a short timeout
vivado_session.py:599
↓ 2 callers
Function
main
Run the MCP server. This function starts the MCP server using stdio transport (stdin/stdout). It's designed to be launched by an MCP cli
server.py:2254
↓ 2 callers
Function
verify_run_status
Verify actual Vivado run status instead of relying on output parsing. Vivado run status is stored as properties on the run object. This func
server.py:190
↓ 1 callers
Function
classify_output_errors
Classify errors based on context - distinguishes real failures from report content that happens to contain 'error' strings. This functio
vivado_session.py:119
↓ 1 callers
Method
ensure_healthy
Check session health and restart if needed. This is the recommended way to recover from session failures. It checks if the s
vivado_session.py:624
↓ 1 callers
Function
ensure_reports_dir
Ensure the reports directory exists and clean up old reports. This function is called before generating new reports. It: 1. Creates the
server.py:233
↓ 1 callers
Function
generate_report_id
Generate a unique 8-character report ID. Uses UUID4 for uniqueness, truncated to 8 chars for readability. The ID is used to reference re
server.py:264
↓ 1 callers
Function
get_hierarchy_depth
Get the depth of a hierarchical path. Vivado uses "/" to separate hierarchy levels (e.g., "cpu/alu/adder"). This function counts the dep
server.py:277
↓ 1 callers
Function
get_session
Get or create the global Vivado session. This function implements the singleton pattern for VivadoSession. The first call creates a new
vivado_session.py:682
↓ 1 callers
Method
get_stats
Get session statistics for monitoring and debugging. Returns: Dictionary containing: - is_running: Whether s
vivado_session.py:572
↓ 1 callers
Function
parse_messages
Parse Vivado messages into categorized lists. Vivado outputs messages with severity prefixes: - ERROR: Design or tool errors that must b
server.py:426
↓ 1 callers
Function
parse_timing_paths_summary
Extract structured summary of timing paths from report_timing output. Parses Vivado's timing path reports to extract key information about
server.py:465
↓ 1 callers
Function
parse_timing_summary
Parse a Vivado timing summary report into structured data. Timing summary reports contain critical information about whether the design
server.py:308
↓ 1 callers
Function
parse_utilization
Parse a Vivado utilization report into structured data. Utilization reports show how much of each FPGA resource type is used. This is cr
server.py:371
↓ 1 callers
Function
save_feature_request
Save a feature request to the persistent JSON file. Args: request: Dictionary containing the feature request with fields:
server.py:107
Method
__enter__
Context manager entry - start the session. Example: with VivadoSession() as session: session.run_tcl("..
vivado_session.py:653
Method
__exit__
Context manager exit - stop the session. Ensures Vivado is properly shut down even if an exception occurred.
vivado_session.py:664
Method
__init__
Initialize the Vivado session manager. Args: vivado_path: Path to Vivado executable. Defaults to "vivado" which
vivado_session.py:233
Function
call_tool
Handle tool calls from MCP clients. This is the main dispatcher that routes tool calls to their implementations. Each tool returns a lis
server.py:1267
Method
is_actual_failure
Return True only if this is a real error, not report content.
vivado_session.py:114
Function
list_tools
List all available Vivado tools. This function is called by MCP clients to discover available tools. Tools are organized into categories
server.py:558
Function
main
Entry point for the vivado-mcp console script. This function is called when running: - vivado-mcp (after pip install) - python -m vi
__init__.py:62
Function
reset_session
Reset the global session (stop if running and clear instance). Use this to force a fresh Vivado session, for example after recovering fr
vivado_session.py:709