mcpField
E
electronics-sourcing

electronics-sourcing

github.com/andrewyngその他14.0k98 回インストール21 週間前に更新
リポジトリ

electronics-sourcing について

electronics-sourcingは、parts-mcpを使った電子部品調達の手順をまとめたスキルです。部品選定、見積もり、BOM処理を行うユーザー向けに、検索から価格・在庫確認、代替品や製造見積もりまでの流れを示します。

主な機能

  1. 01パラメーターやキーワードで部品検索
  2. 02仕入先価格の比較と在庫確認
  3. 03BOM照合とコスト計算
  4. 04データシートの段階的な読解
  5. 05DFMと製造見積もりの手順案内

活用シーン

  1. 01電気仕様を基に部品を選定
  2. 02BOM内の未照合部品を解決
  3. 03在庫切れ部品の確認と代替品検索
  4. 04PCB製造や実装の見積もり依頼

MCP 対応

部品検索、価格・在庫確認、BOM処理、製造関連の操作にparts-mcpツールを使う手順を案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$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 を試してください。それでも見つからない場合は、ユーザーに報告してください。黙って除外しないでください。

データシートの読み取り方針

データシートは数百ページに及ぶことがあります。必ず次の2段階の方法を使ってください。

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

データシートが短い(20ページ未満)場合を除き、query パラメーターを指定せずに read_datasheet を呼び出さないでください。200ページのデータシートを絞り込まずに読み込むと、コンテキストを過剰に消費します。

キーワードのヒント:具体的な技術用語を使ってください。「voltage」よりも「maximum input voltage absolute ratings」のほうが適切です。キーワードを複数使うと、結果を絞り込めます。

製造工程

製造関連の操作(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 のコストを1回の呼び出しでまとめて算出します。PCB 製造と部品実装の両方を含む1台あたりの総コストをユーザーが求めている場合は、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. 数量ごとの価格を確認する:数量(1、10、100、1000)を変えて compare_prices を呼び出し、価格の段階的な変化を示します
  2. 代替品を提案する:部品が高価な場合は、find_alternatives を呼び出して価格を比較します
  3. 優先サプライヤー:calculate_bom_cost で preferred_suppliers を使用し、ユーザーがすでに取引しているサプライヤーを優先します
  4. まとめて配送する:複数の部品を同じサプライヤーから調達する場合は、まとめて配送することで節約できる可能性があることを伝えます

回答パターン

ユーザーが「部品を調達して」と依頼した場合: → 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上の問題(ある場合)、概算コスト、リードタイム。

コメント