PCB Parts MCP Server
Enables 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.
README
PCB Parts MCP Server
MCP server for searching electronic components across JLCPCB, Mouser, and DigiKey directly from Claude, Cursor, and other AI coding assistants. 1.5M+ parts with parametric filtering and KiCad footprints. No API key required.
Website: pcbparts.dev
Features
- Cross-distributor search: JLCPCB, Mouser, and DigiKey from one MCP server
- Parametric search: Filter by electrical specs (Vgs(th) < 2V, Rds(on) < 10mΩ, etc.)
- Smart query parsing: "10k 0603 1%" auto-parses into structured filters
- Find alternatives: Spec-aware compatibility checking for 120+ component types
- KiCad footprints: Download symbols and footprints via SamacSys
- Pinout data: Component pin information from EasyEDA symbols
- MPN lookup: Find JLCPCB equivalents by manufacturer part number
- Sensor recommendation: Find sensor ICs by what they measure, protocol, or platform (1,500+ sensors, 56 measure types)
- 11 MCP tools across 6 data sources
- No API key required for JLCPCB (Mouser/DigiKey optional)
Quick Start
Claude Code
claude mcp add -s user --transport http pcbparts https://pcbparts.dev/mcp
Optional — auto-approve all pcbparts tools in ~/.claude/settings.json:
{
"permissions": {
"allow": ["mcp__pcbparts__*"]
}
}
Claude Desktop
Add via Settings → Connectors → "Add custom connector", or add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"pcbparts": {
"type": "http",
"url": "https://pcbparts.dev/mcp"
}
}
}
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"pcbparts": {
"type": "http",
"url": "https://pcbparts.dev/mcp"
}
}
}
VS Code
Add to .vscode/mcp.json:
{
"servers": {
"pcbparts": {
"type": "http",
"url": "https://pcbparts.dev/mcp"
}
}
}
Copilot for Xcode
Add to Extensions config:
{
"mcpServers": {
"pcbparts": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://pcbparts.dev/mcp"]
}
}
}
Available Tools
JLCPCB (Local DB + Live API)
| Tool | Description |
|---|---|
jlc_search |
Primary search — smart query parsing + parametric spec filters (local DB, 575K+ in-stock parts) |
jlc_stock_check |
Real-time stock verification via live JLCPCB API (use jlc_search first) |
jlc_get_part |
Full details for a specific LCSC part code or MPN lookup |
jlc_get_pinout |
Component pin information from EasyEDA symbols |
jlc_find_alternatives |
Find spec-compatible alternative parts with verification |
jlc_search_help |
Browse categories, subcategories, and filterable attributes |
Mouser (requires MOUSER_API_KEY)
| Tool | Description |
|---|---|
mouser_get_part |
Cross-reference a specific MPN on Mouser (daily quota applies) |
DigiKey (requires DIGIKEY_CLIENT_ID + DIGIKEY_CLIENT_SECRET)
| Tool | Description |
|---|---|
digikey_get_part |
Cross-reference a specific MPN on DigiKey (daily quota applies) |
Sensor Recommendation (no key required)
| Tool | Description |
|---|---|
sensor_recommend |
Find sensor ICs/modules by measurement need, protocol, or platform (1,500+ sensors, 56 measure types) |
SamacSys (no key required)
| Tool | Description |
|---|---|
cse_search |
Search for ECAD models, datasheets, and footprint availability |
cse_get_kicad |
Download KiCad symbols and footprints for any part |
search vs stock_check
Use jlc_search (default) for:
- Parametric filtering ("Vgs(th) < 2V", "voltage >= 25V")
- Smart query parsing ("10k 0603 1%" auto-detects value, package, tolerance)
- Most searches
Use jlc_stock_check only when you need:
- Real-time stock verification before ordering
- Out-of-stock or low-stock parts (stock < 10)
- Full 1.5M catalog (search indexes 575K+ with stock >= 10)
Library Types
| Type | Assembly Fee | Description |
|---|---|---|
basic |
None | Common parts in JLCPCB's standard library |
preferred |
None | Recommended parts with good availability |
extended |
$3/unique part | Less common parts |
no_fee |
None | Filter shortcut: searches basic + preferred combined |
Subcategory Aliases
Natural language names that map to JLCPCB subcategories (220+ aliases supported):
| Category | Aliases |
|---|---|
| Capacitors | mlcc, ceramic capacitor, electrolytic, tantalum, supercap |
| Resistors | resistor, chip resistor, current sense resistor |
| Inductors | inductor, ferrite bead, ferrite |
| Diodes | schottky, zener, tvs, esd diode, rectifier |
| MOSFETs | mosfet, n-channel mosfet, p-channel mosfet, nmos, pmos |
| Regulators | ldo, buck, boost, dc-dc |
| Crystals | crystal, oscillator, tcxo |
| Connectors | usb-c, pin header, jst, terminal block, qwiic |
| LEDs | led, rgb led, ws2812, neopixel |
| MCUs | mcu, microcontroller |
Attribute Aliases
Short names for parametric spec filters:
| Component | Attributes |
|---|---|
| MOSFETs | Vgs(th), Vds, Id, Rds(on) |
| Diodes | Vr, If, Vf |
| BJTs | Vceo, Ic |
| Passives | Capacitance, Resistance, Inductance, Voltage, Tolerance, Power |
Use jlc_search_help(subcategory=...) to discover all filterable specs for any subcategory.
Package Expansion
Package filters auto-expand to include variants:
"SOT-23"→ includesSOT-23-3,SOT-23-3L,SOT-23(TO-236)"0603"→ includes1608(metric equivalent)- Specific packages like
"QFN-24-EP(4x4)"are NOT expanded
find_alternatives
Finds verified-compatible alternatives using spec-aware rules:
- Matches primary spec (resistance, capacitance, etc.)
- Verifies
must_matchspecs (dielectric, LED color, relay coil voltage) - Verifies
same_or_betterspecs (higher voltage OK, lower tolerance OK) - Ranks by library type (basic/preferred saves $3), stock, EasyEDA availability
Supported: Resistors, capacitors, inductors, ferrite beads, MOSFETs, BJTs, diodes (all types), LEDs, optocouplers, crystals, oscillators, LDOs, DC-DC converters, voltage references, WiFi/BT/LoRa modules, switches, relays, connectors, and more (120+ subcategories).
Example Queries
"Find logic-level MOSFETs with Vgs(th) < 2V and Id >= 5A"
"100nF 25V capacitors in 0402 or 0603"
"Find alternatives for C82899 in basic library"
"STM32 microcontrollers with 10000+ stock"
"Cross-reference TPS63020 on Mouser and compare with JLCPCB pricing"
"Get KiCad footprint for ESP32-S3-WROOM-1"
"What sensor should I use to measure CO2 on ESPHome?"
"Recommend an IMU sensor with I2C interface"
API Details
- Endpoint:
https://pcbparts.dev/mcp - Transport: Streamable HTTP (stateless)
- Health:
https://pcbparts.dev/health - Rate limit: 100 requests/minute per IP
- Auth: None required
Self-Hosting
git clone https://github.com/Averyy/pcbparts-mcp
cd pcbparts-mcp
uv venv && uv pip install -e .
.venv/bin/python -m pcbparts_mcp.server # http://localhost:8080/mcp
Or with Docker:
docker compose up -d # production (GHCR image)
docker compose -f docker-compose.local.yml up --build # local dev (builds from source)
Environment Variables
| Variable | Default | Description |
|---|---|---|
HTTP_PORT |
8080 |
Server port |
RATE_LIMIT_REQUESTS |
100 |
Requests per minute per IP |
DISTRIBUTOR_DAILY_LIMIT |
1000 |
Daily API request quota per distributor (Mouser/DigiKey) |
MOUSER_API_KEY |
— | Mouser API key (optional, enables Mouser tools) |
DIGIKEY_CLIENT_ID |
— | DigiKey OAuth2 client ID (optional, enables DigiKey tools) |
DIGIKEY_CLIENT_SECRET |
— | DigiKey OAuth2 client secret |
LLM-Readable Documentation
An llms.txt file is available for LLMs and AI agents to quickly understand this service. See llmstxt.org for the spec.
License
MIT
Links
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.