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
访问服务器

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选