Skip to main content
Glama

Search parts by MPN or description

search_parts
Read-onlyIdempotent

Discovers catalog candidates before parts are chosen for an AI-designed circuit. query_mode=text forces descriptive full-text search; auto recognizes a small explicit product-word list (including mosfet/ldo) and otherwise keeps MPN-shape routing; query_mode=mpn forces exact then prefix (>=4 chars). Text search is lexical AND of up to 6 submitted tokens, unranked, first page only; discovery_scope exposes omitted/transformed terms. Numbers with units and wording such as low noise or logic level only order candidates (nothing is removed; not electrical filters), and assessment_status remains not_assessed. next_steps.find_datasheet_request is the document path (then the map and the printed page). evidence_available marks reviewed spec values we hold, used only to order candidates — this search response does not return the values themselves; document_availability is a separate bounded exact-MPN relation lookup, not manufacturer applicability or readable-text verification. MPN matches retain existing evidence-availability ordering, never merge manufacturers. MPN queries also list document_identity_matches on the first page: part numbers our datasheet index links to documents, apart from catalog items. No stock or price. Browse by device type or manufacturer: category (mosfet | sensor_hall | sensor_temperature, optionally with brand) lists parts whose manufacturer-identified datasheet prints that device type as its main device on page 1 (quote + doc_sha256 + page 1), with counts and next_cursor paging; view=manufacturers lists brands with confirmed parts, view=categories the counts per category; q is optional then. Catalog items labeled mosfet/sensor_temperature carry catalog_label_check against that printed name. part_category browses catalog part categories (view=categories) and the manufacturers classified there (view=manufacturers, with next_steps to search each maker): labels with basis catalog_label, unverified, not printed facts or substitution judgements.

Input Schema

NameRequiredDescriptionDefault
qNoMPN (e.g. IRF540N) or short description (e.g. "n-channel mosfet 100V"). Required unless category or view is given.
pageNo
viewNoparts (default with category) · manufacturers: brands with confirmed parts (optionally for a category) · categories: confirmed counts per category (optionally for a brand) · series / brand_parts (brand required): part numbers our datasheet index records for that manufacturer, grouped by part-number prefix or listed
brandNoManufacturer label filter with the existing alias spellings; labels are not verified manufacturer identity
cursorNonext_cursor from the previous category/view response
seriesNoWith view=brand_parts: a series_prefix from view=series
categoryNoVerified device-type browse (optionally with brand): lists parts whose manufacturer-identified datasheet prints this device type as its main device on page 1 (quote + doc_sha256), paged with cursor, with counts. Device type only — not ratings or suitability. Other device types such as inductors are browsed with part_category (e.g. group:inductor).
page_sizeNo
query_modeNoDefault auto. text suits a product type or descriptive keywords; mpn forces MPN/prefix lookup. Text terms do not enforce electrical requirements.
part_categoryNoCatalog part category for exploring alternatives: all, super:<id> (e.g. super:ic, super:connector), group:<id> (e.g. group:capacitor, group:relay) or family:<slug> (e.g. family:capacitor_mlcc). Use with view=categories (all, super:, group:) or view=manufacturers (super:, group:, family:), plus cursor and page_size; view=manufacturers with brand checks one manufacturer in that category instead of paging the list. Not with q or category.
include_selection_detailsNotrue adds selection_details and per-item printed_feature_locations: structured copies of the ordering facts stated in note and next_steps.read_with

Output Schema

NameRequiredDescriptionDefault
noteNo
pageNo
itemsNo
reasonNo
statusYes
messageNo
has_moreNo
page_sizeNo
ranked_byNo
retryableNo
truncatedNo
categoriesNo
doc_sha256No
match_typeNo
query_kindNo
request_idNo
brand_partsNo
next_cursorNo
brand_browseNo
brand_seriesNo
browse_itemsNo
manufacturersNo
retry_requestNo
total_matchesNo
retry_after_msNo
withdrawn_noteNo
category_browseNo
discovery_scopeNo
document_searchNo
number_familiesNo
query_translationNo
selection_detailsNo
catalog_categoriesNo
document_candidatesNo
longer_part_numbersNo
browse_retry_requestNo
listing_param_searchNo
supported_categoriesNo
brand_browse_requestsNo
catalog_manufacturersNo
matches_with_evidenceNo
catalog_category_browseNo
category_browse_requestNo
document_identity_searchNo
document_identity_matchesNo
easyeda_jlcpcb_code_lookupNo
catalog_manufacturer_lookupNo
withdrawn_documents_omittedNo
catalog_category_retry_requestNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / category / description
      Previous value: -"Verified device-type browse (optionally with brand): lists parts whose manufacturer-identified datasheet prints this device type as its main device on page 1 (quote + doc_sha256), paged with cursor, with counts. Device type only — not ratings or suitability."New value: +"Verified device-type browse (optionally with brand): lists parts whose manufacturer-identified datasheet prints this device type as its main device on page 1 (quote + doc_sha256), paged with cursor, with counts. Device type only — not ratings or suitability. Other device types such as inductors are browsed with part_category (e.g. group:inductor)."
  2. Changed5 schema fields changed
    • changedInput schema / properties / part_category / description
      Previous value: -"Catalog part category for exploring alternatives: all, super:<id> (e.g. super:ic, super:connector), group:<id> (e.g. group:capacitor, group:relay) or family:<slug> (e.g. family:capacitor_mlcc). Use with view=categories (all, super:, group:) or view=manufacturers (super:, group:, family:), plus cursor and page_size; not with q, category or brand."New value: +"Catalog part category for exploring alternatives: all, super:<id> (e.g. super:ic, super:connector), group:<id> (e.g. group:capacitor, group:relay) or family:<slug> (e.g. family:capacitor_mlcc). Use with view=categories (all, super:, group:) or view=manufacturers (super:, group:, family:), plus cursor and page_size; view=manufacturers with brand checks one manufacturer in that category instead of paging the list. Not with q or category."
    • addedOutput schema / properties / catalog_category_retry_request / properties / brand
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / catalog_manufacturer_lookup
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "basis": {
      +      "const": "maker_name",
      +      "type": "string"
      +    },
      +    "brand": {
      +      "type": "string"
      +    },
      +    "brand_key": {
      +      "type": "string"
      +    },
      +    "datasheet_index_count_capped": {
      +      "type": "boolean"
      +    },
      +    "datasheet_index_part_numbers": {
      +      "type": "number"
      +    },
      +    "n_catalog_entries": {
      +      "type": "number"
      +    },
      +    "next_steps": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "brand_series_request": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "brand": {
      +              "type": "string"
      +            },
      +            "view": {
      +              "const": "series",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "view",
      +            "brand"
      +          ],
      +          "type": "object"
      +        },
      +        "categories_request": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "part_category": {
      +              "type": "string"
      +            },
      +            "view": {
      +              "const": "categories",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "view",
      +            "part_category"
      +          ],
      +          "type": "object"
      +        },
      +        "search_parts_request": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "brand": {
      +              "type": "string"
      +            },
      +            "q": {
      +              "type": "string"
      +            },
      +            "query_mode": {
      +              "const": "text",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "q",
      +            "brand",
      +            "query_mode"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "position": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "requested_brand": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "listed",
      +        "not_listed"
      +      ],
      +      "type": "string"
      +    },
      +    "total_manufacturers": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "requested_brand",
      +    "brand_key",
      +    "status",
      +    "datasheet_index_part_numbers",
      +    "next_steps"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / catalog_manufacturers / items / properties / basis
      Added value: +{
      +  "const": "maker_name",
      +  "type": "string"
      +}
    • addedOutput schema / properties / catalog_manufacturers / items / properties / next_steps / properties / brand_series_request
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "brand": {
      +      "type": "string"
      +    },
      +    "view": {
      +      "const": "series",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "view",
      +    "brand"
      +  ],
      +  "type": "object"
      +}
  3. Changed5 schema fields changed
    • addedInput schema / properties / part_category
      Added value: +{
      +  "description": "Catalog part category for exploring alternatives: all, super:<id> (e.g. super:ic, super:connector), group:<id> (e.g. group:capacitor, group:relay) or family:<slug> (e.g. family:capacitor_mlcc). Use with view=categories (all, super:, group:) or view=manufacturers (super:, group:, family:), plus cursor and page_size; not with q, category or brand.",
      +  "maxLength": 80,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedOutput schema / properties / catalog_categories
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "categories_request": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "part_category": {
      +            "type": "string"
      +          },
      +          "view": {
      +            "const": "categories",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "view",
      +          "part_category"
      +        ],
      +        "type": "object"
      +      },
      +      "label": {
      +        "type": "string"
      +      },
      +      "level": {
      +        "type": "string"
      +      },
      +      "manufacturers_request": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "part_category": {
      +            "type": "string"
      +          },
      +          "view": {
      +            "const": "manufacturers",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "view",
      +          "part_category"
      +        ],
      +        "type": "object"
      +      },
      +      "n_catalog_entries": {
      +        "type": "number"
      +      },
      +      "n_manufacturers": {
      +        "type": "number"
      +      },
      +      "parent": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "part_category": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "part_category",
      +      "level",
      +      "parent",
      +      "label",
      +      "n_manufacturers",
      +      "n_catalog_entries",
      +      "manufacturers_request"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / catalog_category_browse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "basis": {
      +      "const": "catalog_label",
      +      "type": "string"
      +    },
      +    "built_at": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "generation": {
      +      "type": "string"
      +    },
      +    "label": {
      +      "type": "string"
      +    },
      +    "level": {
      +      "type": "string"
      +    },
      +    "mapping_version": {
      +      "type": "number"
      +    },
      +    "ordering": {
      +      "type": "string"
      +    },
      +    "part_category": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "total_manufacturers": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "verification_status": {
      +      "const": "unverified",
      +      "type": "string"
      +    },
      +    "view": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "view",
      +    "part_category",
      +    "level",
      +    "label",
      +    "basis",
      +    "verification_status",
      +    "generation",
      +    "built_at",
      +    "mapping_version",
      +    "status"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / catalog_category_retry_request
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "part_category": {
      +      "type": "string"
      +    },
      +    "view": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "view",
      +    "part_category"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / catalog_manufacturers
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "brand": {
      +        "type": "string"
      +      },
      +      "brand_key": {
      +        "type": "string"
      +      },
      +      "n_catalog_entries": {
      +        "type": "number"
      +      },
      +      "next_steps": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "categories_request": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "part_category": {
      +                "type": "string"
      +              },
      +              "view": {
      +                "const": "categories",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "view",
      +              "part_category"
      +            ],
      +            "type": "object"
      +          },
      +          "search_parts_request": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "brand": {
      +                "type": "string"
      +              },
      +              "q": {
      +                "type": "string"
      +              },
      +              "query_mode": {
      +                "const": "text",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "q",
      +              "brand",
      +              "query_mode"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "brand",
      +      "brand_key",
      +      "n_catalog_entries",
      +      "next_steps"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  4. Changed2 schema fields changed
    • addedOutput schema / properties / easyeda_jlcpcb_code_lookup
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "basis": {
      +      "const": "code_listing_label",
      +      "type": "string"
      +    },
      +    "code": {
      +      "type": "string"
      +    },
      +    "listing_brand": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "listing_brand_items_first": {
      +      "type": "boolean"
      +    },
      +    "mpn": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "mpn",
      +    "listing_brand",
      +    "basis"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / lcsc_code_lookup
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "basis": {
      -      "const": "lcsc_listing_label",
      -      "type": "string"
      -    },
      -    "lcsc_code": {
      -      "type": "string"
      -    },
      -    "listing_brand": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "listing_brand_items_first": {
      -      "type": "boolean"
      -    },
      -    "mpn": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "lcsc_code",
      -    "mpn",
      -    "listing_brand",
      -    "basis"
      -  ],
      -  "type": "object"
      -}
  5. First observed

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnly/idempotent annotations already covering the safety profile, the description adds substantial behavioral facts an agent could not infer: lexical AND over up to 6 tokens, unranked, first page only, discovery_scope exposing dropped terms, numbers-with-units and phrases like 'low noise' only ordering candidates rather than filtering, assessment_status staying not_assessed, and evidence_available signaling values that are NOT returned. It also warns that MPN matches never merge manufacturers and that document_availability is a separate bounded relation. This is unusually rich disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Almost every clause carries real information and the key disambiguation (this is not the datasheet path) is early, but the text is a single dense block of semicolon-chained clauses with no paragraphing or bullets, making an 11-parameter tool harder to scan than its complexity requires. Size is defensible for the surface area; structure is weak.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 11 optional parameters, multiple browse modes, and an output schema, the description covers the modes, the response fields that need explanation (discovery_scope, assessment_status, evidence_available, document_identity_matches), and the paging model via next_cursor. The output schema and annotations carry the rest, so nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 82%, so the baseline would be 3; the description goes further by explaining what query_mode values actually do internally (auto's product-word list, mpn's exact-then-prefix with a 4-character floor) and by clarifying that category means printed page-1 device type while part_category is catalog taxonomy. A few parameters (page, page_size) get no narrative, but the hard ones to intuit are covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource (discovers catalog candidates / search parts by MPN or description) and explicitly separates itself from document tools by pointing to next_steps.find_datasheet_request as the document path. The leading framing ('before parts are chosen for an AI-designed circuit') is abstract compared with the title, so the core 'this searches the parts catalog, not datasheets' message takes a moment to extract, but it is unambiguous once read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit routing conditions: query_mode=text for descriptive keywords, mpn for exact/prefix lookup (>=4 chars), and auto for the product-word list; category for device-type browsing, part_category for other device types such as inductors; and it notes q is optional in browse mode. It also names the alternative path for documents. It stops short of stating when NOT to call this tool at all (beyond the implicit no stock/price case), so it is not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources