关于 electronics-sourcing
electronics-sourcing 为使用 parts-mcp 的电子元件采购任务提供操作指南,面向处理选型、询价和物料清单的用户。它规定了搜索、价格与库存核查、替代料及制造报价的步骤。
主要功能
- 01按参数或关键词搜索元件
- 02比较供应商价格并检查库存
- 03处理 BOM 匹配及成本计算
- 04分步骤读取数据手册
- 05指导 DFM 与制造报价流程
适用场景
- 01按电气参数筛选电容等元件
- 02处理 BOM 中未匹配的物料
- 03检查缺货元件并寻找替代品
- 04获取 PCB 制造或组装报价
MCP 相关
该技能指导如何依次使用 parts-mcp 工具进行元件搜索、价格和库存核查、BOM 处理及制造相关操作。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ andrewyng/ context-hub --skill electronics-sourcing安装后在 Claude Code 中输入/electronics-sourcing确认已加载。
详细介绍
电子元件采购技能
此技能将教你如何使用 parts-mcp 工具高效采购电子元件,涵盖工具调用顺序、决策模式以及如何处理常见场景。
何时使用哪种搜索工具
search_parts——当你有料号、描述或一般关键词时使用。这是默认的起点。
"Find me a 100nF capacitor" → search_parts(query="100nF capacitor")
"Look up STM32F411" → search_parts(query="STM32F411")
search_by_parameters——当你需要在某个类别中匹配特定电气参数时使用。它比关键词搜索更精确。
"I need a 50V 100nF X7R 0402 cap" → search_by_parameters(
parameters={"capacitance": "100nF", "voltage": "50V", "dielectric": "X7R", "package": "0402"},
category="capacitor"
)
决策规则:如果用户提供了 3 个或更多具体参数,请使用 search_by_parameters。对于料号或一般查询,请使用 search_parts。
搜索 → 价格 → 库存情况 → 替代方案模式
这是核心采购工作流。请按以下顺序操作:
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)
不要跳过第 3 步和第 4 步。数据库中存在的元件可能缺货或价格过高。
当用户要求“采购”或“查找”元件时,他们期望获得价格和库存情况,而不只是搜索结果。请务必继续执行,至少完成第 4 步。
BOM 处理模式
BOM 处理是异步的。请务必严格遵循以下顺序:
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
轮询:调用 check_bom_status 并检查 status 字段。如果状态为 "in_progress",请等待后再次轮询。不要假设它会立即完成。
处理未匹配元件:当 unknown_parts 不为空时,请使用 value 和 footprint 字段作为查询条件调用 search_parts。如果仍未匹配,请告知用户,不要默默跳过。
数据手册阅读策略
数据手册可能长达数百页。请务必采用以下两步方法:
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
切勿在没有 query 参数的情况下调用 read_datasheet,除非数据手册较短(少于 20 页)。未筛选地读取一份 200 页的数据手册会过度消耗上下文。
关键词提示:使用具体的技术术语。“maximum input voltage absolute ratings”比“voltage”更合适。使用多个关键词可以缩小结果范围。
制造流程
制造操作(DFM、制造报价、组装)都是异步的:
submit_dfm() → check_dfm_status() # DFM analysis
quote_fabrication() → check_manufacturing_status() # Fab quote
quote_assembly() → polls internally # Combined fab + assembly
先进行 DFM:请求制造报价前,请务必先运行 DFM 分析。DFM 可能会发现影响可制造性或成本的问题。
组装报价会在一次调用中结合制造和 BOM 成本核算。当用户需要包含 PCB 制造和元件组装的完整单件成本时,请使用 quote_assembly。
处理部分失败
实际采购中经常会出现部分结果。请妥善处理:
BOM 中有些元件未找到:
- 明确告知未匹配元件的数量
- 尝试为每个未匹配元件调用
search_parts - 如果仍未匹配,请将它们连同位号和值列出并告知用户
- 计算已匹配元件的成本,并注明总额不完整
有些元件无法供应:
- 告知用户哪些元件缺货
- 自动为每个缺货元件调用
find_alternatives - 提供替代方案及其规格和价格
- 让用户决定是否替换
供应商不全时的价格比较:
- 告知用户已查询的供应商数量
- 说明关键供应商(用户偏好的供应商)是否未返回结果
- 无需等待所有供应商返回结果,即可提供已有的价格数据
KiCad 项目工作流
使用 KiCad 项目时:
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 要求:如果项目中没有现成的 BOM 文件,提取 BOM 时可能会调用 kicad-cli。请确保已安装 KiCad 8+。
仅限本地模式:所有 KiCad 工具都要求使用本地模式(stdio 传输)。它们在托管/HTTP 模式下不可用。
成本优化技巧
帮助用户优化成本时:
- 检查数量折扣:使用不同数量(1、10、100、1000)调用
compare_prices,展示价格折扣曲线 - 推荐替代品:如果某个零件价格较高,调用
find_alternatives并比较价格 - 优先供应商:在
calculate_bom_cost中使用preferred_suppliers,优先考虑用户现有的供应商合作关系 - 合并发货:如果多个零件来自同一供应商,指出合并发货的潜在优势
响应模式
当用户要求“采购一个零件”时:
→ search_parts → get_part_details → compare_prices → check_availability
提供:零件详情、最优价格、库存状态和任何需要注意的问题。
当用户提供 BOM 文件时:
→ upload_bom → 轮询 check_bom_status → 报告匹配/未匹配情况 → calculate_bom_cost
提供:匹配率、未匹配项、总成本和逐行明细。
当用户询问“有库存吗?”时:
→ 使用数量参数调用 check_availability
提供:库存水平、有库存的供应商数量,以及所需数量是否可以满足。
当用户询问数据手册时:
→ list_datasheet_sections → 使用有针对性的查询调用 read_datasheet
提供:用户要求的具体信息,并注明页码。
当用户要求制造报价时:
→ submit_dfm(如果尚未执行)→ quote_fabrication 或 quote_assembly
提供:DFM 问题(如有)、预估成本和交货周期。