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.
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
Installation
Quick Start
1. Index Your KiCad Libraries
First, build the component database from your KiCad symbol libraries:
The 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:
Or manually edit ~/.claude/claude_mcp_config.json:
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
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 ( - Parses
.kicad_symfiles and builds a SQLite database with full-text searchMCP Server ( - 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
Requirements
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