🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

parts-mcp

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

parts-mcp

Model Context Protocol (MCP) server for electronic parts sourcing with KiCad integration

Source
pipPyPI
Version
0.4.0
Weekly downloads
87
52.63%
Maintainers
1
Weekly downloads
 

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

ToolBOM FormatStatus
KiCadCSV, XMLFull support + CLI integration
Altium DesignerCSV, XLSFull support
Autodesk Fusion 360CSVFull support
EagleCSV, BRDFull support
PADSCSV, ASCFull support
Protel 99CSVFull 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

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

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

ToolDescription
search_partsSearch for components by query
get_part_detailsGet detailed part information
get_part_pricingGet pricing across distributors
check_availabilityCheck real-time inventory
find_alternativesFind replacement parts
process_bomProcess BOM file from any supported EDA
match_componentsMatch BOM components to parts
find_kicad_projectsDiscover local KiCad projects
generate_kicad_bomGenerate 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

License

MIT License with Trademark Protection - see LICENSE.md

"Source Parts" is a trademark. See license for usage restrictions.

Keywords

bom

FAQs

Did you know?

Socket

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.

Install

Related posts