{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-mixelpixx-kicad-mcp-server","slug":"mcp-mixelpixx-kicad-mcp-server","name":"KiCAD-MCP-Server","type":"mcp","url":"https://github.com/mixelpixx/KiCAD-MCP-Server","page_url":"https://unfragile.ai/mcp-mixelpixx-kicad-mcp-server","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_0","uri":"capability://tool.use.integration.natural.language.to.kicad.command.translation","name":"natural-language-to-kicad-command-translation","description":"Translates 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).","intents":["I want Claude to understand my PCB design intent and execute it in KiCAD without manual clicks","I need to automate repetitive PCB design tasks through conversational commands","I want to prototype circuit designs faster by describing them in natural language"],"best_for":["hardware engineers integrating AI into PCB design workflows","teams building AI-assisted EDA tools","developers automating KiCAD project generation from specifications"],"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"],"requires":["KiCAD 9.0+ with Python scripting module (pcbnew) installed","Node.js 18+","Python 3.10+","Claude or MCP-compatible LLM client configured to connect to MCP server"],"input_types":["natural language text","design specifications","project parameters"],"output_types":["KiCAD project files","schematic modifications","board layout changes","design validation results"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_1","uri":"capability://automation.workflow.schematic.capture.and.component.placement","name":"schematic-capture-and-component-placement","description":"Enables 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.","intents":["I want to describe a circuit and have Claude place components and create connections automatically","I need to add a specific component to my schematic and wire it correctly","I want to generate a complete schematic from a circuit description"],"best_for":["circuit designers prototyping designs through conversation","teams automating schematic generation from specifications","engineers validating circuit topologies before layout"],"limitations":["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","Schematic organization (sheet hierarchy, grouping) is limited to flat structures in current implementation"],"requires":["KiCAD 9.0+ with pcbnew Python module","kicad-skip 0.1.0+ for schematic file manipulation","Pre-configured KiCAD symbol libraries"],"input_types":["natural language component descriptions","circuit topology specifications","component reference designators"],"output_types":["KiCAD schematic files (.sch, .kicad_sch)","component placement data","electrical net lists"],"categories":["automation-workflow","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_10","uri":"capability://tool.use.integration.mcp.protocol.server.implementation","name":"mcp-protocol-server-implementation","description":"Implements 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.","intents":["I want to expose KiCAD capabilities to Claude through the MCP protocol","I need to define tool schemas that LLMs can understand and invoke","I want to handle tool invocation and response serialization automatically"],"best_for":["developers building LLM-integrated EDA tools","teams deploying KiCAD automation through Claude","organizations standardizing on MCP for tool integration"],"limitations":["MCP is a relatively new protocol; limited client support beyond Claude and Anthropic tools","Tool schema definition is manual; no automatic schema generation from Python command handlers","Error handling is basic; complex error scenarios may not propagate clearly to LLM","No built-in authentication or access control; requires external security layer","Protocol overhead adds latency to tool invocation; not suitable for real-time interactive use"],"requires":["Node.js 18+","TypeScript compiler or Node.js with TypeScript support","MCP-aware LLM client (Claude, Anthropic tools, etc.)","Python backend running for KiCAD command execution"],"input_types":["MCP protocol messages","tool invocation requests","JSON-serialized tool arguments"],"output_types":["MCP protocol responses","tool execution results","error messages"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_11","uri":"capability://tool.use.integration.ipc.backend.communication","name":"ipc-backend-communication","description":"Establishes 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.","intents":["I need to communicate between the TypeScript MCP server and Python KiCAD interface","I want to handle command serialization and response deserialization automatically","I need robust error handling for IPC failures and timeouts"],"best_for":["developers maintaining the KiCAD MCP server architecture","teams debugging communication issues between server layers","engineers optimizing IPC performance for high-throughput designs"],"limitations":["IPC adds latency to command execution; each tool invocation requires serialization/deserialization overhead","Process lifecycle management is basic; no automatic restart or recovery on Python backend failure","Message size limits may apply depending on IPC mechanism; large design files may require chunking","No built-in message queuing or batching; each command is processed sequentially","Debugging IPC issues requires access to both server and backend logs"],"requires":["Node.js 18+ with child_process module","Python 3.10+ backend process","Serialization library (JSON or similar)"],"input_types":["command objects","tool arguments","design file references"],"output_types":["command results","error messages","status updates"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_12","uri":"capability://automation.workflow.cross.platform.compatibility.and.setup","name":"cross-platform-compatibility-and-setup","description":"Provides 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.","intents":["I want to set up KiCAD MCP server on my development machine with minimal manual configuration","I need to verify that all dependencies are installed and compatible","I want to configure my MCP client to connect to the KiCAD server"],"best_for":["developers setting up KiCAD MCP for the first time","teams deploying KiCAD MCP across multiple machines","organizations standardizing on KiCAD automation infrastructure"],"limitations":["Setup scripts assume standard installation paths; custom KiCAD installations may require manual configuration","Windows setup automation is specific to Windows; macOS/Linux require manual steps","No support for containerized deployments (Docker); requires native installation","Dependency version checking is basic; no automatic version upgrades or conflict resolution","MCP client configuration is manual; no automatic client setup or discovery"],"requires":["KiCAD 9.0+ installed with Python scripting module","Node.js 18+ installed","Python 3.10+ installed","pip package manager for Python dependencies","npm package manager for Node.js dependencies"],"input_types":["installation paths","configuration parameters","environment variables"],"output_types":["setup verification reports","configuration files","environment variable settings"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_2","uri":"capability://automation.workflow.pcb.board.design.and.layer.management","name":"pcb-board-design-and-layer-management","description":"Manages 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.","intents":["I want to define a PCB board size and layer stack for my design","I need to set design rules like minimum trace width and clearance automatically","I want to create a custom board outline from dimensions"],"best_for":["automated PCB design generation pipelines","teams standardizing design rules across projects","engineers creating board templates programmatically"],"limitations":["Layer management is limited to standard copper/signal/ground stacks; complex stackups require manual configuration","Design rules are set globally; per-region rule variations require manual editing","Board outline creation is geometric only; complex mechanical features (cutouts, slots) require additional tools","No real-time DRC feedback during board parameter changes; validation is deferred"],"requires":["KiCAD 9.0+ with pcbnew Python module","Active KiCAD project with board file (.kicad_pcb)"],"input_types":["board dimensions (width, height, thickness)","layer configuration specifications","design rule parameters"],"output_types":["KiCAD board files (.kicad_pcb)","layer stack definitions","design rule configurations"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_3","uri":"capability://automation.workflow.trace.routing.and.via.management","name":"trace-routing-and-via-management","description":"Automates 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.","intents":["I want Claude to automatically route traces between components on my PCB","I need to create vias for layer transitions and manage copper pours","I want to route critical signals with specific trace widths and clearances"],"best_for":["automated PCB layout generation from netlist","teams optimizing routing for high-speed or power delivery designs","engineers automating repetitive routing tasks"],"limitations":["Routing is basic connectivity-based; no advanced algorithms for length matching, impedance control, or thermal optimization","Via placement is manual specification; no automatic via stitching for ground planes","Copper pour management is simple fill; no support for complex pour shapes or thermal relief patterns","No collision detection or DRC integration during routing; violations must be checked post-routing","Routing is single-pass; no iterative optimization or rip-up-and-retry capability"],"requires":["KiCAD 9.0+ with pcbnew Python module","Active board file with component placement and netlist","Design rules configured (trace width, clearance, via size)"],"input_types":["net names and connection points","trace width specifications","via placement coordinates","copper pour regions"],"output_types":["routed traces on board","via placements","copper pour definitions","design rule violation reports"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_4","uri":"capability://automation.workflow.manufacturing.output.generation","name":"manufacturing-output-generation","description":"Generates 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.","intents":["I want to generate Gerber files for PCB manufacturing from my design","I need to export a PDF schematic or board layout for documentation","I want to generate a 3D model of my PCB for visualization and mechanical validation"],"best_for":["teams automating manufacturing file generation","engineers creating design documentation programmatically","PCB manufacturers integrating KiCAD designs into production workflows"],"limitations":["Gerber generation follows standard IPC-274X format; custom manufacturing requirements may need post-processing","3D model export is visualization-only; no mechanical CAD integration for mechanical design validation","PDF/SVG exports are raster-based from board images; no vector-based schematic export","No support for advanced manufacturing features (panelization, test points, fiducials) in export","Export quality depends on KiCAD's internal rendering; no control over DPI or color profiles"],"requires":["KiCAD 9.0+ with pcbnew Python module","Pillow 9.0.0+ for image rendering","cairosvg 2.7.0+ for SVG conversion","Completed board design with all layers configured"],"input_types":["board file (.kicad_pcb)","schematic file (.kicad_sch)","export format specifications","layer selection parameters"],"output_types":["Gerber files (.gbr, .gbl, .gts, .gbs)","PDF documents","SVG vector graphics","3D model files (.step, .wrl)","board images (PNG, JPG)"],"categories":["automation-workflow","image-visual"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_5","uri":"capability://safety.moderation.design.rule.checking.and.validation","name":"design-rule-checking-and-validation","description":"Performs 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.","intents":["I want to validate my PCB design against manufacturing rules before sending to fab","I need to check for electrical violations like unconnected nets or short circuits","I want to ensure my design meets trace width and clearance requirements"],"best_for":["automated design validation pipelines","teams enforcing design standards across projects","engineers catching design errors before manufacturing"],"limitations":["DRC checks are based on configured design rules; custom manufacturing constraints require rule configuration","No support for advanced checks like impedance validation, EMI analysis, or thermal analysis","Violation reports are text-based; no interactive visualization of violations in KiCAD GUI","DRC is post-design; no real-time feedback during design modifications","No support for design rule waiver or exception management"],"requires":["KiCAD 9.0+ with pcbnew Python module","Configured design rules in board file","Completed schematic and/or board design"],"input_types":["board file (.kicad_pcb)","schematic file (.kicad_sch)","design rule parameters"],"output_types":["DRC violation reports (structured JSON/text)","violation location coordinates","severity classifications","remediation suggestions"],"categories":["safety-moderation","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_6","uri":"capability://memory.knowledge.library.and.component.symbol.management","name":"library-and-component-symbol-management","description":"Manages 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.","intents":["I want Claude to find the right component symbol from my KiCAD libraries","I need to map generic component descriptions to specific library symbols","I want to manage component properties and footprints programmatically"],"best_for":["teams standardizing component libraries across projects","engineers automating component selection and symbol assignment","organizations managing large component databases"],"limitations":["Library queries are limited to pre-configured KiCAD libraries; custom libraries require manual setup","Symbol mapping is based on component name/reference matching; no semantic matching or fuzzy search","No support for component lifecycle management (obsolescence, alternatives) in library interface","Library caching may become stale if symbols are updated externally","No integration with external component databases (Octopart, SnapEDA); requires manual symbol import"],"requires":["KiCAD 9.0+ with pcbnew Python module","Configured symbol libraries in KiCAD","Component reference data (name, value, footprint)"],"input_types":["component names/references","symbol search queries","library configuration"],"output_types":["symbol definitions","component properties","footprint assignments","library search results"],"categories":["memory-knowledge","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_7","uri":"capability://automation.workflow.project.lifecycle.management","name":"project-lifecycle-management","description":"Manages 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.","intents":["I want to create a new KiCAD project programmatically with standard settings","I need to open and save projects automatically in design automation workflows","I want to manage project versions and backups programmatically"],"best_for":["automated design generation pipelines","teams managing multiple PCB projects programmatically","CI/CD systems integrating KiCAD design workflows"],"limitations":["Project creation uses basic templates; no support for complex project hierarchies or multi-board designs","Version control integration is file-system based; no native Git integration or conflict resolution","Project metadata management is limited to KiCAD's native fields; no custom metadata support","No support for project cloning or templating beyond basic file copying","Concurrent project access is not managed; requires external locking mechanisms"],"requires":["KiCAD 9.0+ with pcbnew Python module","File system write permissions","Project template files (optional)"],"input_types":["project name and path","template specifications","project metadata"],"output_types":["KiCAD project files (.kicad_pro)","project directory structure","project metadata"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_8","uri":"capability://automation.workflow.electrical.net.and.connection.management","name":"electrical-net-and-connection-management","description":"Manages 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.","intents":["I want to automatically wire components together based on circuit topology","I need to create and manage electrical nets programmatically","I want to validate that all components are properly connected"],"best_for":["automated schematic generation from circuit specifications","teams validating electrical connectivity programmatically","engineers automating circuit topology creation"],"limitations":["Net creation is pin-to-pin based; no support for bus connections or hierarchical nets","Net naming is manual; no automatic net naming based on signal function","No support for electrical properties like impedance or signal integrity constraints on nets","Validation is connectivity-only; no electrical rule checking (ERC) integration","No support for net aliases or equivalent nets"],"requires":["KiCAD 9.0+ with pcbnew Python module","Schematic with placed components","Component pin reference data"],"input_types":["component references and pin numbers","net names","connection specifications"],"output_types":["electrical nets","connectivity validation results","net lists","unconnected node reports"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mixelpixx-kicad-mcp-server__cap_9","uri":"capability://tool.use.integration.jlcpcb.parts.database.integration","name":"jlcpcb-parts-database-integration","description":"Integrates 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.","intents":["I want to check if components in my design are available from JLCPCB","I need to map my components to JLCPCB part numbers for manufacturing","I want to generate JLCPCB assembly files automatically from my design"],"best_for":["teams using JLCPCB for PCB manufacturing and assembly","engineers automating component sourcing and availability checking","organizations managing JLCPCB assembly workflows"],"limitations":["JLCPCB integration is specific to JLCPCB; no support for other manufacturers (Oshpark, PCBWay, etc.)","Component mapping requires manual JLCPCB part number assignment; no automatic matching","Pricing and availability data is point-in-time; no real-time updates or price tracking","Assembly file generation follows JLCPCB format; no support for custom assembly requirements","No integration with JLCPCB's design review or quote system"],"requires":["KiCAD 9.0+ with pcbnew Python module","JLCPCB API credentials (if required)","Component-to-JLCPCB part number mappings"],"input_types":["component references","component values","JLCPCB part numbers"],"output_types":["JLCPCB assembly files","availability reports","pricing data","component mapping tables"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":44,"verified":false,"data_access_risk":"high","permissions":["KiCAD 9.0+ with Python scripting module (pcbnew) installed","Node.js 18+","Python 3.10+","Claude or MCP-compatible LLM client configured to connect to MCP server","KiCAD 9.0+ with pcbnew Python module","kicad-skip 0.1.0+ for schematic file manipulation","Pre-configured KiCAD symbol libraries","TypeScript compiler or Node.js with TypeScript support","MCP-aware LLM client (Claude, Anthropic tools, etc.)","Python backend running for KiCAD command execution"],"failure_modes":["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","Schematic organization (sheet hierarchy, grouping) is limited to flat structures in current implementation","MCP is a relatively new protocol; limited client support beyond Claude and Anthropic tools","Tool schema definition is manual; no automatic schema generation from Python command handlers","Error handling is basic; complex error scenarios may not propagate clearly to LLM","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.43139150395032994,"quality":0.5,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.065Z","last_scraped_at":"2026-05-03T14:23:34.856Z","last_commit":"2026-05-03T10:01:51Z"},"community":{"stars":911,"forks":158,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-mixelpixx-kicad-mcp-server","compare_url":"https://unfragile.ai/compare?artifact=mcp-mixelpixx-kicad-mcp-server"}},"signature":"YkmewO8OTms0SX+bs2wBA7esTvyc/lFVvT4WLj4QqpKwbWXQQSxBjxGT531MO1NOP4Ft1NLJmZHN/psXTIEqCg==","signedAt":"2026-06-22T22:29:28.131Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-mixelpixx-kicad-mcp-server","artifact":"https://unfragile.ai/mcp-mixelpixx-kicad-mcp-server","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-mixelpixx-kicad-mcp-server","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}