Guide for AI agents to source electronic components using parts-mcp — tool sequencing, decision patterns, and multi-step workflows
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-electronics-sourcing-d4282126d90f ,按照其中的说明把「electronics-sourcing」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
This skill teaches you how to source electronic components effectively using parts-mcp tools. It covers tool sequencing, decision patterns, and how to handle common scenarios.
search_parts — Use when you have a part number, description, or general keywords. This is your default starting point.
"Find me a 100nF capacitor" → search_parts(query="100nF capacitor")
"Look up STM32F411" → search_parts(query="STM32F411")
search_by_parameters — Use when you need to match specific electrical parameters within a category. More precise than keyword search.
"I need a 50V 100nF X7R 0402 cap" → search_by_parameters(
parameters={"capacitance": "100nF", "voltage": "50V", "dielectric": "X7R", "package": "0402"},
category="capacitor"
)
Decision rule: If the user gives you 3+ specific parameters, use search_by_parameters. For part numbers or general queries, use search_parts.
This is the core sourcing workflow. Follow this sequence:
1. SEARCH → Find the part
2. DETAILS → Get full specifications (if needed for validation)
3. PRICE → Compare across suppliers
4. AVAILABILITY → Check stock levels
5. ALTERNATIVE → Find replacements (only if price is too high or stock is insufficient)
Do not skip steps 3 and 4. A part that exists in the database may be out of stock or prohibitively expensive.
When the user asks to "source" or "find" a part, they expect pricing and availability — not just search results. Always follow through to at least step 4.
BOM processing is asynchronous. Always follow this exact sequence:
1. upload_bom(file_path=path) → Get job_id
2. check_bom_status(job_id=job_id) → Poll until status is "complete"
3. Review matched_parts and unknown_parts
4. For unmatched: search_parts() to resolve manually
5. calculate_bom_cost() with all resolved parts
Polling: Call check_bom_status and check the status field. If "in_progress", wait and poll again. Do not assume instant completion.
Handling unmatched parts: When unknown_parts is not empty, try search_parts with the value and footprint fields as the query. If still unmatched, report them to the user — do not silently skip them.
Datasheets can be hundreds of pages. Always use this two-step approach:
1. list_datasheet_sections(sku="PART-NUMBER")
→ See the table of contents
→ Identify which sections contain what you need
2. read_datasheet(sku="PART-NUMBER", query="relevant keywords")
→ Read only matching chunks
→ Saves significant context window
Never call read_datasheet without a query parameter unless the datasheet is short (< 20 pages). An unfiltered read of a 200-page datasheet will consume excessive context.
Keyword tips: Use specific technical terms. "maximum input voltage absolute ratings" is better than "voltage". Multiple keywords narrow the results.
Manufacturing operations (DFM, fab quoting, assembly) are all asynchronous:
submit_dfm() → check_dfm_status() # DFM analysis
quote_fabrication() → check_manufacturing_status() # Fab quote
quote_assembly() → polls internally # Combined fab + assembly
DFM first: Always run DFM analysis before requesting a fabrication quote. DFM may reveal issues that affect manufacturability or cost.
Assembly quotes combine fabrication and BOM costing in one call. Use quote_assembly when the user wants a complete per-unit cost including both PCB fabrication and component assembly.
Real-world sourcing often has partial results. Handle gracefully:
Some parts not found in BOM:
search_parts for each unmatched partSome parts unavailable:
find_alternatives for each unavailable partPrice comparison with missing suppliers:
When working with KiCad projects:
1. find_kicad_projects() → Discover available projects
2. analyze_kicad_project(project_path=...) → Understand project structure
3. extract_bom_from_kicad(project_path=...) → Get component list
4. match_components_to_parts(components=...) → Match to real parts
5. Follow the BOM processing pattern above for unmatched components
KiCad CLI requirement: BOM extraction may invoke kicad-cli if no existing BOM file is found in the project. Ensure KiCad 8+ is installed.
Local mode only: All KiCad tools require local mode (stdio transport). They are not available in hosted/HTTP mode.
When helping users optimize costs:
compare_prices with different quantities (1, 10, 100, 1000) to show price break curvesfind_alternatives and compare pricingpreferred_suppliers in calculate_bom_cost to bias toward the user's existing supplier relationshipsWhen a user asks to "source a part":
→ search_parts → get_part_details → compare_prices → check_availability
Present: part details, best price, stock status, and any concerns.
When a user provides a BOM file:
→ upload_bom → poll check_bom_status → report matched/unmatched → calculate_bom_cost
Present: match rate, unmatched items, total cost, per-line breakdown.
When a user asks "is this in stock?":
→ check_availability with quantities
Present: stock levels, number of suppliers with stock, whether quantity is meetable.
When a user asks about a datasheet:
→ list_datasheet_sections → read_datasheet with targeted query
Present: the specific information requested, citing page numbers.
When a user asks for a manufacturing quote:
→ submit_dfm (if not already done) → quote_fabrication or quote_assembly
Present: DFM issues (if any), estimated cost, lead time.