Parts MCP
Source Parts MCP Server - Model Context Protocol integration
Installation
npx parts-mcpAsk AI about Parts MCP
Powered by Claude Β· Grounded in docs
I know everything about Parts MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Parts MCP
A Model Context Protocol (MCP) server for sourcing electronic parts with multi-EDA integration.
Overview
Parts MCP enables AI assistants to search for electronic components, compare prices, check availability, and process BOMs from popular EDA tools. It provides a unified interface for component sourcing workflows powered by the Source Parts API.
Supported EDA Tools
| Tool | BOM Format | Status |
|---|---|---|
| KiCad | CSV, XML | Full support + CLI integration |
| Altium Designer | CSV, XLS | Full support |
| Autodesk Fusion 360 | CSV | Full support |
| Eagle | CSV, BRD | Full support |
| PADS | CSV, ASC | Full support |
| Protel 99 | CSV | Full support |
Features
- Universal Parts Search: Search millions of parts via Source Parts API
- Multi-EDA BOM Processing: Import BOMs from KiCad, Altium, Fusion360, Eagle, PADS, Protel99
- Component Matching: AI-powered matching with confidence scoring
- Price Comparison: Compare prices across distributors
- Availability Check: Real-time inventory levels
- Alternative Parts: Find drop-in replacements and functional equivalents
- KiCad CLI Integration: Generate BOMs directly from schematics
- Local Caching: Fast responses with intelligent caching
Installation
Quick Start (Recommended)
uvx parts-mcp
No install needed -- uvx runs it directly from PyPI in an isolated environment.
With pip
pip install parts-mcp
From Source
git clone https://github.com/SourceParts/parts-mcp.git
cd parts-mcp
pip install -e .
Requirements
- Python 3.10+
- Source Parts API key (get one here)
Configuration
Create a .env file or set environment variables:
# Required
SOURCE_PARTS_API_KEY=your_api_key_here
# Optional
SOURCE_PARTS_API_URL=https://api.source.parts/v1
KICAD_SEARCH_PATHS=/path/to/kicad/projects
PARTS_CACHE_DIR=~/.cache/parts-mcp
CACHE_EXPIRY_HOURS=24
Claude Desktop Integration
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"parts": {
"command": "uvx",
"args": ["parts-mcp"],
"env": {
"SOURCE_PARTS_API_KEY": "your_api_key_here"
}
}
}
}
If installed from source:
{
"mcpServers": {
"parts": {
"command": "/path/to/python",
"args": ["/path/to/parts-mcp/main.py"],
"env": {
"SOURCE_PARTS_API_KEY": "your_api_key_here"
}
}
}
}
After adding the configuration, restart Claude Desktop.
Claude.ai Integration (Remote)
Connect directly from claude.ai without any local installation:
- Open claude.ai in your browser
- Go to Settings > Connectors
- Click Add custom connector
- Enter the URL:
https://mcp.source.parts/ - Complete the OAuth sign-in when prompted
- Start using Parts tools in any conversation
No API key needed -- authentication is handled via OAuth.
Claude Code Integration
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"parts": {
"command": "uvx",
"args": ["parts-mcp"],
"env": {
"SOURCE_PARTS_API_KEY": "your_api_key_here"
}
}
}
}
Or run directly:
claude --mcp-server "python -m parts_mcp"
Usage Examples
Search for Parts
"Find a 10k resistor in 0603 package"
Process a BOM
"Upload my Altium BOM and find the best prices for 100 units"
KiCad Integration
"Extract the BOM from my amplifier.kicad_sch and source all components"
Find Alternatives
"Find alternatives for the obsolete LM358"
Check Availability
"Check stock levels for STM32F103C8T6"
Available Tools
| Tool | Description |
|---|---|
search_parts | Search for components by query |
get_part_details | Get detailed part information |
get_part_pricing | Get pricing across distributors |
check_availability | Check real-time inventory |
find_alternatives | Find replacement parts |
process_bom | Process BOM file from any supported EDA |
match_components | Match BOM components to parts |
find_kicad_projects | Discover local KiCad projects |
generate_kicad_bom | Generate BOM from KiCad schematic |
Architecture
Parts MCP follows a thin client architecture:
Local (MCP):
- KiCad CLI operations
- Project discovery
- Response caching
- BOM file parsing
Server (Source Parts API):
- Component matching
- Price aggregation
- Inventory checking
- Alternative search
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with debug logging
DEBUG=1 python main.py
Project Structure
parts_mcp/
βββ server.py # MCP server entry
βββ config.py # Configuration
βββ tools/ # MCP tools
βββ resources/ # MCP resources
βββ prompts/ # Prompt templates
βββ utils/
βββ api_client.py # Source Parts API client
βββ bom_parser.py # Multi-EDA BOM parsing
βββ component_matcher.py # Component matching
βββ cache.py # Response caching
βββ kicad_utils.py # KiCad CLI integration
Marketplace Listings
- MCP Registry - Official MCP server registry
- Smithery - One-click install marketplace
- Hosted Server - Remote MCP for claude.ai connectors
Links
- Source Parts - Component search platform
- Source Parts API Docs - API documentation
- MCP Specification - Model Context Protocol
License
MIT License with Trademark Protection - see LICENSE.md
"Source Parts" is a trademark. See license for usage restrictions.
