KiCAD-MCP-Server
MCP ServerFreeKiCAD MCP is a Model Context Protocol (MCP) implementation that enables Large Language Models (LLMs) like Claude to directly interact with KiCAD for printed circuit board design.
Capabilities13 decomposed
natural-language-to-kicad-command-translation
Medium confidenceTranslates conversational natural language requests into executable KiCAD operations through a TypeScript MCP server that parses intent and routes to domain-specific Python command handlers. Uses a tool router pattern that maps semantic requests to structured KiCAD API calls, maintaining full context of the design state across multi-step operations. The system bridges Claude/LLM conversation semantics with KiCAD's programmatic Python interface (pcbnew module).
Implements MCP protocol as a bridge layer between LLM conversation and KiCAD's Python API, using a tool router pattern that decouples semantic intent parsing from domain-specific command execution. Unlike direct KiCAD scripting, this maintains bidirectional context awareness where the LLM can query design state and adapt commands based on feedback.
Enables true conversational PCB design through MCP's standardized protocol, whereas direct KiCAD Python scripting requires manual prompt engineering and lacks the structured tool-calling interface that LLMs optimize for.
schematic-capture-and-component-placement
Medium confidenceEnables creation and manipulation of electronic schematics through natural language commands that invoke SchematicManager and ComponentManager modules. Supports adding components from KiCAD symbol libraries, wiring connections between pins, and managing electrical nets. Uses the kicad-skip library for schematic file manipulation and pcbnew's Python API to interact with KiCAD's internal schematic representation, allowing atomic operations like component placement, rotation, and alignment.
Uses kicad-skip library for direct schematic file manipulation combined with pcbnew's Python API, enabling both file-level edits and programmatic component operations. This dual-layer approach allows atomic schematic modifications without requiring KiCAD GUI interaction, supporting batch operations and design generation.
Provides programmatic schematic creation without GUI bottlenecks, whereas manual KiCAD usage requires sequential mouse/keyboard interactions; kicad-skip enables file-level manipulation that pure pcbnew API cannot achieve.
mcp-protocol-server-implementation
Medium confidenceImplements the Model Context Protocol (MCP) specification as a TypeScript/Node.js server that enables LLM clients to discover and invoke KiCAD tools. Uses a tool registration system that exposes KiCAD capabilities as MCP tools with JSON schemas defining input/output contracts. The server handles MCP protocol messages, tool invocation routing, and response serialization, enabling Claude and other MCP-aware LLMs to interact with KiCAD through standardized tool-calling interfaces.
Implements MCP as a TypeScript server with a tool router pattern that decouples protocol handling from command execution, enabling clean separation between LLM communication and KiCAD operations. Uses JSON schema-based tool definitions that enable LLMs to understand and invoke tools with proper type safety.
Provides standardized MCP protocol implementation that works with Claude and other MCP-aware clients, whereas direct API integration requires custom protocol handling; enables tool discovery and schema-based invocation that LLMs optimize for.
ipc-backend-communication
Medium confidenceEstablishes inter-process communication (IPC) between the TypeScript MCP server and Python KiCAD interface through a message-passing protocol. Handles serialization of command requests and responses, manages process lifecycle of the Python backend, and provides error handling for IPC failures. Uses standard IPC mechanisms (pipes, sockets, or stdio) to enable the Node.js server to invoke Python commands and receive results, maintaining separation of concerns between protocol handling and KiCAD operations.
Implements IPC as a message-passing layer between TypeScript and Python, enabling clean separation of protocol handling (Node.js) from KiCAD operations (Python). Uses standard serialization for command/response exchange, allowing each layer to be developed and tested independently.
Enables language-agnostic architecture where protocol handling and KiCAD operations can use optimal languages (TypeScript for MCP, Python for KiCAD API), whereas monolithic implementations force language choices; IPC overhead is acceptable for design automation workflows.
cross-platform-compatibility-and-setup
Medium confidenceProvides platform-specific setup and configuration for Linux, macOS, and Windows through automated installation scripts and platform detection. Handles KiCAD installation verification, Python environment setup, Node.js dependency installation, and MCP client configuration. Includes Windows-specific automated setup script that handles PATH configuration and environment variable setup, enabling consistent deployment across operating systems.
Provides platform-specific setup automation with Windows-specific scripts that handle PATH and environment configuration, reducing manual setup burden. Includes dependency verification and version checking to ensure compatible environments before server startup.
Automates setup that normally requires manual configuration of multiple tools and environments; Windows setup script eliminates common PATH and environment variable issues, whereas manual setup is error-prone and platform-specific.
pcb-board-design-and-layer-management
Medium confidenceManages PCB board geometry, layer configuration, and design rules through Board command modules that interface with pcbnew's board representation. Supports setting board dimensions, creating board outlines, managing copper/signal/ground layers, and configuring design rule parameters (trace width, clearance, via size). Operates on KiCAD's internal board object model, allowing programmatic manipulation of layer stacks and design constraints that would normally require GUI dialogs.
Exposes KiCAD's internal board object model through Python command handlers, enabling programmatic layer stack and design rule configuration that bypasses GUI dialogs. Uses pcbnew's board API to directly manipulate layer objects and design rule parameters, supporting batch configuration and template-based board generation.
Automates board setup that normally requires manual GUI configuration in KiCAD; enables design rule standardization across projects through code, whereas manual setup is error-prone and non-reproducible.
trace-routing-and-via-management
Medium confidenceAutomates PCB trace routing and via placement through Routing command modules that interface with pcbnew's routing engine. Supports creating copper traces between net points, placing vias for layer transitions, managing copper pours (flood fills), and configuring trace width/clearance per net class. Uses pcbnew's native routing API to create electrical connections on the board, with support for design rule compliance checking during routing operations.
Wraps pcbnew's routing API in command handlers that support natural language routing specifications, enabling conversational control of trace placement and via management. Unlike interactive routing tools, this enables batch routing operations and design automation, though without the advanced algorithms of commercial autorouters.
Provides programmatic routing control for automation and batch operations, whereas KiCAD's interactive router requires manual trace drawing; lacks the advanced optimization of commercial autorouters but enables design generation workflows.
manufacturing-output-generation
Medium confidenceGenerates manufacturing-ready outputs including Gerber files, PDFs, SVG exports, and 3D model representations through Export command modules. Uses Pillow for board image rendering and cairosvg for SVG conversion, interfacing with pcbnew's export API to generate standard manufacturing formats. Supports layer-specific exports (copper, silkscreen, solder mask) and 3D visualization for design review and manufacturing handoff.
Combines pcbnew's native export API with Pillow and cairosvg for multi-format output generation, enabling programmatic manufacturing file creation without manual export dialogs. Supports batch export of multiple formats and layer combinations, automating the handoff from design to manufacturing.
Automates manufacturing file generation that normally requires manual KiCAD export steps; enables batch processing and design-to-manufacturing pipelines, whereas manual export is repetitive and error-prone.
design-rule-checking-and-validation
Medium confidencePerforms electrical and manufacturing design rule checks (DRC) on schematics and PCB layouts through Design Rules command modules that invoke pcbnew's DRC engine. Validates trace width, clearance, via size, electrical connectivity, unconnected nets, and manufacturing constraints. Returns structured violation reports that identify specific design issues with location and severity, enabling automated design validation and quality gates.
Wraps pcbnew's DRC engine in command handlers that return structured violation reports suitable for automated processing and CI/CD integration. Enables design validation as a programmatic step in design automation workflows, rather than manual GUI-based checking.
Enables automated design validation in CI/CD pipelines, whereas manual DRC checking in KiCAD GUI is manual and non-reproducible; provides structured violation data for automated remediation.
library-and-component-symbol-management
Medium confidenceManages KiCAD symbol libraries and component mappings through LibraryManager module that interfaces with pcbnew's library API. Supports querying available symbols, mapping components to library symbols, managing symbol properties and footprints, and resolving component references. Uses KiCAD's library search and caching mechanisms to enable fast component lookups and automated symbol assignment during schematic generation.
Provides programmatic access to KiCAD's symbol library system through command handlers, enabling automated component-to-symbol mapping and library queries. Unlike manual symbol selection in KiCAD GUI, this enables batch component assignment and design generation from component specifications.
Automates symbol selection that normally requires manual library browsing in KiCAD; enables batch component assignment and design generation, though lacks semantic understanding of component equivalents.
project-lifecycle-management
Medium confidenceManages KiCAD project creation, opening, saving, and file operations through ProjectCommands module that handles project initialization and persistence. Supports creating new projects with specified templates, opening existing projects, saving designs with version control integration, and managing project metadata. Uses file system operations and KiCAD's project file format to enable programmatic project management without GUI interaction.
Provides programmatic project lifecycle management through command handlers that abstract KiCAD's project file format and directory structure. Enables batch project creation and management without GUI interaction, supporting design automation workflows.
Automates project setup that normally requires manual KiCAD project creation; enables batch project generation and CI/CD integration, whereas manual project creation is repetitive.
electrical-net-and-connection-management
Medium confidenceManages electrical nets and connections between schematic components through ConnectionManager module that creates and validates wiring relationships. Supports creating nets by connecting component pins, managing net names and properties, validating electrical connectivity, and detecting unconnected nets. Uses pcbnew's net representation to maintain electrical relationships between schematic and board designs, enabling automated circuit topology creation.
Provides programmatic net creation and management through ConnectionManager that abstracts KiCAD's internal net representation, enabling automated circuit topology creation from specifications. Unlike manual schematic wiring, this supports batch net creation and design generation.
Automates circuit wiring that normally requires manual schematic drawing; enables batch net creation and circuit generation from topology specifications, whereas manual wiring is time-consuming and error-prone.
jlcpcb-parts-database-integration
Medium confidenceIntegrates with JLCPCB's parts database through JLCPCB Integration module that enables component sourcing and availability checking. Supports querying JLCPCB's component catalog, checking part availability and pricing, managing component mappings to JLCPCB part numbers, and generating assembly files compatible with JLCPCB's manufacturing process. Uses API clients to interface with JLCPCB's database and assembly file formats.
Provides direct integration with JLCPCB's parts database and assembly file generation through API clients, enabling automated component sourcing and manufacturing file creation. Unlike manual JLCPCB workflow, this enables design-to-manufacturing automation for JLCPCB-based production.
Automates JLCPCB assembly file generation and component availability checking that normally requires manual data entry; enables design-to-manufacturing workflows specific to JLCPCB, though limited to JLCPCB only.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with KiCAD-MCP-Server, ranked by overlap. Discovered automatically through the match graph.
@mseep/airylark-mcp-server
AiryLark的ModelContextProtocol(MCP)服务器,提供高精度翻译API
Quilter
Automates PCB design with generative AI for rapid...
Codesys-mcp-toolkit
** - A Model Context Protocol (MCP) server for CODESYS V3 programming environments.
Kagi Search
** - Search the web using Kagi's search API
@splicr/mcp-server
Splicr MCP server — route what you read to what you're building
1mcpserver
** - MCP of MCPs. Automatic discovery and configure MCP servers on your local machine. Fully REMOTE! Just use [https://mcp.1mcpserver.com/mcp/](https://mcp.1mcpserver.com/mcp/)
Best For
- ✓hardware engineers integrating AI into PCB design workflows
- ✓teams building AI-assisted EDA tools
- ✓developers automating KiCAD project generation from specifications
- ✓circuit designers prototyping designs through conversation
- ✓teams automating schematic generation from specifications
- ✓engineers validating circuit topologies before layout
- ✓developers building LLM-integrated EDA tools
- ✓teams deploying KiCAD automation through Claude
Known Limitations
- ⚠Requires Claude or compatible MCP-aware LLM client; not compatible with standard OpenAI API
- ⚠Command translation latency depends on LLM inference time; complex multi-step designs may require iterative refinement
- ⚠No built-in ambiguity resolution for underspecified designs; relies on LLM's ability to ask clarifying questions
- ⚠Component placement is logical/hierarchical, not optimized for layout; requires separate board design phase
- ⚠Symbol library must be pre-configured in KiCAD; custom symbols require manual library setup
- ⚠No automatic electrical rule checking during schematic creation; DRC must be run separately
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
Repository Details
Last commit: Apr 21, 2026
About
KiCAD MCP is a Model Context Protocol (MCP) implementation that enables Large Language Models (LLMs) like Claude to directly interact with KiCAD for printed circuit board design.
Categories
Alternatives to KiCAD-MCP-Server
Are you the builder of KiCAD-MCP-Server?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →