Skip to main content
Glama

Compare Parts

compare_parts
Read-onlyIdempotent

Compare 2-5 electronic components side by side in a single call. For each part, returns merged provider data (pricing, stock, structured parameters, package) plus the cached datasheet summary if one exists, plus datasheet_status ('ready', 'extracting', or 'not_extracted').

Use this instead of calling get_part_details in a loop — it fans out provider queries in parallel and merges by MPN. For discovering candidates, use search_parts or find_alternative first; compare_parts assumes you already know which MPNs you want to compare.

Behavior:

  • Uses only cached datasheet summaries — does not trigger extraction. Call prefetch_datasheets first if you need summaries for parts that haven't been extracted yet.

  • Validates every MPN upfront. If any input is not a real part number (value, description, reference designator), the whole call is rejected with a 'rejected' map listing the offenders — other parts are not compared. Filter your list before calling.

  • If a valid MPN is not found at any provider, that part still appears in the response with an 'error' field; the other parts are compared normally.

IMPORTANT — part_numbers must be specific manufacturer part numbers (e.g. 'TPS54302DDCR', 'STM32F446RCT6') or LCSC numbers (e.g. 'C2837938'). Do NOT pass component values ('100nF', '10K'), descriptions ('buck converter'), or reference designators ('U3', 'R1').

Example: compare_parts(['TPS54302', 'LM2596', 'MP2359'])

DATASHEET STATUS VALUES:

  • 'ready' — extracted and indexed; call read_datasheet, search_datasheets, or analyze_image.

  • 'extracting' / 'in_progress' / 'queued' / 'pending' — extraction running or scheduled. Poll check_extraction_status every 10-15s until 'ready' or 'failed'. A datasheet nobody has read before usually takes 1-3 minutes; a large one can take 5 or more.

  • 'resolving' — we're still looking for the datasheet's PDF (distributors, then a web search; under a minute a part, longer for a big batch). Not final: keep polling check_extraction_status.

  • 'not_extracted' — known part but datasheet hasn't been fetched yet. Trigger it via prefetch_datasheets (up to 20 parts) or by calling read_datasheet (auto-triggers on first read).

  • 'no_source' — the search for a public datasheet has finished and found none for this MPN. Check the part number (search_parts), or retry prefetch_datasheets later. Otherwise upload the PDF via request_datasheet_upload + confirm_datasheet_upload (see those tools). Org-uploaded datasheets are private to the org.

  • 'unsupported' — PDF exists but can't be extracted (scanned image-only, encrypted, or corrupted). Upload a clean text-based PDF via request_datasheet_upload to override.

  • 'failed' / 'error' — extraction errored. The response includes the error reason. Retry via prefetch_datasheets or escalate to support.

  • 'rejected' — input wasn't a real MPN (bare value like '100nF', description, or reference designator). Fix the input and re-call.

  • 'deduplicated' — another part in the family already has this datasheet; same content is returned under the primary MPN.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
part_numbersYes2-5 specific manufacturer part numbers or LCSC numbers to compare head-to-head. Must be real MPNs — the call is rejected upfront if any entry is a value, description, or reference designator.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / part_numbers / description
      Previous value: -"List of 2-5 specific manufacturer part numbers to compare. Not values or descriptions."New value: +"2-5 specific manufacturer part numbers or LCSC numbers to compare head-to-head. Must be real MPNs — the call is rejected upfront if any entry is a value, description, or reference designator."
  2. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.