Mouser Search Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mouser Search Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
| Tool | Endpoint | What it does |
|---|---|---|
search_by_keyword | POST /api/v1/search/keyword | Keyword search across the catalog (up to 50 parts). Supports paging and RoHS/in-stock filters. |
search_by_part_number | POST /api/v1/search/partnumber | Look up 1–10 part numbers (pipe-separated), with optional exact-match. |
search_by_keyword_and_manufacturer | POST /api/v2/search/keywordandmanufacturer | Keyword search scoped to one manufacturer by name. |
search_by_part_number_and_manufacturer | POST /api/v2/search/partnumberandmanufacturer | Part-number lookup scoped to one manufacturer by name. |
list_manufacturers | GET /api/v2/search/manufacturerlist | Enumerate manufacturer names (use the result to populate the manufacturer_name argument on the two manufacturer-filtered tools). |
Using uv (recommended):
uv pip install -e .Or with pip:
pip install -e .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.
The server speaks MCP over stdio:
MOUSER_API_KEY=... mouser-search-mcpRegister the server (replace the path and key):
claude mcp add mouser-search \
--env MOUSER_API_KEY=your-key \
-- mouser-search-mcpAdd 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/).
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.Versioning and releases are fully automated by python-semantic-release. Every push to main runs .github/workflows/release.yml, which:
version in pyproject.toml, generates the changelog, commits, and pushes a vX.Y.Z tag.Commits must follow Conventional Commits. The leading keyword decides the bump:
| Prefix | Bump | Example |
|---|---|---|
feat: | minor | feat: add list_manufacturers tool |
fix: | patch | fix: handle empty Errors array |
perf: | patch | perf: reuse httpx client |
feat!: / BREAKING CHANGE: in body | major | feat!: 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.
These steps need to be done once in the GitHub UI before the workflow can publish:
mouser-search-mcp after the first successful publish).PYPI_API_TOKEN, paste the token value.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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.