Vivado MCP Server
Lets LLM clients control a persistent AMD/Xilinx Vivado TCL session on Windows, avoiding repeated startup cost with native process handling.
README
Vivado MCP Server (Windows-Native)
Vivado MCP Server is a Model Context Protocol (MCP) server that lets LLM clients control a persistent AMD/Xilinx Vivado TCL session on Windows.
It is designed to avoid the pexpect dependency and run reliably on native
Windows by using subprocess.Popen plus a background stdout reader thread.
Why use this
- Persistent Vivado process to avoid repeated startup cost.
- Windows-native process handling (no POSIX pseudo-terminal requirement).
- Clean tool API for MCP clients.
- No command prompt popup windows (
CREATE_NO_WINDOW).
Requirements
- Windows 10/11
- Python 3.10+
- Vivado installed locally
uv(recommended) orpip
Quick install
Option A: local development install (uv)
git clone <your-repo-url>
cd vivado-mcp-win
uv sync
Option B: install from package index (when published)
pip install vivado-mcp-win
Vivado path configuration
The server resolves vivado.bat in this order:
start_sessiontool argumentvivado_path- Environment variable
VIVADO_BAT_PATH - PATH lookup (
vivado.batorvivado) - Fallback
C:\VIVADO\2025.2\Vivado\bin\vivado.bat
Recommended: set VIVADO_BAT_PATH explicitly.
PowerShell example:
$env:VIVADO_BAT_PATH = "C:\Xilinx\Vivado\2025.2\bin\vivado.bat"
Run the MCP server
From source checkout:
uv run vivado-mcp
From installed package:
vivado-mcp
Note: this is a stdio MCP server, so it waits for MCP messages from a client. Running it directly in a terminal will appear idle.
MCP client configuration
Use the vivado-mcp command as a stdio server in your MCP client config.
Generic example:
{
"mcpServers": {
"vivado": {
"command": "vivado-mcp",
"args": [],
"env": {
"VIVADO_BAT_PATH": "C:\\VIVADO\\2025.2\\Vivado\\bin\\vivado.bat"
}
}
}
}
If your client runs inside this repository, you can also use:
{
"mcpServers": {
"vivado": {
"command": "uv",
"args": ["run", "vivado-mcp"],
"env": {
"VIVADO_BAT_PATH": "C:\\VIVADO\\2025.2\\Vivado\\bin\\vivado.bat"
}
}
}
}
Exposed MCP tools
start_session: starts or reuses a persistent Vivado session.run_tcl_command: executes TCL in the live session.session_status: returns session status and metrics.stop_session: stops the running session.
Development
Install dev dependencies:
uv sync --group dev
Run lint:
uv run ruff check .
Run tests:
uv run pytest
Publish checklist
- Update project URLs in
pyproject.toml. - Bump version.
- Build package:
uv build
- Publish (example with trusted publisher or token):
uv publish
Troubleshooting
- Error
Vivado executable not found: setVIVADO_BAT_PATHor passvivado_pathtostart_session. - Session timeout on startup: increase startup timeout in code or ensure Vivado installation is healthy and licensed.
- Import errors in editor for
mcp.*: runuv syncand ensure VS Code uses the project virtual environment.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.