mcpField
E
element14

element14

github.com/aklofasその他1.5k471 回インストール6 日前に更新
リポジトリ

element14 について

element14 APIによる部品検索とデータシート取得を扱うスキルです。NewarkやFarnellの各地域カタログを利用し、部品調達やKiCadプロジェクトの資料管理を行う電子回路設計者向けです。

主な機能

  1. 01キーワード・MPN・販売店型番で検索
  2. 02Newark・Farnell・element14の地域カタログ
  3. 03在庫・価格・パラメトリックデータの取得
  4. 04KiCadプロジェクトのデータシート同期
  5. 05個別データシートの取得と検証

活用シーン

  1. 01地域別ストアで部品を検索
  2. 02価格・在庫・RoHS適合状況を確認
  3. 03KiCadプロジェクト用のデータシートを収集
  4. 04MPNや販売店型番からデータシートを取得

インストール

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

$npx skills add https://github.com/aklofas/kicad-happy --skill element14

インストール後、Claude Code で/element14を入力して読み込まれたか確認します。

同梱ファイルscripts/fetch_datasheet_element14.pyscripts/sync_datasheets_element14.py

詳細

element14 / Newark / Farnell — 部品検索、データシート、注文

関連スキル

スキル目的
kicad回路図の解析 — 部品検索用に MPN を抽出します
bomBOM 管理 — 販売代理店を横断した調達を調整します
spiceelement14 のパラメトリックデータを使用して、動作を表す SPICE モデルを作成します

1 つの API で 3 つの地域別ストアフロントを利用できます。カタログとデータシートは共通で、価格と在庫のみ地域によって異なります。

ストアフロント地域ストア ID
Newark北米www.newark.com
Farnell英国 / 欧州uk.farnell.com
element14アジア太平洋au.element14.com

BOM 管理とエクスポートのワークフローについては、bom を参照してください。

DigiKey/Mouser との主な違い

  • シンプルな認証 — API キーをクエリパラメーターとして指定し、OAuth フローは不要です
  • 無料の API キー — partner.element14.com で登録すると、特典利用枠が提供されます
  • グローバル対応 — 同じ API で米国(Newark)、EU(Farnell)、APAC(element14)を利用できます
  • 保護されていない PDF — データシートは farnell.com の CDN でホストされており、ボット対策なしで自由にダウンロードできます
  • API レスポンス内のデータシート URL — responseGroup=medium に datasheets[].url が含まれます

API 認証情報の設定

  1. partner.element14.com/member/register で登録します
    • 無料アカウントです。ユーザー名、メールアドレス、パスワードだけで登録できます。クレジットカードは不要です。
    • 「特典利用枠」(毎秒 2 回、1 日 1,000 回 — 通常の利用には十分です)が提供されます
  2. アプリケーションを登録します — ログイン後、My API Keys に移動し、「Get API Keys」をクリックします
    • アプリ名:任意(例:「kicad-happy」)
    • 種類:「Desktop application」
    • ユーザー数:「1-10」
    • 商用利用:いいえ
    • 広告:いいえ
    • 「Issue a new key for Product Search API」にチェックを入れ、「Basic」階層を選択します
    • 利用規約に同意し、「Register Application」をクリックします
  3. API キーをコピーします — My API Keys ページに表示される 24 文字の英数字の文字列です
  4. スクリプトを実行する前に、環境変数 ELEMENT14_API_KEY を設定します。
    export ELEMENT14_API_KEY=your_api_key_here
    
    認証情報が一元管理されたシークレットファイル(例:~/.config/secrets.env)に保存されている場合は、先に読み込みます。
    export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
    

製品検索 API

ベース URL: https://api.element14.com/catalog/products

すべてのリクエストでは、GET とクエリパラメーターを使用します。認証には callInfo.apiKey を使用します。

検索モード

term パラメーターでは、次の 3 種類の検索ができます。

モード形式例
キーワードany:<keywords>term=any:100nF 0402 X7R
MPNmanuPartNum:<mpn>term=manuPartNum:GRM155R71C104KA88D
販売代理店品番id:<sku>term=id:94AK6874
完全な例
GET https://api.element14.com/catalog/products
  ?term=manuPartNum:GRM155R71C104KA88D
  &storeInfo.id=www.newark.com
  &resultsSettings.offset=0
  &resultsSettings.numberOfResults=10
  &resultsSettings.responseGroup=medium
  &callInfo.responseDataFormat=JSON
  &callInfo.apiKey=YOUR_KEY
レスポンスグループ
グループフィールド
smallSKU、displayName、brandName、MPN、attributes
medium+ datasheets[]、prices[]、stock
large+ 画像、関連製品、原産国
prices価格段階のみ
inventory倉庫 / 地域別の在庫数
レスポンス形式

responseGroup=medium の場合、レスポンスは次のようになります。

{
  "manufacturerPartNumberSearchReturn": {
    "numberOfResults": 5,
    "products": [
      {
        "sku": "94AK6874",
        "displayName": "Murata GRM155R71C104KA88D",
        "translatedManufacturerPartNumber": "GRM155R71C104KA88D",
        "brandName": "Murata Electronics",
        "datasheets": [
          {
            "type": "TechnicalDataSheet",
            "description": "Datasheet",
            "url": "https://www.farnell.com/datasheets/74273.pdf"
          }
        ],
        "prices": [
          {
            "from": 1,
            "to": 9,
            "cost": 0.156
          }
        ],
        "stock": {
          "level": 45000,
          "leastLeadTime": 0,
          "status": 4,
          "statusMessage": "In Stock"
        },
        "attributes": [
          {"attributeLabel": "Capacitance", "attributeUnit": "", "attributeValue": "100nF"},
          {"attributeLabel": "Voltage Rating", "attributeUnit": "V", "attributeValue": "16"}
        ],
        "rohsStatusCode": "YES"
      }
    ]
  }
}

主なフィールド:

  • sku — Newark/Farnell/element14 の部品番号
  • translatedManufacturerPartNumber — MPN
  • brandName — メーカー
  • datasheets[].url — PDF の直接 URL(farnell.com の CDN、ボット対策なし)
  • datasheets[].type — 通常は TechnicalDataSheet
  • prices[] — from、to、cost を含む段階別価格
  • stock.level — 在庫数
  • stock.statusMessage — 人が読める形式の在庫状況
  • attributes[] — パラメトリック仕様(ラベル、単位、値)
  • rohsStatusCode — RoHS 準拠状況(YES/NO)
ストア ID

storeInfo.id パラメーターで使用する一般的なストア ID:

ストア ID地域
www.newark.com米国(デフォルト)
uk.farnell.com英国
www.farnell.comEU
au.element14.comオーストラリア
sg.element14.comシンガポール
in.element14.comインド
レート制限

利用上のご配慮をお願いする以外に、文書化されたレート制限はありません。節度を守り、呼び出しの間に0.5秒の遅延を入れてください。

フィルター

クエリパラメーターに追加してください:

  • resultsSettings.refinements.filter=rohsCompliant — RoHS 準拠部品のみ
  • resultsSettings.refinements.filter=inStock — 在庫ありのみ
ページネーション
  • resultsSettings.offset — 開始インデックス(0始まり)
  • resultsSettings.numberOfResults — 1ページあたり最大50件
  • 最初の100件のみ、ページネーションを確実に利用できます

データシートのダウンロードと同期

element14 の farnell.com CDN は、データシート PDF を直接配信します。ボット対策はなく、特別なヘッダーも必要ありません。データシートの URL は API レスポンス(datasheets[].url)から取得できます。

データシートディレクトリの同期

sync_datasheets_element14.py を使用して、KiCad プロジェクトと並ぶ datasheets/ ディレクトリを管理します。ワークフローと manifest.json の形式は DigiKey、Mouser、LCSC のスキルと同じです。

# Sync datasheets for a KiCad project
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch>

# Preview what would be downloaded
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --dry-run

# Retry previously failed downloads
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --force

# Use a specific store (default: www.newark.com)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --store uk.farnell.com

# Custom output directory
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> -o ./my-datasheets

# Parallel downloads (3 workers)
python3 <skill-path>/scripts/sync_datasheets_element14.py <file.kicad_sch> --parallel 3

# Batch mode — sync from a plain MPN list (no KiCad project required)
python3 <skill-path>/scripts/sync_datasheets_element14.py --mpn-list mpns.txt --output ./datasheets

MPN リストのバッチモード(KH-312)— KiCad プロジェクトはないが、MPN のリストがある場合に使用します。1行に1つの MPN を記載します。空行と # コメント(行全体およびインライン)はスキップされます。また、is_real_mpn() によって一般的な値が除外され、重複も取り除かれます。--output を省略した場合、出力先は現在の作業ディレクトリにある ./datasheets/ になります。注:ELEMENT14_API_KEY は起動時に無条件で確認されるため、ネットワーク呼び出しが行われない --dry-run でも、環境変数を設定する必要があります。

スクリプトの機能:

  • kicad 回路図アナライザーを実行して、コンポーネント、MPN、販売代理店の PN を抽出します
  • 任意の識別子を受け付けます — MPN、Newark/Farnell PN、または KiCad のシンボルプロパティにある他の販売代理店の PN
  • MPN 検索(manuPartNum:)を優先して完全一致を探し、見つからない場合はキーワード検索に切り替えます
  • farnell.com CDN からダウンロードします — PDF の直接 URL を使用し、ボット対策はありません
  • manifest.json マニフェストを書き込みます — DigiKey、Mouser、LCSC のスキルと同じ形式です
  • PDF の内容を検証します — MPN、メーカー、説明に含まれるキーワードを確認します
  • レート制限を設けています — API 呼び出しの間隔は0.5秒です(--delay で設定可能)
  • 進捗を逐次保存します — 中断しても安全です
単一データシートのダウンロード

1件のみダウンロードする場合は、fetch_datasheet_element14.py を使用します。

# Search by MPN
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" -o datasheet.pdf

# Search by Newark/Farnell part number
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "94AK6874" -o datasheet.pdf

# Direct URL download
python3 <skill-path>/scripts/fetch_datasheet_element14.py "https://www.farnell.com/datasheets/74273.pdf" -o datasheet.pdf

# JSON output
python3 <skill-path>/scripts/fetch_datasheet_element14.py --search "GRM155R71C104KA88D" --json

スクリプトの機能:

  • OS に依存しません — requests → urllib → playwright のフォールバックチェーンを使用します
  • PDF ヘッダーを検証します — HTML エラーページを拒否します
  • element14 の URL で失敗した場合、メーカーの代替ソースを使用します
  • 終了コード:0 = 成功、1 = ダウンロード失敗、2 = 検索/API エラー
  • 依存関係:
    • pip install requests(推奨。element14 では urllib のフォールバックも問題なく動作します)
    • pip install playwright && playwright install chromium(任意。必要になることはほとんどありません)

Web 検索によるフォールバック

API を利用できない場合は、製品ページを直接取得して検索してください。

https://www.newark.com/search?st=<query>
https://uk.farnell.com/search?st=<query>

ヒント

  • responseGroup=medium を使用してください。large の余分な情報量を避けつつ、データシートと価格を取得できます
  • MPN の完全一致には manuPartNum: プレフィックスを、キーワード検索には any: を使用してください
  • DigiKey、Mouser、LCSC 間の照合には translatedManufacturerPartNumber(MPN)を使用してください
  • DigiKey/Mouser の送料が高い地域のユーザーに便利です

コメント