eda-mcp

eda-mcp

An MCP server for Electronic Design Automation that provides comprehensive tools for managing KiCad 9.x PCB design workflows. It enables users to create schematics, layout PCBs, perform design rule checks, and export manufacturing files through a standardized interface.

Category
Visit Server

README

eda-mcp

MCP server for EDA (Electronic Design Automation) tools. Currently supports KiCad 9.x with 39 tools covering the full PCB design workflow.

Requirements

Installation

git clone https://github.com/SaeronLab/eda-mcp.git
cd eda-mcp
uv sync

Claude Code Configuration

Add to your .mcp.json:

{
  "mcpServers": {
    "eda-mcp": {
      "type": "stdio",
      "command": "uv",
      "args": ["--directory", "/path/to/eda-mcp", "run", "eda-mcp"]
    }
  }
}

Tools

Core (6)

Tool Description
kicad.get_session_state Current session state and capabilities
kicad.create_project Create a new KiCad project
kicad.open_project Open an existing project
kicad.list_projects Find projects in a directory
kicad.save_project Save all project files
kicad.help Workflow and tool documentation

Schematic (13)

Tool Description
kicad.add_component Add a symbol to the schematic
kicad.add_power_symbol Add VCC, GND, +3V3, etc.
kicad.set_value Set component value (10k, 100nF)
kicad.set_reference Change reference designator
kicad.set_component_field Set custom fields (MPN, supplier)
kicad.delete_component Remove a component
kicad.move_component Reposition a component
kicad.add_wire Connect two points with a wire
kicad.add_net_label Add a named net label
kicad.add_global_label Add a cross-sheet label
kicad.add_no_connect Mark unused pins
kicad.annotate_schematic Auto-assign reference designators
kicad.list_components List all components with details

PCB (10)

Tool Description
kicad.create_board_outline Draw the PCB boundary
kicad.set_design_rules Set min trace/clearance/drill
kicad.create_net_class Create net class with specific rules
kicad.route_trace Route a copper trace
kicad.place_via Place a via
kicad.fill_zones Fill copper zones
kicad.add_text Add silkscreen text
kicad.add_line Add lines/shapes to layers
kicad.design_summary Board statistics and sanity check
kicad.list_footprints List all footprints on the PCB

Export (7)

Tool Description
kicad.export_netlist Export netlist from schematic
kicad.export_gerbers Export Gerber manufacturing files (DRC-gated)
kicad.export_bom Export Bill of Materials
kicad.export_pdf Export schematic/PCB to PDF
kicad.export_svg Export schematic/PCB to SVG
kicad.run_drc Design Rules Check
kicad.run_erc Electrical Rules Check

Library (3)

Tool Description
kicad.search_symbols Search component symbols
kicad.search_footprints Search PCB footprints
kicad.get_symbol_info Get symbol pins and properties

Architecture

src/eda_mcp/
├── server.py              # FastMCP server, tool registration
├── session.py             # Session state management
├── common/
│   ├── types.py           # ToolResponse, Position
│   └── errors.py          # Error hierarchy
└── plugins/
    └── kicad/
        ├── discovery.py   # KiCad path detection
        ├── guardrails.py  # Pre-export safety checks
        ├── worker.py      # Async pcbnew worker manager
        ├── worker_process.py  # Persistent pcbnew subprocess
        ├── sexp/
        │   ├── parser.py  # S-expression parser
        │   └── writer.py  # S-expression writer
        └── tools/
            ├── schematic.py  # Schematic manipulation via sexp
            ├── cli.py        # kicad-cli exports (Gerber, PDF, DRC)
            └── library.py    # Symbol/footprint search

Three integration paths:

  • S-expression parser/writer — Direct manipulation of .kicad_sch files with round-trip fidelity
  • Persistent pcbnew worker — JSON-RPC subprocess using KiCad's Python API for PCB operations
  • kicad-cli — Subprocess calls for exports, DRC, and ERC

Development

uv run pytest tests/ -v          # Run all tests
uv run ruff check src/ tests/    # Lint
uv run pyright src/              # Type check

License

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured