KiCad MCP Server
Provides searchable access to KiCad component symbol libraries with full-text search across 20,000+ components, enabling queries for component metadata including references, values, descriptions, datasheets, and footprints.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@KiCad MCP Serverfind voltage regulators with 5V output"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
KiCad MCP Server
A Model Context Protocol (MCP) server that provides searchable access to KiCad component symbol libraries. Query your local KiCad libraries using natural language through Claude or other MCP-compatible clients.
Features
Fast full-text search across 20,000+ KiCad components using SQLite FTS5
Component metadata including references, values, descriptions, datasheets, and footprints
Separate indexer and server for optimal performance
MCP-compliant tools for integration with Claude Code and other MCP clients
Related MCP server: PCB Parts MCP Server
Installation
# Clone the repository
git clone https://github.com/yourusername/kicad_mcp.git
cd kicad_mcp
# Install using pip
pip install -e .
# Or install with development dependencies
pip install -e ".[dev]"Quick Start
1. Index Your KiCad Libraries
First, build the component database from your KiCad symbol libraries:
# Index default KiCad locations (/usr/share/kicad/symbols/)
kicad-index
# Or specify a custom directory
kicad-index /path/to/your/symbols
# Check database statistics
kicad-index --statsThe database is stored at ~/.local/share/kicad-mcp/components.db.
2. Configure MCP Server
For Claude Code
Add the server to your Claude Code configuration:
claude mcp add --transport stdio kicad --scope user -- /path/to/kicad_mcp/.venv/bin/kicad-mcpOr manually edit ~/.claude/claude_mcp_config.json:
{
"mcpServers": {
"kicad": {
"command": "/path/to/kicad_mcp/.venv/bin/kicad-mcp",
"args": []
}
}
}For Other MCP Clients
The server communicates via stdio using the MCP protocol. Configure your client to launch kicad-mcp as a subprocess.
3. Use the Tools
Once configured, you'll have access to these MCP tools:
search_components- Search by name, description, or keywordslist_component_types- Get all reference designator types (R, C, U, etc.)get_components_by_type- Filter components by reference typeget_component_details- Get complete metadata for a specific component
Examples
Searching for Components
Find me an ATmega microcontroller
-> Returns ATmega328, ATmega32U4, etc. with datasheets and footprints
What capacitors are available?
-> Lists capacitors with descriptions and package options
I need a voltage regulator
-> Shows LDOs, switching regulators, etc.Component Details
Each component includes:
Name - Component identifier
Library - Source KiCad library
Reference - Designator prefix (R, C, U, IC, etc.)
Value - Component value/model
Description - Human-readable description
Keywords - Searchable tags
Datasheet - URL to datasheet (if available)
Footprint - Associated PCB footprint
Architecture
This project uses a two-tool architecture:
Indexer (
kicad-index) - Parses.kicad_symfiles and builds a SQLite database with full-text searchMCP Server (
kicad-mcp) - Long-running process that serves queries from the pre-built database
This separation ensures fast server startup and allows updating the index independently.
KiCad Library Locations
Default search paths (Linux):
System libraries:
/usr/share/kicad/symbols/User libraries:
~/.local/share/kicad/9.0/symbols/
Adjust paths for your OS and KiCad version.
Development
# Create virtual environment (using uv)
uv venv
source .venv/bin/activate
# Install in development mode
uv pip install -e ".[dev]"
# Run tests
pytest
# Rebuild index after making changes
kicad-indexRequirements
Python 3.11+
KiCad symbol libraries (
.kicad_symfiles)Dependencies:
sexpdata,mcp(installed automatically)
How It Works
Parsing: The indexer uses
sexpdatato parse KiCad's s-expression formatStorage: Components are stored in SQLite with FTS5 full-text search indexes
Querying: The MCP server receives requests via stdio and queries the database
Response: Results are returned in MCP-compliant JSON format
License
MIT
Contributing
Contributions welcome! Please open an issue or pull request.
Acknowledgments
Built using Anthropic's MCP SDK
Parses KiCad symbol library format
This server cannot be deployed
Maintenance
Related MCP Connectors
Search and review real KiCad and Altium PCB designs: schematics, BOMs, netlists, DRC/ERC.
Search real parts with datasheet-provenance specs, check compatibility and compose priced BOMs.
Verified KiCad footprints, symbols & 3D models for AI agents. No signup, CC-BY-4.0, quality-gated.
Electronic component datasheets for AI agents — specs, pinouts, package data on demand.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables analysis of KiCad electronic schematics through natural language queries to search components, trace signal paths, explore connections, and analyze multi-board systems.301MIT
- AlicenseAqualityBmaintenanceEnables searching and filtering over 1.5 million electronic components across JLCPCB, Mouser, and DigiKey using parametric queries and smart parsing. It supports finding alternative parts, accessing pinout data, and downloading KiCad footprints directly through AI coding assistants.11117MIT
- AlicenseAqualityCmaintenanceProvides AI agents with instant, structured access to electronic component datasheets, pinouts, and electrical specifications without requiring PDF uploads. It enables seamless part searching, design validation, and side-by-side component comparisons across major hardware providers.1237 npm12MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural language interaction with KiCad projects, schematics, and PCBs, supporting project management, design rule checking, netlist extraction, and datasheet RAG search.2MIT