Skip to main content
Glama

Find archived datasheet documents for an MPN

find_datasheet
Read-onlyIdempotent

Finds archived datasheets for an MPN (and brand) and whether their pages can be read; for a schematic or BOM, check_bom covers up to 100 lines in one call. No electrical values are returned. documents are listed by the manufacturer identity of each archived document; requested_maker_document names the document of the requested manufacturer. Pages: get_page_blocks(doc_sha256, page) when has_blocks=true (text may be unreadable), or get_page_image; document_url, when present, is the PDF our public site serves. doc_sha256=null: no content-addressed original yet. brand_match=false is another manufacturer's genuine datasheet, not the requested manufacturer's. brand_match=null means no manufacturer was compared (none given) or the identity is unverified; declared_brand_match compares recorded labels only. mpn_check=exact checks a printed name, not every variant or table; family, weak or absent can reflect a series sheet, an assembled order code or incomplete extraction — not proof of a wrong document and not a reason to prefer another maker; null means unchecked. In similar_part_numbers, same-maker variants have brand_match=true and relation same_core, suffix, vendor_prefix, ti_orderable_suffix or printed_orderable; distance and mpn_check compare only within one relation, not across relations (for LM317HV the nearer LM317 is a different, 40 V device). Other relations (same_family_stem, edit_distance, prefix_base, decimal_point_differs, same_series_sibling) do not establish the requested device. Even those entries are candidates; the printed text or ordering table establishes the full code, package and ratings. identity_basis printed_part_number = found on the printed page; linked_document, shared_document_link and indirect_document_link are associations whose print check is mpn_check. printed_revision suggests, not establishes, the edition. related_documents: maker docs printing this part number (kind says which) and PartsPlan-computed typical sheets; not datasheets.

Input Schema

NameRequiredDescriptionDefault
mpnYes
brandNoRequested manufacturer; documents are ranked by match, never merged across manufacturers
max_other_brand_documentsNodefault 5: when brand is given and we hold a document identified as that manufacturer, at most this many other manufacturers' documents for the same part number are listed (the rest are counted in other_brand_documents_omitted). Raise it to see them all.

Output Schema

NameRequiredDescriptionDefault
noteNo
reasonNo
statusYes
messageNo
registryNo
documentsNo
key_pagesNo
retryableNo
truncatedNo
doc_sha256No
request_idNo
mpn_sectionNo
n_documentsNo
n_relationsNo
counts_scopeNo
found_variantNo
external_linksNo
mpn_normalizedNo
retry_after_msNo
withdrawn_noteNo
layout_mentionsNo
other_key_pagesNo
section_indexesNo
blocks_availableNo
brand_resolutionNo
catalog_categoryNo
package_drawingsNo
related_documentsNo
manufacturer_pagesNo
register_availableNo
n_unhashed_relationsNo
operating_conditionsNo
similar_part_numbersNo
series_scheme_documentNo
map_available_documentsNo
requested_maker_documentNo
section_indexes_coverageNo
manufacturer_design_pagesNo
easyeda_jlcpcb_part_numbersNo
withdrawn_documents_omittedNo
other_brand_documents_omittedNo
easyeda_jlcpcb_code_resolutionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / similar_part_numbers / items / properties / first_page_line
      Removed value: -{
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • addedOutput schema / properties / similar_part_numbers / items / properties / first_page_line
      Added value: +{
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • addedOutput schema / properties / catalog_category
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "basis": {
      +      "type": "string"
      +    },
      +    "family": {
      +      "type": "string"
      +    },
      +    "group": {
      +      "type": "string"
      +    },
      +    "label": {
      +      "type": "string"
      +    },
      +    "next_steps": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "search_parts_request": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "part_category": {
      +              "type": "string"
      +            },
      +            "view": {
      +              "const": "manufacturers",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "part_category",
      +            "view"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "search_parts_request"
      +      ],
      +      "type": "object"
      +    },
      +    "status": {
      +      "const": "labelled",
      +      "type": "string"
      +    },
      +    "super": {
      +      "type": "string"
      +    },
      +    "verification_status": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "group",
      +    "label",
      +    "super",
      +    "family",
      +    "basis",
      +    "verification_status",
      +    "next_steps"
      +  ],
      +  "type": "object"
      +}
  4. Changed2 schema fields changed
    • changedOutput schema / properties / related_documents / properties / hints / items / properties / kind / enum
      Previous value: -[
      -  "partsplan_computed_characteristic",
      -  "application_note",
      -  "reference_manual",
      -  "errata",
      -  "user_guide",
      -  "reference_design",
      -  "design_guide",
      -  "white_paper",
      -  "test_report",
      -  "package_drawing",
      -  "reliability_report"
      -]New value: +[
      +  "partsplan_computed_characteristic",
      +  "application_note",
      +  "reference_manual",
      +  "errata",
      +  "user_guide",
      +  "reference_design",
      +  "design_guide",
      +  "white_paper",
      +  "test_report",
      +  "package_drawing",
      +  "reliability_report",
      +  "compliance_declaration"
      +]
    • changedOutput schema / properties / related_documents / properties / items / items / properties / kind / enum
      Previous value: -[
      -  "partsplan_computed_characteristic",
      -  "application_note",
      -  "reference_manual",
      -  "errata",
      -  "user_guide",
      -  "reference_design",
      -  "design_guide",
      -  "white_paper",
      -  "test_report",
      -  "package_drawing",
      -  "reliability_report"
      -]New value: +[
      +  "partsplan_computed_characteristic",
      +  "application_note",
      +  "reference_manual",
      +  "errata",
      +  "user_guide",
      +  "reference_design",
      +  "design_guide",
      +  "white_paper",
      +  "test_report",
      +  "package_drawing",
      +  "reliability_report",
      +  "compliance_declaration"
      +]
  5. Changed2 schema fields changed
    • addedOutput schema / properties / related_documents / properties / hints
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "applicability": {
      +        "const": "not_assessed",
      +        "type": "string"
      +      },
      +      "doc_sha256": {
      +        "pattern": "^[0-9a-f]{64}$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "partsplan_computed_characteristic",
      +          "application_note",
      +          "reference_manual",
      +          "errata",
      +          "user_guide",
      +          "reference_design",
      +          "design_guide",
      +          "white_paper",
      +          "test_report",
      +          "package_drawing",
      +          "reliability_report"
      +        ],
      +        "type": "string"
      +      },
      +      "link_basis": {
      +        "enum": [
      +          "printed_base_part_number",
      +          "printed_family_prefix"
      +        ],
      +        "type": "string"
      +      },
      +      "pages": {
      +        "maximum": 9007199254740991,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "part_maker": {
      +        "type": "string"
      +      },
      +      "printed_page": {
      +        "maximum": 9007199254740991,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "printed_token": {
      +        "type": "string"
      +      },
      +      "publisher": {
      +        "type": "string"
      +      },
      +      "title": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "doc_sha256",
      +      "kind",
      +      "title",
      +      "publisher",
      +      "part_maker",
      +      "link_basis",
      +      "printed_token",
      +      "printed_page",
      +      "applicability"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 3,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedOutput schema / properties / related_documents / properties / hints_more
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  6. Changed1 schema field changed
    • changedOutput schema / properties / brand_resolution / properties / rule / enum
      Previous value: -[
      -  "curated_display_label",
      -  "code_listing_supported"
      -]New value: +[
      +  "curated_display_label",
      +  "code_listing_supported",
      +  "part_number_scoped_label"
      +]
  7. Changed1 schema field changed
    • addedOutput schema / properties / mpn_section
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "basis": {
      +      "const": "printed_product_heading",
      +      "type": "string"
      +    },
      +    "doc_sha256": {
      +      "pattern": "^[0-9a-f]{64}$",
      +      "type": "string"
      +    },
      +    "end_page": {
      +      "maximum": 9007199254740991,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "mpn": {
      +      "maxLength": 80,
      +      "type": "string"
      +    },
      +    "next_heading": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "page": {
      +          "maximum": 9007199254740991,
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        "title": {
      +          "maxLength": 160,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "page",
      +        "title"
      +      ],
      +      "type": "object"
      +    },
      +    "start_page": {
      +      "maximum": 9007199254740991,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "title": {
      +      "maxLength": 160,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "doc_sha256",
      +    "mpn",
      +    "title",
      +    "start_page",
      +    "end_page",
      +    "basis"
      +  ],
      +  "type": "object"
      +}
  8. Changed2 schema fields changed
    • addedOutput schema / properties / related_documents / properties / makers
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "maxItems": 3,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedOutput schema / properties / related_documents / properties / status / enum
      Previous value: -[
      -  "ok",
      -  "brand_required",
      -  "maker_check_incomplete"
      -]New value: +[
      +  "ok",
      +  "brand_required",
      +  "maker_check_incomplete",
      +  "other_maker"
      +]
  9. Changed1 schema field changed
    • addedOutput schema / properties / related_documents
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "items": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "applicability": {
      +            "const": "not_assessed",
      +            "type": "string"
      +          },
      +          "characteristic": {
      +            "type": "string"
      +          },
      +          "computed": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "absolute_vs_nominal": {
      +                "enum": [
      +                  "comparable",
      +                  "not_comparable",
      +                  "unknown"
      +                ],
      +                "type": "string"
      +              },
      +              "basis": {
      +                "const": "typical",
      +                "type": "string"
      +              },
      +              "by": {
      +                "const": "PartsPlan",
      +                "type": "string"
      +              },
      +              "conditions": {
      +                "type": "string"
      +              },
      +              "from_maker": {
      +                "type": "string"
      +              },
      +              "model": {
      +                "type": "string"
      +              },
      +              "model_file_date": {
      +                "type": "string"
      +              },
      +              "percent_basis": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "by",
      +              "from_maker",
      +              "model",
      +              "basis",
      +              "conditions",
      +              "absolute_vs_nominal"
      +            ],
      +            "type": "object"
      +          },
      +          "doc_sha256": {
      +            "pattern": "^[0-9a-f]{64}$",
      +            "type": "string"
      +          },
      +          "kind": {
      +            "enum": [
      +              "partsplan_computed_characteristic",
      +              "application_note",
      +              "reference_manual",
      +              "errata",
      +              "user_guide",
      +              "reference_design",
      +              "design_guide",
      +              "white_paper",
      +              "test_report",
      +              "package_drawing",
      +              "reliability_report"
      +            ],
      +            "type": "string"
      +          },
      +          "link_basis": {
      +            "enum": [
      +              "exact_part_number"
      +            ],
      +            "type": "string"
      +          },
      +          "pages": {
      +            "maximum": 9007199254740991,
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "part_maker": {
      +            "type": "string"
      +          },
      +          "publisher": {
      +            "type": "string"
      +          },
      +          "title": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "doc_sha256",
      +          "kind",
      +          "title",
      +          "publisher",
      +          "part_maker",
      +          "link_basis",
      +          "applicability"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 5,
      +      "type": "array"
      +    },
      +    "more": {
      +      "maximum": 9007199254740991,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "status": {
      +      "enum": [
      +        "ok",
      +        "brand_required",
      +        "maker_check_incomplete"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "items"
      +  ],
      +  "type": "object"
      +}
  10. Changed7 schema fields changed
    • addedOutput schema / properties / brand_resolution / properties / code
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / brand_resolution / properties / lcsc
      Removed value: -{
      -  "type": "string"
      -}
    • changedOutput schema / properties / brand_resolution / properties / rule / enum
      Previous value: -[
      -  "curated_display_label",
      -  "lcsc_listing_supported"
      -]New value: +[
      +  "curated_display_label",
      +  "code_listing_supported"
      +]
    • addedOutput schema / properties / easyeda_jlcpcb_code_resolution
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "basis": {
      +      "const": "code_listing_label",
      +      "type": "string"
      +    },
      +    "code": {
      +      "type": "string"
      +    },
      +    "input_code": {
      +      "type": "string"
      +    },
      +    "listing_brand": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "listing_mpn": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "enum": [
      +        "applied",
      +        "listing_mpn_differs",
      +        "code_not_found",
      +        "input_conflict",
      +        "unavailable"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "status"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / easyeda_jlcpcb_part_numbers
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "codes": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "type": "string"
      +          },
      +          "listing_brand": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "listing_brand"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "other_maker_codes": {
      +      "type": "number"
      +    },
      +    "total": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "codes"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / properties / lcsc_code_resolution
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "basis": {
      -      "const": "lcsc_listing_label",
      -      "type": "string"
      -    },
      -    "code": {
      -      "type": "string"
      -    },
      -    "codes_lcsc": {
      -      "type": "string"
      -    },
      -    "listing_brand": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "listing_mpn": {
      -      "type": "string"
      -    },
      -    "status": {
      -      "enum": [
      -        "applied",
      -        "listing_mpn_differs",
      -        "code_not_found",
      -        "input_conflict",
      -        "unavailable"
      -      ],
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "code",
      -    "status"
      -  ],
      -  "type": "object"
      -}
    • removedOutput schema / properties / lcsc_part_numbers
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "codes": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "type": "string"
      -          },
      -          "listing_brand": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "listing_brand"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "other_maker_codes": {
      -      "type": "number"
      -    },
      -    "total": {
      -      "type": "number"
      -    }
      -  },
      -  "required": [
      -    "codes"
      -  ],
      -  "type": "object"
      -}
  11. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it explains what null/false/true mean for doc_sha256, brand_match and mpn_check, warns that no manufacturer match is proof of a wrong document, and clarifies that document_url is the public PDF. These are exactly the interpretive caveats an agent needs to avoid acting on a false-negative match.

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?

The purpose and the check_bom alternative are front-loaded, but the body is a long semicolon-chained dump of field semantics with no grouping, mixing lookups, null semantics, relation vocabularies and document-link kinds. Most content earns its place, but the structure makes it hard to scan and some enumeration could be tightened.

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

Completeness4/5

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

For a high-complexity retrieval tool this covers the tricky cases (unreadable text, null sha, brand mismatch, relation taxonomy) thoroughly, and an output schema exists so return values need not be spelled out. The one gap is that the mpn parameter itself receives no treatment in the text.

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 67%, with brand and max_other_brand_documents described in-schema but mpn undocumented. The description compensates by explaining ranking/merging behaviour across manufacturers and the meaning of brand_match=null ('no manufacturer was compared'), which is more than the schema states for the brand parameter.

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

Purpose5/5

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

The opening clause names a specific verb and resource ('Finds archived datasheets for an MPN (and brand)') and immediately states the scope limitation ('whether their pages can be read', 'No electrical values are returned'). It also names the sibling check_bom and the condition that selects it, so an agent can separate this tool from its neighbours without opening a schema.

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?

Provides an explicit routing rule to a sibling ('for a schematic or BOM, check_bom covers up to 100 lines in one call') and states a negative boundary ('No electrical values are returned'). It does not distinguish against search_datasheet, get_datasheet_map or search_parts, so the when-to-use guidance is clear but not exhaustive.

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