Skip to main content
Glama

Server Details

MCP server for IT hardware parts research: normalize PNs, search listings, get subs/comps.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.7% over 56 days
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation3/5

get-substitutes, normalize-pn, and get-part (full record) are clearly distinct, but search-parts, validate-pn, and get-part all answer overlapping questions about a part's existence/identity. search-parts (batch existence + summary) and validate-pn (structure + catalog existence) in particular could be confused by an agent deciding which to call.

Naming Consistency4/5

All names use consistent kebab-case verb_noun (get-part, get-substitutes, normalize-pn, search-parts, validate-pn). The only minor deviation is the object noun flipping between 'part/parts' and the 'pn' abbreviation, which is readable but inconsistent.

Tool Count5/5

Five tools is well-scoped for a read-oriented parts catalog: single lookup, batch lookup, validation, normalization, and cross-reference lookup each earn their place without redundancy.

Completeness4/5

The surface covers the main catalog queries (get, batch search, validate, normalize, substitutes) with no obvious dead ends. There are minor gaps such as reverse/browse lookups by category, description, or manufacturer, but core workflows are covered.

Available Tools

5 tools
get-partAInspect

Get the canonical record for a part: identity, manufacturer, description, category, lifecycle, and government classification (NSN/FSC) when present. Sourced from the PartsTable canonical read model.

ParametersJSON Schema
NameRequiredDescriptionDefault
partNumberYesPart number to look up

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. It adds useful context by naming the data source (PartsTable canonical read model) and notes that classification is returned 'when present.' However, it does not disclose behavior like read-only status, error handling, or query limits, leaving gaps typical of a minimally adequate description.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the core action ('Get the canonical record') and wastes no words. It lists fields and source efficiently.

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 simple single-parameter lookup with no output schema, the description conveys the record scope, source, and optional classification field. It lacks explicit mention of not-found behavior or return format, but these are minor for a straightforward read tool, making it nearly complete.

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

Parameters3/5

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

Schema description coverage is 100%: the only parameter, partNumber, is already described as 'Part number to look up.' The tool description adds no further parameter semantics, so the baseline score of 3 applies.

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 description clearly states the tool's function: retrieve the canonical record for a part, listing specific data fields (identity, manufacturer, description, category, lifecycle, NSN/FSC). This distinguishes it from siblings like search-parts (searching) or get-substitutes (alternatives).

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?

The context of 'canonical record' and 'canonical read model' implies this is the authoritative exact-match lookup, giving clear usage context. However, it does not explicitly mention when not to use it or contrast with siblings, so it misses the explicit exclusions that would merit a 5.

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

get-substitutesBInspect

Find substitute / equivalent / cross-referenced part numbers from the PartsTable cross-reference graph (312,913 cross-references, measured 2026-09-20).

ParametersJSON Schema
NameRequiredDescriptionDefault
partNumberYesPart number to find substitutes for

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It adds useful provenance — the graph size (312,913 cross-references) and a measurement date — but says nothing about ordering, empty results, directionality of the cross-reference, or performance.

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

Conciseness4/5

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

A single front-loaded sentence whose core purpose comes first, with the statistic trailing. Efficient overall, though the exact-count-and-date parenthetical is marginally decorative.

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

Completeness3/5

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

For a simple one-parameter lookup with no annotations this is nearly sufficient, but with no output schema the description should indicate what comes back (raw part numbers, ranked list, match metadata). The return shape is left entirely unstated.

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

Parameters3/5

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

Only one parameter with 100% schema description coverage, so the schema already explains it. The description adds nothing about input format or whether the part number must first be normalized via the sibling normalize-pn, which is a meaningful gap given that sibling exists.

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?

States a specific verb ('Find') and resource ('substitute / equivalent / cross-referenced part numbers') and names the data source (PartsTable cross-reference graph). This is clearly distinguishable from siblings get-part, search-parts, and validate-pn.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: it never says when to reach for this instead of get-part or search-parts, nor any preconditions. The purpose is self-evident from the name, but no alternatives or exclusions are given.

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

normalize-pnAInspect

Normalize an IT hardware part number into its canonical form. Handles HPE (B21/001/spare), Dell (400-XXXX, DP/N), and IBM/Lenovo (FRU) formats. Critical for deduplication and accurate lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
partNumberYesPart number is required

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It conveys the transformation behavior and supported formats, but does not disclose what happens for unsupported inputs, the exact canonical format, or the return value structure, leaving some behavioral ambiguity.

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

Conciseness5/5

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

The description is three concise sentences, each serving a distinct purpose: defining the action, listing supported formats, and identifying the use case. There is no redundancy or filler.

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 simple one-parameter normalization tool without an output schema, the description covers purpose, formats, and use case. It does not specify error handling for invalid inputs or the return format, but these gaps are not critical given the tool's simplicity.

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?

The schema only states 'Part number is required' with minimal detail, while the description adds meaningful semantics by indicating the input can appear in HPE, Dell, or IBM/Lenovo formats. This helps the agent understand acceptable input formats beyond the schema.

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 description clearly states the tool normalizes an IT hardware part number into its canonical form and explicitly lists the supported vendor formats (HPE, Dell, IBM/Lenovo). This distinguishes it from siblings like validate-pn or get-part, which have different purposes.

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?

The description notes that normalization is 'critical for deduplication and accurate lookups,' giving clear context for when this tool is useful. It does not explicitly name alternatives or exclusions, but the use case is well implied.

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

search-partsAInspect

Look up a batch of part numbers (max 25) against the PartsTable catalog. Returns per-part identity summary and whether each exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
partNumbersYesPart numbers to look up

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It correctly indicates a read-only lookup operation by stating 'Look up' and describing the return. However, it lacks disclosure of potential error handling, partial results, or any authorization requirements. The description is honest but could add more behavioral context.

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

Conciseness5/5

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

The description consists of two concise sentences with no wasted words. It front-loads the core action 'Look up a batch of part numbers' and immediately adds the batch limit and output summary. Every sentence is informative.

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?

Given the tool's low complexity (one required parameter, no output schema, no annotations), the description covers the essential purpose, input, batch limit, and output nature. It does not address error behavior or response format, but for a straightforward search tool, it is reasonably complete.

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 description coverage is 100% since the only parameter 'partNumbers' has a description. The tool description adds value beyond the schema by explaining that it processes a batch, sets the maximum size, and describes the output (per-part summary and existence). This goes beyond the baseline of 3 for high coverage.

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 description clearly states the verb 'Look up a batch of part numbers', the resource 'PartsTable catalog', and the output 'per-part identity summary and whether each exists'. It also specifies the batch size limit of 25, which distinguishes it from sibling 'get-part' (likely single-part lookup).

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

Usage Guidelines3/5

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

The description implies use for batch part number lookup and mentions the size limit, but does not explicitly state when to use this tool vs. siblings like 'get-part' for single parts or 'validate-pn' for validation. No alternatives or exclusions are given.

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

validate-pnInspect

Validate a part number and check whether it exists in the PartsTable catalog (25.3M+ part numbers, measured 2026-09-20, from government, OEM, and commercial authority sources). Returns structural validity and catalog existence.

ParametersJSON Schema
NameRequiredDescriptionDefault
partNumberYesThe part number to validate

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • Removedfetch-page
    • Addedget-part
    • Removedget-price-history
    • Changedget-substitutes3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / manufacturer
        Removed value: -{
        -  "default": "auto",
        -  "description": "Manufacturer hint",
        -  "enum": [
        -    "HPE",
        -    "Dell",
        -    "IBM",
        -    "Lenovo",
        -    "auto"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / partNumber / description
        Previous value: -"Part number to find substitutes/equivalents for"New value: +"Part number to find substitutes for"
    • Removedget-vendor-trust
    • Changednormalize-pn2 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / manufacturer
        Removed value: -{
        -  "description": "Manufacturer hint",
        -  "type": "string"
        -}
    • Removedscore-listing
    • Changedsearch-parts7 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / condition
        Removed value: -{
        -  "default": "any",
        -  "description": "Filter by item condition",
        -  "enum": [
        -    "NEW",
        -    "USED",
        -    "REFURBISHED",
        -    "any"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / limit
        Removed value: -{
        -  "default": 10,
        -  "description": "Max results to return (1-50)",
        -  "maximum": 50,
        -  "minimum": 1,
        -  "type": "number"
        -}
      • removedInput schema / properties / manufacturer
        Removed value: -{
        -  "default": "auto",
        -  "description": "Manufacturer hint for better results",
        -  "enum": [
        -    "HPE",
        -    "Dell",
        -    "IBM",
        -    "Lenovo",
        -    "auto"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / partNumber
        Removed value: -{
        -  "description": "IT hardware part number to search for",
        -  "type": "string"
        -}
      • addedInput schema / properties / partNumbers
        Added value: +{
        +  "description": "Part numbers to look up",
        +  "items": {
        +    "type": "string"
        +  },
        +  "maxItems": 25,
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "partNumber"
        -]New value: +[
        +  "partNumbers"
        +]
    • Changedvalidate-pn2 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / manufacturer
        Removed value: -{
        -  "description": "Expected manufacturer, or omit to auto-detect",
        -  "type": "string"
        -}
    • Removedverify-pn-oem
  2. 9 tool updates
    • First observedfetch-page
    • First observedget-price-history
    • First observedget-substitutes
    • First observedget-vendor-trust
    • First observednormalize-pn
    • First observedscore-listing
    • First observedsearch-parts
    • First observedvalidate-pn
    • First observedverify-pn-oem

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Read-only MCP server for finding, comparing, and shortlisting engineering parts from distributor and marketplace APIs.
    6
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for searching marketplaces (TCGPlayer, Reverb, Thumbtack), verifying professional licenses (contractor, nurse), and looking up PSA card grading data. Returns real-time pricing, listings, and verification results.
    22
    97 npm
    5
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for finding, comparing, and ranking the cheapest real offers across eBay, Amazon, Craigslist, OfferUp, and Google Shopping, with tax estimation and exact-model filtering.
    6
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    This MCP server acts as a local stdio proxy for whatic.io's remote IC-discovery server, enabling MCP clients to search electronic components and retrieve part specs, comparisons, and images.
    7
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources