mcpField
M
Mouser Electronics Search

Mouser Electronics Search

Local
github.com/cmaurerSearch3Updated 23w ago

About Mouser Electronics Search

Mouser Electronics Search wraps the Mouser Search API in an MCP server for searching the parts catalog. It supports keyword, part-number, and manufacturer queries, but does not expose cart or ordering endpoints.

Key features

  1. 01Search parts by keyword
  2. 02Look up part numbers
  3. 03Filter searches by manufacturer
  4. 04List manufacturer names
  5. 05Paging and RoHS or stock filters

Use cases

  1. 01Find electronic parts by keyword
  2. 02Check a part number and manufacturer
  3. 03Filter parts by RoHS status or stock

MCP support

The server exposes Mouser Search API tools to MCP clients over stdio, including keyword, part-number, manufacturer-filtered, and manufacturer-list queries.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

mouser-search-mcp

Model Context Protocol server for the Mouser Electronics Search API.

Exposes the Mouser Search API as MCP tools so MCP-aware clients (Claude Code, Claude Desktop, etc.) can query Mouser's parts catalog.

Tools

ToolEndpointWhat it does
search_by_keywordPOST /api/v1/search/keywordKeyword search across the catalog (up to 50 parts). Supports paging and RoHS/in-stock filters.
search_by_part_numberPOST /api/v1/search/partnumberLook up 1–10 part numbers (pipe-separated), with optional exact-match.
search_by_keyword_and_manufacturerPOST /api/v2/search/keywordandmanufacturerKeyword search scoped to one manufacturer by name.
search_by_part_number_and_manufacturerPOST /api/v2/search/partnumberandmanufacturerPart-number lookup scoped to one manufacturer by name.
list_manufacturersGET /api/v2/search/manufacturerlistEnumerate manufacturer names (use the result to populate the manufacturer_name argument on the two manufacturer-filtered tools).

Prerequisites

Install

Using uv (recommended):

uv pip install -e .

Or with pip:

pip install -e .

Configure

The server reads the API key from the MOUSER_API_KEY environment variable. Copy .env.example to .env and fill in your key, or export it in your shell.

Run

The server speaks MCP over stdio:

MOUSER_API_KEY=... mouser-search-mcp

Use with Claude Code

Register the server (replace the path and key):

claude mcp add mouser-search \
  --env MOUSER_API_KEY=your-key \
  -- mouser-search-mcp

Use with Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "mouser-search": {
      "command": "mouser-search-mcp",
      "env": {
        "MOUSER_API_KEY": "your-key"
      }
    }
  }
}

If mouser-search-mcp is not on your PATH, point command at the absolute path to the script (e.g. inside your venv's bin/).

Notes

  • Mouser returns at most 50 records per search response. Use records + starting_record (v1 keyword search) or records + page_number (v2 keyword+manufacturer search) to page.
  • search_options accepts None, Rohs, InStock, or RohsAndInStock — only one at a time.
  • part_search_options accepts None or Exact.
  • The cart and order endpoints documented by Mouser require an Ordering API key and are not exposed by this server — it covers search only.

Releasing

Versioning and releases are fully automated by python-semantic-release. Every push to main runs .github/workflows/release.yml, which:

  1. Inspects commits since the last tag.
  2. Decides the next version (or does nothing if no release-worthy commits).
  3. Updates version in pyproject.toml, generates the changelog, commits, and pushes a vX.Y.Z tag.
  4. Builds wheel + sdist and uploads them to PyPI.
  5. Creates a GitHub Release with auto-generated notes.
Commit grammar

Commits must follow Conventional Commits. The leading keyword decides the bump:

PrefixBumpExample
feat:minorfeat: add list_manufacturers tool
fix:patchfix: handle empty Errors array
perf:patchperf: reuse httpx client
feat!: / BREAKING CHANGE: in bodymajorfeat!: rename tools
docs:, chore:, refactor:, test:, ci:, style:none(no release cut)

Anything else is ignored. If you push a flurry of small commits, semantic-release collapses them into a single release on the next workflow run.

One-time setup

These steps need to be done once in the GitHub UI before the workflow can publish:

  1. PyPI account + token — create a PyPI account, then on the API tokens page generate an account-scoped token (the project doesn't exist on PyPI yet, so it can't be project-scoped on the first release; re-scope it to mouser-search-mcp after the first successful publish).
  2. Repo secret — in GitHub: Settings → Secrets and variables → Actions → New repository secret, name PYPI_API_TOKEN, paste the token value.
  3. Workflow permissions — Settings → Actions → General → Workflow permissions must be set to Read and write permissions so semantic-release can push the version bump commit and tag.

After that, just merge to main with a feat: or fix: commit and the rest happens automatically. To skip a release, use a non-bumping prefix (docs:, chore:, etc.) or include [skip ci] in the commit message.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.