PartsTable
Server Details
MCP server for IT hardware parts research: normalize PNs, search listings, get subs/comps.
- Status
- Healthy
- Uptime
- 99.7% over 56 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 5 tools
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.
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.
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.
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 toolsget-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.
| Name | Required | Description | Default |
|---|---|---|---|
| partNumber | Yes | Part number to look up |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| partNumber | Yes | Part number to find substitutes for |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| partNumber | Yes | Part number is required |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| partNumbers | Yes | Part numbers to look up |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| partNumber | Yes | The part number to validate |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- Removed
fetch-page - Added
get-part - Removed
get-price-history - Changed
get-substitutes3 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / properties / manufacturerRemoved value: -{ - "default": "auto", - "description": "Manufacturer hint", - "enum": [ - "HPE", - "Dell", - "IBM", - "Lenovo", - "auto" - ], - "type": "string" -} - changed
Input schema / properties / partNumber / descriptionPrevious value: -"Part number to find substitutes/equivalents for"New value: +"Part number to find substitutes for"
- Removed
get-vendor-trust - Changed
normalize-pn2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / properties / manufacturerRemoved value: -{ - "description": "Manufacturer hint", - "type": "string" -}
- Removed
score-listing - Changed
search-parts7 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / properties / conditionRemoved value: -{ - "default": "any", - "description": "Filter by item condition", - "enum": [ - "NEW", - "USED", - "REFURBISHED", - "any" - ], - "type": "string" -} - removed
Input schema / properties / limitRemoved value: -{ - "default": 10, - "description": "Max results to return (1-50)", - "maximum": 50, - "minimum": 1, - "type": "number" -} - removed
Input schema / properties / manufacturerRemoved value: -{ - "default": "auto", - "description": "Manufacturer hint for better results", - "enum": [ - "HPE", - "Dell", - "IBM", - "Lenovo", - "auto" - ], - "type": "string" -} - removed
Input schema / properties / partNumberRemoved value: -{ - "description": "IT hardware part number to search for", - "type": "string" -} - added
Input schema / properties / partNumbersAdded value: +{ + "description": "Part numbers to look up", + "items": { + "type": "string" + }, + "maxItems": 25, + "minItems": 1, + "type": "array" +} - changed
Input schema / requiredPrevious value: -[ - "partNumber" -]New value: +[ + "partNumbers" +]
- Changed
validate-pn2 fields changed- removed
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#" - removed
Input schema / properties / manufacturerRemoved value: -{ - "description": "Expected manufacturer, or omit to auto-detect", - "type": "string" -}
- Removed
verify-pn-oem
9 tool updates
- First observed
fetch-page - First observed
get-price-history - First observed
get-substitutes - First observed
get-vendor-trust - First observed
normalize-pn - First observed
score-listing - First observed
search-parts - First observed
validate-pn - First observed
verify-pn-oem
Related MCP Connectors
Parts research for IT hardware brokers: PN normalization, validation, and pricing
Public MCP server for discovering open jobs. Search, filter, and get application links.
MCP server for real-time product search by barcode (EAN, UPC, GTIN) or keyword on ean-search.org
Related MCP Servers
- AlicenseBqualityDmaintenanceRead-only MCP server for finding, comparing, and shortlisting engineering parts from distributor and marketplace APIs.6MIT
- AlicenseBqualityCmaintenanceMCP 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.2297 npm5MIT
- AlicenseBqualityCmaintenanceMCP 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.61MIT
- AlicenseAqualityAmaintenanceThis 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.7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.