pypi parts-mcpstreamable-httpApache-2.0updated 23d ago
A Model Context Protocol (MCP) server for sourcing electronic parts with multi-EDA integration.
What can you do with Source Parts?
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.
Install
Add Source Parts to your client. Pick the one you use.
{
"servers": {
"parts-mcp": {
"type": "http",
"url": "https://mcp.source.parts/"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add parts-mcp -- uvx parts-mcpcodex mcp add parts-mcp -- uvx parts-mcpamp mcp add parts-mcp -- uvx parts-mcp{
"mcpServers": {
"parts-mcp": {
"command": "uvx",
"args": [
"parts-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"parts-mcp": {
"command": "uvx",
"args": [
"parts-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"parts-mcp": {
"command": "uvx",
"args": [
"parts-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"parts-mcp": {
"command": "uvx",
"args": [
"parts-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"parts-mcp": {
"command": "uvx",
"args": [
"parts-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"parts-mcp": {
"type": "local",
"command": "uvx",
"args": [
"parts-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"parts-mcp": {
"command": {
"path": "uvx",
"args": [
"parts-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx parts-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
9 tools
Source Parts exposes 9 tools to a connected agent.
- 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
Score
87 / 100
Excellent
- Documentation25/25
- Maintenance25/25
- Trust16/20
- Capability6/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 16 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 9 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.5.3Latest | Aug 16, 2026 |
| 0.5.2 | Aug 16, 2026 |
| 0.5.1 | Aug 15, 2026 |
| 0.4.0 | Apr 22, 2026 |
| 0.3.4 | Apr 21, 2026 |
| 0.3.3 | Apr 21, 2026 |
| 0.3.2 | Apr 16, 2026 |
| 0.3.1 | Apr 16, 2026 |