Mouser Electronics Search について
Mouser Electronics Searchは、Mouser Search APIをMCPサーバー経由で利用し、電子部品カタログを検索します。キーワード、型番、メーカーでの検索に対応し、カートや注文用エンドポイントは公開しません。
主な機能
- 01キーワードによる部品検索
- 02型番による部品照会
- 03メーカーで検索を絞り込み
- 04メーカー名の一覧取得
- 05ページ分割とRoHS・在庫フィルター
活用シーン
- 01キーワードから電子部品を探す
- 02型番とメーカーを確認する
- 03RoHSまたは在庫状況で部品を絞り込む
MCP 対応
MCPサーバーはstdio経由でMouser Search APIのツールを公開し、キーワード、型番、メーカー指定の検索とメーカー一覧取得に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mouser-search-mcp
Mouser Electronics Search API 用の Model Context Protocol サーバーです。
Mouser Search API を MCP ツールとして公開するため、MCP 対応クライアント(Claude Code、Claude Desktop など)から Mouser の部品カタログを検索できます。
ツール
| ツール | エンドポイント | 機能 |
|---|---|---|
search_by_keyword | POST /api/v1/search/keyword | カタログ全体をキーワード検索します(最大 50 点)。ページングと RoHS/在庫ありのフィルターに対応しています。 |
search_by_part_number | POST /api/v1/search/partnumber | 1~10 件の部品番号を検索します(パイプ区切り)。完全一致も指定できます。 |
search_by_keyword_and_manufacturer | POST /api/v2/search/keywordandmanufacturer | メーカー名を指定して、対象を絞ったキーワード検索を行います。 |
search_by_part_number_and_manufacturer | POST /api/v2/search/partnumberandmanufacturer | メーカー名を指定して、対象を絞った部品番号検索を行います。 |
list_manufacturers | GET /api/v2/search/manufacturerlist | メーカー名の一覧を取得します(結果は、メーカーで絞り込む 2 つのツールの manufacturer_name 引数に設定してください)。 |
前提条件
- Python 3.10+
- Mouser Search API キー — https://www.mouser.com/api-search/ から申請してください。
インストール
uv を使用する場合(推奨):
uv pip install -e .
または pip を使用する場合:
pip install -e .
設定
サーバーは MOUSER_API_KEY 環境変数から API キーを読み込みます。.env.example を .env にコピーしてキーを設定するか、シェルで環境変数をエクスポートしてください。
実行
サーバーは stdio 経由で MCP 通信を行います。
MOUSER_API_KEY=... mouser-search-mcp
Claude Code での使用
サーバーを登録します(パスとキーを置き換えてください)。
claude mcp add mouser-search \
--env MOUSER_API_KEY=your-key \
-- mouser-search-mcp
Claude Desktop での使用
claude_desktop_config.json に追加します。
{
"mcpServers": {
"mouser-search": {
"command": "mouser-search-mcp",
"env": {
"MOUSER_API_KEY": "your-key"
}
}
}
}
mouser-search-mcp が PATH にない場合は、command にスクリプトの絶対パス(例:仮想環境の bin/ 内)を指定してください。
注意事項
- Mouser は、検索レスポンスあたり最大 50 件のレコードを返します。ページングには、
recordsとstarting_record(v1 のキーワード検索)、またはrecordsとpage_number(v2 のキーワード+メーカー検索)を使用してください。 search_optionsにはNone、Rohs、InStock、RohsAndInStockを指定できます。一度に指定できるのは 1 つだけです。part_search_optionsにはNoneまたはExactを指定できます。- Mouser のドキュメントに記載されているカートおよび注文エンドポイントには Ordering API キーが必要です。このサーバーでは公開していません。対応範囲は検索のみです。
リリース
バージョン管理とリリースは、python-semantic-release によって完全に自動化されています。main へのプッシュごとに .github/workflows/release.yml が実行され、次の処理を行います。
- 最後のタグ以降のコミットを調べます。
- 次のバージョンを決定します(リリース対象のコミットがない場合は何もしません)。
pyproject.tomlのversionを更新し、変更履歴を生成して、コミットを作成し、vX.Y.Zタグをプッシュします。- wheel と sdist をビルドし、PyPI にアップロードします。
- 自動生成されたリリースノートを添えて GitHub Release を作成します。
コミットの形式
コミットは Conventional Commits に準拠する必要があります。先頭のキーワードによってバージョンの更新幅が決まります。
| 接頭辞 | 更新幅 | 例 |
|---|---|---|
feat: | マイナー | feat: add list_manufacturers tool |
fix: | パッチ | fix: handle empty Errors array |
perf: | パッチ | perf: reuse httpx client |
feat!: / 本文の BREAKING CHANGE: | メジャー | feat!: rename tools |
docs:、chore:、refactor:、test:、ci:、style: | なし | (リリースを作成しません) |
それ以外は無視されます。小さなコミットを続けてプッシュした場合、次回のワークフロー実行時に semantic-release がそれらをまとめて 1 回のリリースにします。
初回セットアップ
ワークフローで公開するには、GitHub UI で以下の手順を一度だけ実行する必要があります。
- PyPI アカウントとトークン — PyPI アカウントを作成し、API トークンのページでアカウントスコープのトークンを生成します(プロジェクトはまだ PyPI に存在しないため、初回リリース時はプロジェクトスコープにできません。公開に成功した後、
mouser-search-mcpにスコープを変更してください)。 - リポジトリシークレット — GitHub で、Settings → Secrets and variables → Actions → New repository secret を開き、名前に
PYPI_API_TOKENを指定して、トークンの値を貼り付けます。 - ワークフローの権限 — semantic-release がバージョン更新コミットとタグをプッシュできるよう、Settings → Actions → General → Workflow permissions を Read and write permissions に設定する必要があります。
設定後は、feat: または fix: のコミットを main にマージするだけで、残りは自動的に処理されます。リリースをスキップするには、バージョンを更新しないプレフィックス(docs:、chore: など)を使うか、コミットメッセージに [skip ci] を含めてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。