Skip to main content

SynthPilot

Let AI build your FPGA designs.

SynthPilot is an MCP (Model Context Protocol) server that gives AI assistants full control over AMD Vivado. 510 Vivado tools cover the entire FPGA development flow — project management, synthesis, implementation, timing analysis, IP configuration, Block Design, simulation, debug, and device programming.

Quick Start

# Install
pip install synthpilot

# Activate your free license
synthpilot activate YOUR-LICENSE-KEY

# Set up Vivado integration
synthpilot install

# Done! Open Vivado → start chatting with AI

Activation verifies the new key before atomically replacing the user config; failed verification preserves the working key. SYNTHPILOT_LICENSE takes precedence over the user config and must be unset before changing or deactivating the persisted credential.

Update

# pip
pip install --upgrade synthpilot

# uvx (always pulls latest)
uvx synthpilot@latest --version

MCP Configuration

Claude Desktop / Claude Code / Cursor:

{
  "mcpServers": {
    "synthpilot": {
      "command": "synthpilot"
    }
  }
}

Or with uvx (requires uv):

{
  "mcpServers": {
    "synthpilot": {
      "command": "uvx",
      "args": ["synthpilot@latest"]
    }
  }
}

At MCP startup, SynthPilot verifies the license and registers only the selected platform tools included in that Free, Pro, Trial, or Max entitlement. Locked tool schemas are not advertised to the AI client. The plan is never selected by an MCP or CLI argument; restart the MCP process after a license change to refresh its stable tool list.

The single installed package uses one local MCP name, synthpilot; the startup --platform argument selects Vivado, Anlogic, or Quartus, while the verified license selects the entitlement. Repository-specific configuration does not require another package:

# Codex supports user/project; Claude Code supports user/project/local.
synthpilot install-mcp --client codex --platform quartus --scope project
synthpilot install-mcp --client claude_code --platform anlogic --scope local

Omitting --scope keeps user scope. Codex project entries are written to .codex/config.toml; Claude Code registration uses its official scoped CLI. Claude Desktop and Cursor remain user-scope clients. An incompatible mixed scope request is rejected before any client config changes.

Unified Codex and Claude workflow plugin

The package includes one optional skills-only plugin shared by Codex and Claude Code. It provides setup, Vivado, Anlogic, and Quartus workflows without starting a duplicate MCP server:

synthpilot plugin export ./synthpilot-plugin-bundle
codex plugin marketplace add ./synthpilot-plugin-bundle
codex plugin add synthpilot@synthpilot-local
claude plugin marketplace add ./synthpilot-plugin-bundle
claude plugin install synthpilot@synthpilot-local --scope user

Use install-mcp separately to select the repository's platform. Disabling or uninstalling the plugin removes workflow prompts only; the CLI and direct MCP entry remain available. The included manifests are a local U2 distribution and have not been submitted to a public marketplace.

Anlogic Tang Dynasty

The Windows Anlogic profile runs a managed td_commands_prompt.exe process and exposes 98 structured TD tools for analysis, constraints, deterministic builds, and advanced flows. Register or start the platform-scoped server with:

synthpilot install-mcp --platform anlogic
synthpilot --platform anlogic

The complete Anlogic server has 102 tools: 4 on Free, 90 on Pro/Trial, and all 102 on Max. Raw TD Tcl execution is hidden from every plan. A representative Windows TD 6.2.1 source flow and a fresh, receipt-bound onefile passed project creation, source/top registration, bitstream generation, close/reopen persistence, active cancellation, client disconnect, and zero-residual-process checks. Comprehensive A2/A3/A5 query, constraint, and advanced-command live matrices and TD 6.2.2-only command validation remain pending; 6.2.2-only commands fail closed on older versions.

Intel/Altera Quartus

The Windows and Linux Quartus profile provides a managed quartus_sh -s bridge, five connection/version/capability diagnostics, and nine read-only project-status, device, report-panel, Fitter-resource, assignment, and compiled design-name tools, plus one-file existing-HDL source registration, one fixed top-level-entity setter, no-overwrite project creation, existing-project entry, and four managed build start/status/log/cancel tools:

synthpilot setup --platform quartus
synthpilot install-mcp --platform quartus
synthpilot --platform quartus

The complete Quartus server has 24 tools: 6 on Free and all 24 on Pro, Trial, and Max. Setup and doctor only perform bounded quartus_sh --version discovery and do not leave a persistent shell running, create or open a project, or start a build. For an existing project, use quartus_open_project, run Q2 read-only queries, start a build, poll its status/log until terminal, then call quartus_close_project. Compiled-project report/resource and assignment-query matrices have passed on Windows Lite 25.1. The feature-frozen clean-session create/source/top-level/Fit/report/close-reopen workflow and managed build lifecycle have also passed on Lite 25.1. Build jobs are server-bound: disconnecting the MCP server cancels the active job, and jobs do not survive a server restart. Standard, Pro, Linux, and packaged lifecycle acceptance remain pending. quartus_create_project creates and opens an empty project without overwrite and can set its family/part. quartus_add_source_file registers one existing .v, .sv, .vhd, or .vhdl file beneath the managed project per call without creating, copying, editing, replacing, or deleting source content. quartus_set_top_level_entity changes only the fixed TOP_LEVEL_ENTITY field; generic project configuration and post-create device retargeting are not exposed. The feature-frozen clean-session workflow is create, add sources one at a time, set top level, build/poll, inspect reports, and close/reopen. Windows Lite 25.1 live validation is complete; onefile normal/forced-disconnect and cross-platform/edition validation remain RC gates. Q4 capabilities are deferred until after the RC decision. Raw Quartus Tcl is hidden from every plan.

Features

Free Pro Max
Tools 43 475 All 510
Project & Synthesis ✅ ✅ ✅
IP Config & Block Design — ✅ ✅
Simulation & Debug — ✅ ✅
Custom Tcl & Non-Project — — ✅
Devices 1 2 3

Requirements

  • Python 3.10+

Platform support is capability-specific:

Target Current acceptance status
Windows x64 package Primary release target; fresh onefile, wheel, upgrade, and forced-disconnect acceptance are RC gates
Linux x86_64 package manylinux_2_17 packaging target; fresh package and process-lifecycle acceptance are RC gates
Local AMD Vivado Windows, Vivado 2018.1+
Remote Vivado over SSH Implemented for a remote Linux profile; end-to-end R2 live acceptance remains pending
Anlogic Tang Dynasty Windows-only execution; a TD 6.2.1 representative bitstream flow and fresh onefile lifecycle passed, while comprehensive A2/A3/A5 and TD 6.2.2-only live matrices remain pending
Intel Quartus Backend is available on Windows and Linux; the source workflow is live-tested on Windows Lite 25.1, while packaged, Linux, Standard, and Pro acceptance remain pending

Pending entries are not claims of completed vendor or packaged validation. The platform acceptance ledger records exact passed/deferred scope; docs/RC_ACCEPTANCE.md defines release gates.

Links

Release files for synthpilot 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for synthpilot 1.4.0
File Interpreter ABI Platform
synthpilot-1.4.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
synthpilot-1.4.0-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details

Total release size: 70.6 MB

Release files / synthpilot-1.4.0-py3-none-win_amd64.whl

Download URL synthpilot-1.4.0-py3-none-win_amd64.whl
Size 42.6 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
637914f23c7aed344966f6e5a68bf25383cc5f323f44883cb8a9fc25c8792c09
BLAKE2b-256 checksum
How to use checksums
129b7c6ef85914fc078f2877d24ce2df2f9ffce51348b51b53d0fc93e0a52ddb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / synthpilot-1.4.0-py3-none-manylinux_2_17_x86_64.whl

Download URL synthpilot-1.4.0-py3-none-manylinux_2_17_x86_64.whl
Size 28.1 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
5a7db700d720c295c8d175707137c076175efacee2a88bb721c27899a2c53e14
BLAKE2b-256 checksum
How to use checksums
601b5b052409464bc4be83e6ebbb9754a9bf2df98c426924b214df2c8391feea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

1 release file

1.2.1

2 release files

1.2.0

2 release files

1.1.44

1 release file

1.1.43

1 release file

1.1.42

1 release file

1.1.41

1 release file

1.1.40

1 release file

1.1.39

1 release file

1.1.38

1 release file

1.1.37

1 release file

1.1.36

1 release file

1.1.35

1 release file

1.1.34

1 release file

1.1.33

1 release file

1.1.32

1 release file

1.1.31

1 release file

1.1.30

1 release file

1.1.29

1 release file

1.1.28

1 release file

1.1.27

1 release file

1.1.26

1 release file

1.1.25

1 release file

1.1.24

1 release file

1.1.23

1 release file

1.1.22

1 release file

1.1.21

1 release file

1.1.20

1 release file

1.1.19

1 release file

1.1.18

1 release file

1.1.17

1 release file

1.1.16

1 release file

1.1.15

1 release file

1.1.14

1 release file

1.1.13

1 release file

1.1.12

1 release file

1.1.11

1 release file

1.1.10

1 release file

1.1.9

1 release file

1.1.8

1 release file

1.1.7

1 release file

1.1.6

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page