Mouser Electronics Parts Search & Analysis

Search Mouser Electronics for electronic components — secondary source for prototype orders.

You say
Buy it · $45 Read it before you buy $45 Written by aklofas · unverified publisher
Context cost
15.7k tokensestimated from the bundle, loaded when it triggers
Bundle
3 files · 62.9 kB2 scripts among them — read before you run
Licence
MITpaid listing
Last change
no release on file
Servers it uses
Noneruns standalone

What it does

Search Mouser Electronics for electronic components — secondary source for prototype orders. Find parts, check pricing/stock, download datasheets, analyze specifications. Use with KiCad for BOM creation and part selection. Also supports batch MPN-list seeding (`--mpn-list`) for bulk datasheet workflows without a KiCad project. Use this skill when the user specifically mentions Mouser, when DigiKey is out of stock or has worse pricing, when comparing prices across distributors, or when searching for parts that DigiKey doesn't carry.

Installed, it changes the agent in these ways.

What this skill changes about the agent is not written down here yet. The listing was collected from its source, and the description is in its own SKILL.md.

Guardrail

Constrains what the agent is allowed to do.

e-commerce

The skill itself

This is the whole product. A skill is instructions the model reads, so there is nothing behind the listing you cannot see first — the front matter loads with every session, and the body below it loads when the skill triggers.

SKILL.md11.4 kB · 266 lines
--- name: mouser description: Search Mouser Electronics for electronic components — secondary source for prototype orders. Find parts, check pricing/stock, download datasheets, analyze specifications. Use with KiCad for BOM creation and part selection. Also supports batch MPN-list seeding (`--mpn-list`) for bulk datasheet workflows without a KiCad project. Use this skill when the user specifically mentions Mouser, when DigiKey is out of stock or has worse pricing, when comparing prices across distributors, or when searching for parts that DigiKey doesn't carry. For package cross-reference tables and BOM workflow, see the `bom` skill. ---
6# Mouser Electronics Parts Search & Analysis
7
8## Related Skills
9
10| Skill | Purpose |
11|-------|---------|
12| kicad | Schematic analysis — extracts MPNs for part lookup |
13| bom | BOM management — orchestrates sourcing across distributors |
14| digikey | Primary prototype source (prefer for datasheets — direct PDF links) |
15| spice | Uses Mouser parametric data for behavioral SPICE models |
16
17Mouser is the **secondary source for prototype orders** — use when DigiKey is out of stock or has worse pricing. For production orders, see lcsc/jlcpcb. For BOM management and export workflows, see bom. For datasheets, prefer DigiKey's API (direct PDF links) — Mouser blocks automated PDF downloads.
18
19## API Credential Setup
20
21Mouser uses **simple API key authentication** — no OAuth, no tokens, no callback URLs. The Search API key is a UUID passed as a query parameter.
22
23### Getting Your API Key
24
251. Go to [mouser.com](https://www.mouser.com) → My Mouser → My Account
262. Under "APIs" section, click "Manage"
273. Register for **Search API** key — this is the one needed for part lookups and datasheet downloads
284. Search API keys may require approval (status shows "pending authorization" initially)
29
30### Setting Credentials
31
32Set the environment variable before running the scripts:
33```bash
34export MOUSER_SEARCH_API_KEY=your-search-api-key-uuid
35```
36
37If credentials are stored in a central secrets file (e.g., ~/.config/secrets.env), load them first:
38```bash
39export $(grep -v '^#' ~/.config/secrets.env | grep -v '^$' | xargs)
40```
41
42## Mouser Search API Reference
43
44All search endpoints use the Search API key as a query parameter: ?apiKey=<key>. Content-Type is application/json for all POST requests.
45
46### V1 Endpoints
47
48#### Keyword Search
49```
50POST /api/v1/search/keyword?apiKey=<key>
51```
52```json
53{
54 "SearchByKeywordRequest": {
55 "keyword": "100nF 0402 ceramic capacitor",
56 "records": 50,
57 "startingRecord": 0,
58 "searchOptions": "InStock"
59 }
60}
61```
62- searchOptions: "None" | "Rohs" | "InStock" | "RohsAndInStock"
63- records: max 50 per request
64- startingRecord: offset for pagination
65
66#### Part Number Search
67```
68POST /api/v1/search/partnumber?apiKey=<key>
69```
70```json
71{
72 "SearchByPartRequest": {
73 "mouserPartNumber": "GRM155R71C104KA88D|RC0402FR-0710KL",
74 "partSearchOptions": "Exact"
75 }
76}
77```
78- Up to **10 part numbers**, pipe-separated (|)
79- Works with both Mouser part numbers AND manufacturer part numbers (MPNs)
80- partSearchOptions: "Exact" | "BeginsWith" | "Contains"
81
82### V2 Endpoints
83
84V2 adds manufacturer filtering and pagination by page number.
85
86#### Keyword + Manufacturer Search
87```
88POST /api/v2/search/keywordandmanufacturer?apiKey=<key>
89```
90```json
91{
92 "SearchByKeywordMfrNameRequest": {
93 "keyword": "LMR51450",
94 "manufacturerName": "Texas Instruments",
95 "records": 25,
96 "pageNumber": 1,
97 "searchOptions": "InStock"
98 }
99}
100```
101Note: the wrapper object name is SearchByKeywordMfrNameRequest (not SearchByKeywordMfrRequest — the V1 name is deprecated).
102
103#### Part Number + Manufacturer Search
104```
105POST /api/v2/search/partnumberandmanufacturer?apiKey=<key>
106```
107
108#### Manufacturer List
109```
110GET /api/v2/search/manufacturerlist?apiKey=<key>
111```
112Returns the full list of manufacturer names for use in filtered searches.
113
114### V1 Deprecated Endpoints
115
116These still work but V2 equivalents are preferred:
117- POST /api/v1/search/keywordandmanufacturer → use V2
118- POST /api/v1/search/partnumberandmanufacturer → use V2
119- GET /api/v1/search/manufacturerlist → use V2
120
121## Search Response Structure
122
123All search endpoints return the same response format:
124
125```json
126{
127 "Errors": [],
128 "SearchResults": {
129 "NumberOfResult": 142,
130 "Parts": [...]
131 }
132}
133```
134
135### Key Part Fields
136
137| Field | Type | Description |
138|-------|------|-------------|
139| MouserPartNumber | string | Mouser's internal part number (prefixed, e.g., 81-GRM155R71C104KA88) |
140| ManufacturerPartNumber | string | Manufacturer's part number (MPN) — use for cross-distributor matching |
141| Manufacturer | string | Manufacturer name |
142| Description | string | Product description |
143| Category | string | Product category |
144| DataSheetUrl | string | URL to datasheet PDF (Mouser-hosted — see Datasheet section) |
145| ProductDetailUrl | string | URL to Mouser product page |
146| ImagePath | string | Product image URL |
147| Availability | string | Human-readable stock text (e.g., "2648712 In Stock") |
148| AvailabilityInStock | string | Numeric stock quantity (as string) |
149| AvailabilityOnOrder | array | Incoming stock: [{Quantity, Date}] |
150| LeadTime | string | Factory lead time (e.g., "84 Days") |
151| LifecycleStatus | string\|null | "New Product", "End of Life", etc. |
152| IsDiscontinued | string | "true" or "false" (string, not boolean) |
153| SuggestedReplacement | string | Replacement MPN if discontinued |
154| Min | string | Minimum order quantity (as string) |
155| Mult | string | Order multiple (as string) |
156| Reeling | bool | Tape-and-reel packaging available |
157| ROHSStatus | string | RoHS compliance status |
158| PriceBreaks | array | Tiered pricing: [{Quantity, Price, Currency}] |
159| ProductAttributes | array | Parametric specs: [{AttributeName, AttributeValue}] |
160| AlternatePackagings | array\|null | Alternate packaging MPNs: [{APMfrPN}] |
161| SurchargeMessages | array | Tariff/surcharge info: [{code, message}] |
162| ProductCompliance | array | HTS codes, ECCN: [{ComplianceName, ComplianceValue}] |
163| UnitWeightKg | object | {UnitWeight: <float>} in kg |
164
165### Quirks and Gotchas
166
167- **Price is a string** with currency symbol: "$0.10", not a float. Parse it before comparing.
168- **Stock is a string**: AvailabilityInStock returns "2648712" not 2648712.
169- **IsDiscontinued is a string**: "true" or "false", not boolean.
170- **Mouser part numbers have prefixes**: 81-GRM155R71C104KA88 — the prefix is Mouser-specific. Use ManufacturerPartNumber for cross-referencing.
171- **V2 wrapper names differ from V1**: V2 uses SearchByKeywordMfrNameRequest, not SearchByKeywordMfrRequest.
172- **Tariff info**: SurchargeMessages may contain US tariff percentages — useful for cost estimation.
173- **On-order data**: AvailabilityOnOrder shows incoming stock quantities and expected dates.
174
175## Datasheet Download & Sync
176
177Mouser's DataSheetUrl field points to Mouser-hosted URLs (mouser.com/datasheet/...). These URLs **block automated downloads** — they return an HTML "Access denied" page when fetched with Python/curl/wget, even with browser User-Agent headers. The download scripts handle this with a multi-strategy approach:
178
1791. Try the Mouser datasheet URL directly (works for some parts)
1802. Scrape the Mouser product page HTML for alternative datasheet links
1813. Try manufacturer-specific alternative URL patterns
182
183Note: Mouser's product pages return 403 for most automated requests, so strategy 2 has limited success. DigiKey and LCSC are more reliable datasheet sources.
184
185### Datasheet Directory Sync
186
187Use sync_datasheets_mouser.py to maintain a datasheets/ directory alongside a KiCad project. Same workflow and manifest.json format as the DigiKey skill.
188
189```bash
190# Sync datasheets for a KiCad project
191python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch>
192
193# Preview what would be downloaded
194python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --dry-run
195
196# Retry previously failed downloads
197python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --force
198
199# Custom output directory
200python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> -o ./my-datasheets
201
202# Parallel downloads (3 workers)
203python3 <skill-path>/scripts/sync_datasheets_mouser.py <file.kicad_sch> --parallel 3
204
205# Batch mode — sync from a plain MPN list (no KiCad project required)
206python3 <skill-path>/scripts/sync_datasheets_mouser.py --mpn-list mpns.txt --output ./datasheets
207```
208
209**MPN-list batch mode** (KH-312) — when you have a list of MPNs but no
210KiCad project to point at (harness datasheet seeding, bulk part-library
211seeding). One MPN per line; blank lines and # comments (full-line and
212inline) are skipped; generic values (100nF, DNP) are filtered via
213is_real_mpn() and de-duplicated. Output defaults to ./datasheets/ in
214the current working directory when --output is omitted.
215
216**Rate limiting** — the script paces API calls with a 1.0s delay between
217requests by default (Mouser's Search API allows 30 calls/min on the free
218tier; 1.0s stays comfortably under). Override with --delay <seconds> if
219you have a higher-tier key or want to slow things down further.
220
221### Single Datasheet Download
222
223Use fetch_datasheet_mouser.py for one-off downloads.
224
225```bash
226# Search by MPN (uses Mouser API)
227python3 <skill-path>/scripts/fetch_datasheet_mouser.py --search "TPS61023DRLR" -o datasheet.pdf
228
229# Direct URL download
230python3 <skill-path>/scripts/fetch_datasheet_mouser.py "https://example.com/datasheet.pdf" -o datasheet.pdf
231
232# JSON output
233python3 <skill-path>/scripts/fetch_datasheet_mouser.py --search "ADP1706" --json
234```
235
236### Download Strategy
237
238The scripts try multiple sources in order:
2391. **Schematic URL** — uses the datasheet URL embedded in the KiCad symbol (sync only)
2402. **Mouser API search** — gets the DataSheetUrl from the API response
2413. **Alternative manufacturer sources** — tries known URL patterns for major manufacturers (TI, Microchip, etc.) when the Mouser URL is blocked
2424. **Headless browser fallback** — if playwright is installed, uses headless Chromium as a last resort
243
244When all methods fail, provide the ProductDetailUrl to the user so they can download from the Mouser product page in their browser.
245
246## Web Search Fallback
247
248If no API key is available, search Mouser by fetching product pages directly:
249
250- Search URL: https://www.mouser.com/c/?q=<query>
251- Product pages contain full specs, pricing tiers, stock, datasheets
252- Results from Mouser can be noisy (JS-heavy pages)
253
254Include key parameters in the query:
255- **Passives**: value, package (0402/0603/0805), tolerance, voltage/power rating, dielectric (C0G/X7R)
256- **ICs**: part number or function, package (QFN/SOIC/TSSOP), key specs (voltage, current, interface)
257- **Connectors**: type (USB-C, JST-PH), pin count, pitch, mounting (SMD/THT), orientation
258
259## Tips
260
261- Pipe-separate up to 10 part numbers in a single PartNumber search for batch lookups
262- Min and Mult fields matter — some parts have minimum order qty or must be ordered in multiples
263- SurchargeMessages may include US tariff percentages — factor into cost estimates
264- AvailabilityOnOrder shows incoming stock with expected dates
265- Check IsDiscontinued and LifecycleStatus before selecting parts
266
In the file
SKILL.md1,537 words
Files3
LicenceMIT
Why you can read it

Nothing in a skill executes. The client loads the text and the model follows it, so a skill can be audited the way a runbook is — by reading it.

What it costs in context

Skills are not billed by the call. They are paid for in context: every token the instructions occupy is a token your code, your diff and your conversation cannot use. Here is what this one takes and when it takes it.

≈160
always loaded
The name and description, so the model knows the skill exists and when to reach for it.
15,565
on trigger
The instruction body and 2 supporting files, read only when the skill fires.
7.9%
of a 200k window
Ten skills this size would take about 79% of the window before you open a file.
050k100k150k200k context window

15.7k tokens, estimated from the bundle at four bytes to the token, held for the rest of the session once it triggers. Heavy. Teams tend to install this one per project rather than globally, and load it only when the job comes up.

Servers bill, skills cost

A server charges by the month. A skill charges once per session, in context, and then keeps charging it for as long as the session lives.

Before and after

The same question, put to the same model twice: once as it comes, and once with these instructions loaded.

No worked example has been published for this skill yet.

Adoption
Installsnone yet
Ratingno reviews yet

The procedure it runs

The procedure has not been published here. It is in the skill’s own SKILL.md, which its author has not sent to the marketplace yet.

Prose, not code

These steps are written for a model to follow, not executed by a runtime. It can still be told to skip one, and it will say so when it does.

Servers it uses

None. This skill calls no MCP servers at all.

Everything it needs is in the instructions, so it works in a project with nothing connected — the model reads the file and changes how it works with what it can already reach.

It writes no files and reaches no network. All it changes is how the model reasons and writes.

What it asks for
Writes filesno
Network accessno

Read from the allowed-tools line of this skill’s own SKILL.md. A skill grants no permissions of its own — it can only ask for tools your client already has.

What it will not do

Every skill is narrow, and the useful ones say where they stop. These are the jobs this one is the wrong tool for.

What this skill is not for has not been published here. Nothing is implied by that: it is a section the author has not filled in.

What is in the bundle

3 files, 62.9 kB on disk. Mostly text — the instructions the model reads — with 2 scripts in it that your client would run only if the instructions tell it to.

  • SKILL.md11.4 kB
  • scripts/fetch_datasheet_mouser.py20.9 kB
  • scripts/sync_datasheets_mouser.py30.6 kB
What is not in it

A skill installs nothing and depends on nothing: it is a folder your client reads. This one carries 2 scripts beside the text, so the bundle is 3 files you can review in full before installing. The MIT licence covers the templates and examples as well as the instructions.

Install

Installing copies the bundle into your project. Nothing runs at install time — the files sit on disk until the model reads them.

$45 once
Mouser Electronics Parts Search & Analysis · MIT · aklofas
one-time
Price$45 once
LicenceMIT — the author’s, unchanged by this purchase
Paid throughStripe, once, on the card you add at the checkout
Keeps workingfor good — the files are yours once they are on disk
Updatesevery update its author ships, delivered through this account

You can read the whole bundle before paying — the SKILL.md above is the product, not a preview of it. What the money buys is the delivery: the folder packaged and handed to your machine by key, every update its author ships, and our support if it does not do what this listing says. The terms of use are MIT, set by the author and unchanged by buying it here.

Payment runs through Stripe, on a page like this one rather than a redirect. Once there is an account it joins the same mcprush invoice as everything else you run, so there is never a second card to enter.

Which clients pick it up on their own

A skill is a folder of text. A client with a skills folder reads it without being told; everywhere else the same text works, it is just handed to the model rather than found.

Claude Code.claude/skills/
Claude Desktop
ChatGPT
Cursor.cursor/skills/
VS Code.github/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
Grok.grok/skills/
Zed.agents/skills/
Windsurf.windsurf/skills/
Agent SDK.claude/skills/
HTTP / API
This release
Versionnot versioned
Publishedno release date on file
Price$45
Referenceaklofas/mouser-electronics-parts-search-analysis

Versions

Its author publishes no version number, so there is nothing here to pin to: what you install is the folder as it stands today. Instructions change more often than APIs do — a skill can be rewritten entirely without anything it depends on moving.

v
  • No earlier releases have been published to the marketplace.
Pinning

Nothing to pin to: this skill carries no version number of its own. What you install is what the folder holds on the day you install it.

Reviews

no reviews yet · no installs yet

Nobody has reviewed this skill yet. The rating is the mean of the reviews written here, so there is none until somebody writes the first.

Who can post

Only accounts that have had the skill installed for fourteen days, so a review is written after living with it rather than after reading it. Publishers may reply once.

Who wrote it

AK
aklofas

Publishes on mcprush.

0 servers listed1 skill listednot claimed
Profile
Publisher
Servers0