Skip to main content
Glama
SourceParts

Source Parts MCP Server

Official
by SourceParts

parts_cli

Execute commands for ECN handling, BOM processing, fabrication tasks, and part search within local electronics projects.

Instructions

Run a parts CLI command for local project operations.

Executes the parts CLI binary with the given command and arguments. The command string should NOT include the leading parts — just the subcommand and flags.

Parts CLI Command Reference

ECN Management (project ecn)

List all ECNs

parts project ecn list [--dir ECO] Alias: parts project ecn ls

Get ECN details

Read the file directly: ECO/ECN-006.md

Create a new ECN

parts project ecn create
--id ECN-021
--title "Issue title"
--type "Schematic Change"
--severity HIGH
--disposition REQUIRED
[--category Electrical]
[--author "Name"]
[--source "reference"]
[--affected "U5, R23"]
[--output-dir ECO]

Types: Design Constraint | Assembly Note | BOM Change | Schematic Change | Process Change Severity: CRITICAL | HIGH | MEDIUM | LOW Disposition: REQUIRED | RECOMMENDED | OPTIONAL

Validate ECN files

parts project ecn validate [--dir ECO]

Migrate monolithic log to individual files

parts project ecn migrate --source Reports/ECN_Log_V1.0.md [--output-dir ECO]

Fabrication (fab)

Stackup PDF from gerbers

parts fab stackup <gerbers.zip> [-b "Board Name"] [--scale 3] [-o output.pdf] [--prefix "Board_V1.03"]

Placement / pick-and-place

parts fab placement [positions.csv]
[--rows 3] [--cols 3]
[--assemble 1,2,3,7,8]
[--side top|bottom|both]
[--outline board.gko]
[--bom bom.csv]
[--manual-place U,J,SW,MIC]
[--split-csv]
[--rotate-top]
[--machine yy1]
[-b "Board Name"] [-o ./output] [--prefix "Board_V1.03"]

Net trace highlight

parts fab highlight <board.kicad_pcb>
--nets "VCC,GND,SDA"
[--colors "VCC=#ff0000,GND=#0000ff"]
[--mode overlay|traces|both]
[--layers "F.Cu"]
[-o ./output]

Assembly guide PDF

parts fab assembly

Test point report

parts fab testpoints <positions.csv>

Gerber diff

parts fab diff <v1.zip> <v2.zip> [--name-a "V1" --name-b "V2"]

Structural diff report

parts fab report <v1.zip> <v2.zip>

X-ray inspection report

parts fab xray

Release

parts fab release

Machine SD card

parts fab machine

BOM

Upload BOM

parts bom <filename.xlsx> [-p project_id] [--wait] [--no-lcsc] [--dfm-check]

Generate BOM PDF

parts bom pdf [bom.csv] [-b "Board Name"] [-o output.pdf] [--prefix "Board_V1.03"]

Clean EIA capacitor codes

parts bom clean <bom.csv>

Convert CSV to Excel

parts bom convert <file.csv>

Fetch datasheets for BOM parts

parts bom datasheets <bom.csv>

Enrich BOM with descriptions

parts bom enrich <bom.csv>

Check BOM job status

parts bom status <job_id>

Project

Init new project

parts init [path] [-t dfm|pcb|assembly] [-a "Author"] [-d "Description"] [--skip-git] [-i]

Project CRUD

parts project create parts project list parts project get parts project delete

ECO (Engineering Change Order)

parts project eco

Status

parts status

Search & Parts

Search parts

parts search [--in-stock] [--eu-only|--us-only|--cn-only]

Smart query (search, URL, SMD codes)

parts q

Price estimate

parts price

Inventory check

parts inventory

Datasheet

parts datasheet

Find alternatives

parts guide

SMD code decode

parts smd

Resistor color bands

parts resistor

Part marking lookup

parts marking

IQC / Ingest

Upload images for identification

parts ingest <file_or_dir> [-p project_id] [-b box_id] [--wait] [--recursive] [--dry-run]

Detect from photo

parts detect

Scan barcode

parts scan

List IQC items

parts ingest items

Reprocess item

parts ingest reprocess <short_code>

Manufacturing

DFM analysis

parts dfm <project_id>

AOI inspection

parts aoi

QC inspection

parts qc

EDA (eda)

DXF board outline info

parts eda dxf <file.dxf> [--json] Parse a DXF file and report board outline dimensions, bounding box, entity count, and layer names. Example: parts eda dxf board_outline.dxf Example: parts eda dxf board_outline.dxf --json

Electrical Rules Check

parts eda erc <file.kicad_sch> [--severity all|error|warning] [--rules file] [--json] Upload a KiCad schematic and run ERC. Returns violations by severity.

Design Rules Check

parts eda drc <file.kicad_pcb> [--severity all|error|warning] [--rules file.kicad_dru] [--json] Upload a KiCad PCB and run DRC. Returns violations by severity.

Import Altium to KiCad

parts eda import altium <file.SchDoc|.PcbDoc> [-o output] [--name project] [--revision EVT1] [--no-git] Convert Altium schematic or PCB to KiCad format.

Orders & Commerce

Get quote

parts fab quote

RFQ

parts rfq

Add to cart

parts cart

Buy

parts buy

COGS calculation

parts cogs <bom_id|project_id> [-q quantity]

Misc

Auth

parts auth

Balance

parts balance

History

parts history

Labels

parts label

Notes

parts note "text"

Todos

parts todo "text"

Tracker (price/qty watch)

parts tracker

Wishlist

parts wishlist

Expenses

parts expense

Reports

parts report

Git operations

parts push parts pull parts log parts tag

GitHub Actions

parts github report --project --repo <owner/repo> [--thread-id ]

Global flags (apply to all commands)

-q, --quiet Suppress progress output -v, --verbose Verbose output -h, --help Help for any command

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
commandYesThe parts subcommand and arguments. Examples: "project ecn list", "fab stackup gerbers.zip --scale 3", "project ecn create --id ECN-021 --title 'New issue' --type 'BOM Change' --severity HIGH --disposition REQUIRED"
project_pathNoWorking directory for the command (defaults to cwd). Should be the root of the project containing .parts/config.yaml.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It fails to disclose potential destructive actions (e.g., delete commands), authentication requirements, or side effects like file modifications. While the command reference hints at some operations, there is no explicit warning about safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured into categories, with the main purpose and usage front-loaded. Every section provides necessary detail for a complex CLI tool, earning its length without being wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (many subcommands) and the presence of an output schema (though not evaluated), the description is nearly complete. It covers all major commands but lacks information on error handling, prerequisites, and behavioral caveats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema coverage is 100%, but the description adds significant value with detailed examples for the `command` parameter and clarification for `project_path`. This goes beyond the schema's minimal descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool runs the `parts` CLI for local project operations and specifies that the command string should exclude the leading 'parts'. It distinguishes itself from sibling tools that focus on specific functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides extensive context on when to use various subcommands (e.g., ECN management, fabrication, BOM). However, it does not explicitly mention when not to use this tool or compare with sibling tools like `ecn_create` or `fab stackup`, which could lead to ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SourceParts/parts-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server