Licensed under Apache License 2.0 for open source distribution.
Supports environment variable configuration through .env files for API keys and settings.
Source code version control and development workflow management.
Project hosting, issue tracking, and contribution management through GitHub repository.
Provides platform-specific configuration instructions for macOS users.
Built using Node.js runtime environment for server implementation and execution.
Distributed as an npm package for easy installation and dependency management.
Implemented in TypeScript for type-safe development of the MCP server.
Uses Zod for runtime validation of API requests and responses.
Click on "Install 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., "@Source Parts MCP Serversearch for 10k ohm resistors with 1% tolerance"
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.
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
From PyPI (Recommended)
pip install parts-mcpFrom 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=24Claude 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": "python",
"args": ["-m", "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 Code Integration
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"parts": {
"command": "python",
"args": ["-m", "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 for components by query |
| Get detailed part information |
| Get pricing across distributors |
| Check real-time inventory |
| Find replacement parts |
| Process BOM file from any supported EDA |
| Match BOM components to parts |
| Discover local KiCad projects |
| 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.pyProject 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 integrationLinks
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.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.