
Research
/Security News
Popular npm Packages in the keyv and Cacheable Namespaces Compromised in Active Supply Chain Attack
Popular npm packages keyv and cacheable compromised.
parts-mcp
Advanced tools
Model Context Protocol (MCP) server for electronic parts sourcing with KiCad integration
A Model Context Protocol (MCP) server for sourcing electronic parts with multi-EDA integration.
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.
| 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 |
uvx parts-mcp
No install needed -- uvx runs it directly from PyPI in an isolated environment.
pip install parts-mcp
git clone https://github.com/SourceParts/parts-mcp.git
cd parts-mcp
pip install -e .
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
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.
Connect directly from claude.ai without any local installation:
https://mcp.source.parts/No API key needed -- authentication is handled via OAuth.
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"
"Find a 10k resistor in 0603 package"
"Upload my Altium BOM and find the best prices for 100 units"
"Extract the BOM from my amplifier.kicad_sch and source all components"
"Find alternatives for the obsolete LM358"
"Check stock levels for STM32F103C8T6"
| 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 |
Parts MCP follows a thin client architecture:
Local (MCP):
Server (Source Parts API):
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with debug logging
DEBUG=1 python main.py
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
MIT License with Trademark Protection - see LICENSE.md
"Source Parts" is a trademark. See license for usage restrictions.
FAQs
Model Context Protocol (MCP) server for electronic parts sourcing with KiCad integration
The pypi package parts-mcp receives a total of 98 weekly downloads. As such, parts-mcp popularity was classified as not popular.
We found that parts-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.