catalog
Server Details
Search real parts with datasheet-provenance specs, check compatibility and compose priced BOMs.
- Status
- Healthy
- Uptime
- 100.0% over 62 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 11 tools
Most tools have clearly distinct purposes, but fetch/search are explicitly aliases of get_part/search_parts and build_bom/view_bom return the same BOM data with different rendering. Descriptions clarify these overlaps, so an agent can still select correctly, though alias duplication adds some risk.
The set mostly follows a consistent snake_case verb_noun pattern (get_part, list_builds, check_compatibility, compare_parts, build_bom). fetch and search are single-verb aliases that slightly break the pattern, but the overall convention remains readable and predictable.
11 tools is well-scoped for a parts catalogue covering discovery, inspection, provenance, comparison, compatibility, and BOM workflows. The count is not bloated, and even the redundant aliases and view variant correspond to distinct connector or client contracts.
The surface covers discovery (search, list_categories, list_builds), inspection (get_part, fetch, get_provenance), analysis (compare_parts, check_compatibility), and BOM generation/export/view. Minor gaps exist, such as no direct listing of all parts within a category without search, but read-only catalogue coverage is otherwise strong.
Available Tools
11 toolsbuild_bomBuild a validated bill of materialsBRead-onlyIdempotentInspect
Composes a complete BOM for a reference build — quantities, dated indicative prices, per-line rationale, a compatibility verdict for the chosen set, and a CSV export. Override any role with choices.
| Name | Required | Description | Default |
|---|---|---|---|
| choices | No | role → part id overrides | |
| build_id | Yes | 2wd-robot, weather-station or plant-waterer | |
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| csv | Yes | |
| build | Yes | |
| lines | Yes | |
| compatibility | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds that output includes 'dated indicative prices' and 'per-line rationale', which hints the pricing is non-binding, but with an output schema present most of the return-shape detail is redundant and no logging/persistence or performance behavior is disclosed.
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?
Two tightly written sentences, front-loaded with the action and resource, with the override capability in a short trailing sentence. The output enumeration is slightly list-heavy and partly duplicates the output schema, but nothing is wasteful.
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?
With an output schema present the description need not explain return values, and annotations cover the safety profile. The remaining burden — what the tool produces at a high level, that build_id selects a known reference build, and that choices are per-role overrides — is all covered.
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%, so all three parameters (including the nested 'choices' map) are already documented in the schema; baseline is 3. The description's 'Override any role with choices' adds the useful nuance that choices are overrides layered on an existing build, but no role vocabulary or error behavior for unknown roles.
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 and resource ('Composes a complete BOM for a reference build') and enumerates the concrete outputs it produces, so the agent knows it is a generative build tool rather than a reader. It does not, however, name or contrast itself with the obvious siblings view_bom or check_compatibility, leaving the boundary to inference.
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 only usage guidance is 'Override any role with choices', which describes a capability rather than a when-to-use condition. Nothing tells the agent when to call build_bom instead of view_bom (reading an existing BOM) or check_compatibility, nor whether build_id must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_compatibilityCheck a set of parts for compatibilityARead-onlyIdempotentInspect
Evaluates a part set against the build's engineering constraints — supply windows, stall vs peak current, shaft/wheel fit, interfaces, solar chain — with a reasoned verdict per check. Every number cited is a corroborated attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| build_id | No | Defaults to the build these parts overlap most | |
| part_ids | Yes | ||
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| build | Yes | |
| summary | Yes | |
| unknown | Yes | |
| verdicts | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds real value on top: output includes a 'reasoned verdict per check' and every cited number is a 'corroborated attribute', which tells the agent about result trustworthiness and traceability.
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?
Two sentences, both front-loaded: the first scopes the evaluation, the second adds the trust/provenance signal. The constraint enumeration is dense but each item is informative rather than 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?
An output schema exists, so return structure need not be explained, and annotations cover the safety profile. The description supplements with verdict reasoning and data corroboration, leaving little an agent needs that is unstated; only explicit routing versus sibling analysis tools is absent.
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 67%, with build_id's default behavior and project_context's ranking/logging behavior already documented in the schema. part_ids carries no schema description, but its name and list bounds make it self-evident. The description adds no parameter-level detail, so the baseline 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?
States a specific verb and resource ('Evaluates a part set against the build's engineering constraints') and enumerates the concrete constraint families checked (supply windows, stall vs peak current, shaft/wheel fit, interfaces, solar chain). It is clearly more than a spec diff, implicitly separating it from compare_parts, though it never names a sibling.
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?
Usage is implied by the scope phrase 'against the build's engineering constraints' and the per-check verdict output, so an agent can infer this is the validation step over a set of parts. However, there is no explicit when-to-use, when-not, or pointer to alternatives such as compare_parts or get_part.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_partsCompare two parts attribute by attributeARead-onlyIdempotentInspect
Aligned attribute-by-attribute comparison of two catalogue parts. Absence means the sources did not state a value — never that the part lacks the property.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | First part id | |
| b | Yes | Second part id | |
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | |
| summary | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds a genuinely non-obvious semantic caveat — that a missing attribute means the source never stated a value, not that the property is absent — which prevents a real misinterpretation of results. It does not discuss ordering, alignment rules, or how mismatches are surfaced, keeping it short of a 5.
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?
Two tight sentences, no filler, with the core operation front-loaded and the caveat placed second where it reads as a qualifier on the output. Every sentence earns its place.
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?
An output schema exists, so return structure need not be explained, and annotations cover the safety profile. Combined with full schema coverage, the description supplies the one thing structured fields cannot — the meaning of absent attributes — leaving only output ordering/alignment details 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?
Schema description coverage is 100%, so 'a', 'b' and 'project_context' are already documented in the schema, including the project-context logging note. The description adds no parameter-level meaning (e.g. what 'aligned' implies for mismatched ids), so the baseline 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?
States a specific verb and resource ('Aligned attribute-by-attribute comparison of two catalogue parts') plus the comparison axis, so an agent knows this is a pairwise attribute diff rather than a compatibility check or a single-part fetch. It never names the siblings it could be confused with (check_compatibility, get_part), so it falls short of full sibling differentiation.
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 explicit when-to-use, when-not-to-use, or alternative routing. The agent is left to infer that this should be chosen over two get_part calls or over check_compatibility, and nothing in the text states that preference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch one catalogue document (deep-research contract)ARead-onlyIdempotentInspect
Fetch the full provenance-backed record for a search result id as a citable document. Alias of get_part shaped to the search/fetch connector contract.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, and non-openWorld behavior, so the safety profile is covered. The description adds the useful detail that the record is 'provenance-backed' and returned as a 'citable document', but says nothing about size, pagination, or failure behavior if the id is unknown. With annotations carrying the safety burden, a 3 is appropriate.
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?
Two short sentences with no filler; the core action ('Fetch the full provenance-backed record') is front-loaded. Slightly terse given the alias relationship, but nothing is wasted.
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?
An output schema exists, so return-value detail is unnecessary, and annotations cover the safety profile; the description supplies the missing framing that this is a provenance-backed citable document and the get_part-equivalent connector shape. The only real gap is the id format, which is minor for a one-parameter read tool.
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 0% for the single required 'id' parameter, but the description compensates partially by specifying the id is a 'search result id', which is meaningful semantic context beyond the bare schema type. It does not state the accepted format of that id, so the documentation remains incomplete.
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 names a specific verb and resource ('Fetch the full provenance-backed record for a search result id') and explicitly states the tool is an alias of get_part 'shaped to the search/fetch connector contract', which helps an agent distinguish it from get_part and search. It stops short of a fully crisp differentiation because 'alias of get_part' leaves the agent to infer the practical difference between the two at call time.
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 phrase 'for a search result id' implies the tool should be used after a search, and 'Alias of get_part' hints at an alternative, but there is no explicit when-to-use/when-not guidance or statement of when to prefer this over get_part directly. Usage is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_partGet a full part recordARead-onlyIdempotentInspect
The complete canonical record for one part: every attribute with its provenance (source, page, verbatim quote, file hash), vendors with dated indicative prices, and datasheet links.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Part id, e.g. pololu-drv8833-carrier | |
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds useful context about the richness of the returned record (provenance, vendors, datasheet links), but does not disclose operational traits like authentication, rate limits, or side effects beyond what annotations provide.
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 a single, front-loaded sentence that immediately states the core purpose and then efficiently lists the notable contents. Every clause earns its place without 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?
Given the simple get-by-id operation, rich annotations, 100% schema coverage, and an output schema, the description is complete enough for an agent to understand what the tool returns. Missing usage guidance belongs to a separate dimension and does not make the definition incomplete here.
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%, so the schema already documents both parameters and their meaning, including the ranking effect of project_context. The description does not add parameter-level detail beyond what the schema provides, so a baseline 3 is appropriate.
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 states a specific resource ('complete canonical record for one part') and enumerates what it contains, so the purpose is clear. However, it does not explicitly distinguish itself from close siblings such as get_provenance or search_parts, leaving the agent to infer the difference.
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 explicit guidance on when to use this tool versus alternatives like search_parts or get_provenance. The phrase 'complete canonical record' implies a detailed lookup use case, but no when-to-use or when-not-to-use instruction is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_provenanceGet the provenance receipt for an attributeBRead-onlyIdempotentInspect
The receipt behind a stated value: the verbatim source quote, the page, the extraction method, and the sha-256 of the exact file it was read from — plus a ready-made citation line. Omit code for every attribute's receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Part id | |
| code | No | Attribute code from get_part; omit for all | |
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| part | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so the safety profile is fully covered. The description's remaining disclosures (receipt constituents, the citation line) largely restate what the output schema already returns, and the 'omit code' default duplicates the schema's code description, so it adds only modest value beyond structured fields.
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?
Two sentences, front-loaded with the core concept (the receipt) and followed by a short operational rule. The first sentence is list-heavy but each item is informative; no filler or restated title.
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?
With a full schema, annotations, and an output schema, the description only needs to convey intent and defaults, which it does. The gap is relational: it never situates this tool against get_part or the other retrieval siblings, which is the main thing an agent would still have to guess.
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%, so all three parameters are documented in the schema itself. The description only echoes the 'omit code for all' behavior already stated in the code parameter's description and says nothing about id or project_context, so the baseline 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 states a specific artifact — the provenance receipt behind a stated value — and enumerates its contents (source quote, page, extraction method, sha-256, citation line), which makes the purpose concrete. It does not, however, differentiate this from siblings like get_part or search_parts, so an agent must infer the boundary itself.
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 explicit when-to-use guidance: nothing says to call this after get_part when a citation is needed, nor when it is unnecessary. The only guidance-like sentence is 'Omit code for every attribute's receipt,' which is parameter behavior rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_buildsList reference buildsARead-onlyIdempotentInspect
The catalogue's reference builds (robot, weather station, plant waterer) with their roles and candidate parts — the starting point for build_bom.
| Name | Required | Description | Default |
|---|---|---|---|
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| builds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful content-level transparency by stating the tool returns reference builds with their roles and candidate parts. It does not discuss ranking or logging, but those are captured in the parameter schema.
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 a single sentence that front-loads the core resource, provides concrete examples, states what is returned, and ties the tool to the BOM workflow. Every phrase earns its place with no redundancy.
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 list tool with one optional parameter, full schema coverage, strong annotations, and an output schema, the description is complete. It tells the agent what the tool returns, what the content is, and where it fits in the larger build_bom process.
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 coverage for the single optional parameter is 100%, so the baseline is 3. The tool description does not add parameter-specific detail; it focuses on the resource and output contents, which is sufficient given the schema already documents project_context thoroughly.
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 names a specific resource ('catalogue's reference builds'), enumerates examples (robot, weather station, plant waterer), and specifies the result contents ('roles and candidate parts'). It also explicitly links the tool to the build_bom workflow, distinguishing it from sibling part/category tools.
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?
It clearly positions this tool as 'the starting point for build_bom', giving the agent an actionable context for when to invoke it. However, it does not explicitly name alternatives or exclusion scenarios, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList part categoriesARead-onlyIdempotentInspect
Every category in the catalogue with its part count.
| Name | Required | Description | Default |
|---|---|---|---|
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| categories | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds that the output includes part counts per category, which is useful behavioral context beyond annotations.
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 a single, concise sentence that delivers the essential information about what the tool returns. No wasted words.
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?
With an output schema and comprehensive annotations, the description adequately completes the picture. It clarifies the tool returns all categories with part counts, and the optional parameter is for ranking. Given the tool's simplicity, this is sufficient.
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 only parameter project_context has a detailed description in the schema (100% coverage), including max length and privacy note about logging. The tool description adds no additional parameter meaning 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 'Every category in the catalogue with its part count' clearly states the tool lists all part categories and includes a part count. It distinguishes from siblings like search_parts or get_part, though it doesn't explicitly differentiate.
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 usage for fetching categories in the catalogue, but doesn't provide explicit context on when to use it vs alternatives. The optional project_context parameter suggests ranking use, but no explicit when-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch the catalogue (deep-research contract)BRead-onlyIdempotentInspect
Search the Partsgraph demo catalogue. Returns result ids for fetch. Alias of search_parts shaped to the search/fetch connector contract.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds the output pointer (ids for fetch) and the aliasing relationship, but says nothing about limits, ranking, or empty-result behavior beyond what the output schema provides.
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?
Two short sentences with no filler; the purpose is front-loaded and the workflow hint follows immediately.
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?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What is missing is the query semantics and a clear rule for choosing this over search_parts, which an agent needs given the near-identical sibling.
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 single parameter 'query' has 0% schema description coverage and the description never mentions it, so there is no guidance on query syntax, whether it is natural language or keywords, or the 500-character limit's implications.
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 (search) and resource (Partsgraph demo catalogue) and notes it is an alias of search_parts shaped to the search/fetch connector contract, which meaningfully separates it from the sibling. It does not clarify how it differs from fetch or get_part beyond returning ids.
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?
'Returns result ids for fetch' implies a search-then-fetch workflow, which is useful context. However, it never says when to pick this over search_parts (the tool it aliases) or when not to use it, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_partsSearch the parts catalogueARead-onlyIdempotentInspect
Full-text search over the demo catalogue's provenance-backed part records. Filter by category, build or role. Every attribute returned was corroborated against the manufacturer datasheet or vendor page.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | ||
| build | No | ||
| limit | No | ||
| query | Yes | What you are looking for | |
| category | No | ||
| project_context | No | One sentence on what you are building. Results are ranked for your project. Queries and this context are logged anonymously to power the public demo dashboard. |
Output Schema
| Name | Required | Description |
|---|---|---|
| parts | Yes | |
| query | Yes | |
| matched | Yes | |
| rankedForProject | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real value beyond that by asserting the data-quality guarantee that every returned attribute was corroborated against a manufacturer datasheet or vendor page, which tells the agent how much to trust results.
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?
Two tight sentences with the core action and available filters front-loaded. The provenance sentence is slightly promotional but does carry the trust information noted above, so it largely earns its place.
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?
With an output schema present, return values need not be explained, and annotations handle safety. What is missing is the ranking behavior (results are ordered for the supplied project context) and the default/pagination semantics of 'limit', both central to a search tool.
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 only 33%, so the description must compensate, and it does cover three of the six parameters (category, build, role) as filters. It adds nothing about 'limit' behavior or how 'project_context' re-ranks results beyond what the schema already says.
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 and resource ('full-text search over ... provenance-backed part records') and names the dimensions it filters on, which separates it from get_part and compare_parts. It does not, however, distinguish itself from the sibling tool literally named 'search', leaving an ambiguity an agent must resolve elsewhere.
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?
'Filter by category, build or role' describes capability rather than when to reach for this tool instead of get_part (known part id) or compare_parts (comparison). Usage is inferable from the verb but no alternative is named and no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_bomView a bill of materials (interactive)ARead-onlyIdempotentInspect
Composes the BOM for a reference build and renders it as an interactive view in clients that support MCP Apps. Same data as build_bom.
| Name | Required | Description | Default |
|---|---|---|---|
| choices | No | ||
| build_id | Yes | 2wd-robot, weather-station or plant-waterer |
Output Schema
| Name | Required | Description |
|---|---|---|
| build | Yes | |
| lines | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low. The description adds non-structured context the annotations cannot convey: this tool renders an interactive UI and only works in MCP Apps-capable clients, and it returns the same data as build_bom. It does not say what happens in a non-supporting client, keeping it from a 5.
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?
Two short sentences, zero filler, with the interactive-rendering constraint and the build_bom equivalence front-loaded. Every sentence carries information an agent needs.
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?
An output schema exists, so return values need no explanation, and the annotations carry the safety profile. The description covers client compatibility and data equivalence, leaving only the undocumented 'choices' parameter and the non-supporting-client fallback as minor gaps.
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 description adds no meaning about build_id or the nested 'choices' map beyond what the schema labels. At 50% schema description coverage, 'choices' is an undocumented nested object with no explanation of its keys or purpose anywhere, so the description fails to compensate for the gap.
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 and resource ('composes the BOM for a reference build') plus the rendering behavior ('interactive view'), and explicitly distinguishes itself from the sibling build_bom by noting it is 'Same data as build_bom' but presented as a view. An agent can select between the two without opening either schema.
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?
Gives a clear selection condition: use this in clients that support MCP Apps, and the 'Same data as build_bom' note implies build_bom is the fallback for other clients. It stops short of stating the alternative explicitly ('use build_bom when the client lacks app support'), so it is strong but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
9 tool updates
- Changed
build_bom3 fields changed- added
Input schema / properties / build_id / maxLengthAdded value: +80 - added
Input schema / properties / choices / additionalProperties / maxLengthAdded value: +128 - added
Input schema / properties / choices / propertyNames / maxLengthAdded value: +64
- Changed
check_compatibility3 fields changed- added
Input schema / properties / build_id / maxLengthAdded value: +80 - added
Input schema / properties / part_ids / items / maxLengthAdded value: +128 - added
Input schema / properties / part_ids / maxItemsAdded value: +40
- Changed
compare_parts2 fields changed- added
Input schema / properties / a / maxLengthAdded value: +128 - added
Input schema / properties / b / maxLengthAdded value: +128
- Changed
fetch1 field changed- added
Input schema / properties / id / maxLengthAdded value: +128
- Changed
get_part1 field changed- added
Input schema / properties / id / maxLengthAdded value: +128
- Changed
get_provenance2 fields changed- added
Input schema / properties / code / maxLengthAdded value: +80 - added
Input schema / properties / id / maxLengthAdded value: +128
- Changed
search1 field changed- added
Input schema / properties / query / maxLengthAdded value: +500
- Changed
search_parts4 fields changed- added
Input schema / properties / build / maxLengthAdded value: +80 - added
Input schema / properties / category / maxLengthAdded value: +80 - added
Input schema / properties / query / maxLengthAdded value: +500 - added
Input schema / properties / role / maxLengthAdded value: +80
- Changed
view_bom3 fields changed- added
Input schema / properties / build_id / maxLengthAdded value: +80 - added
Input schema / properties / choices / additionalProperties / maxLengthAdded value: +128 - added
Input schema / properties / choices / propertyNames / maxLengthAdded value: +64
3 tool updates
- Added
fetch - Added
search - Added
view_bom
2 tool updates
- Added
compare_parts - Added
get_provenance
6 tool updates
- First observed
build_bom - First observed
check_compatibility - First observed
get_part - First observed
list_builds - First observed
list_categories - First observed
search_parts
Related MCP Connectors
IC datasheet search: parametric part finding, spec lookup, price comparison — grounded in real PDFs.
Electronic component sourcing, BOM management, and PCB design workflows.
Search and review real KiCad and Altium PCB designs: schematics, BOMs, netlists, DRC/ERC.
Deterministic industrial replacement engine with official catalogs and expert accuracy checks.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI assistants to search millions of electronic components and ICs, retrieve specifications, compare alternates, and submit turnkey BOM procurement requests.4MIT
- AlicenseAqualityBmaintenanceSearches electronic components across DigiKey and Mouser, enabling keyword search, part details, and merged offers with price comparison.4MIT
- AlicenseAqualityAmaintenanceProvides AI agents with instant, structured access to electronic component datasheets, pinouts, and electrical specifications without requiring PDF uploads. It enables seamless part searching, design validation, and side-by-side component comparisons across major hardware providers.1442 npm13MIT
- FlicenseNot gradedqualityCmaintenanceEnables searching for electronic components, comparing prices across distributors, checking availability, and retrieving datasheets through the Nexar/Octopart API with specialized tools for resistors, capacitors, inductors, semiconductors, crystals, and connectors.11-
Glama MCP Gateway
Add one secure layer between your agents and this server.