Skip to main content
Glama

part_fetch

Fetch a part's details by its search-returned ref, preserving the provider source. Optionally download provider library files and warn when a file's format exceeds local KiCad.

Instructions

Fetch one part's detail, by the ref a search returned.

Pass the ref straight through: it is provider:part_id, so the source travels with the id and the merged results behave like one catalogue. part_search puts a ref on every hit.

The source is still explicit, never inferred. Nothing here picks a provider for you: a bare id with no provider and no recognised prefix is refused rather than guessed at, because guessing is how one source quietly becomes the answer to everything. provider may still be given separately, and wins over a prefix if both are present.

Set download_dir to also write the provider's library files there, when it offers any. Off by default because it writes to disk, and a fetch should not do that unasked.

Downloaded files are checked against the KiCad installed on this machine: a registry may publish a NEWER s-expression format than the local KiCad can open (observed live, format 20260206 against KiCad 10.0.1's 20251024, where the symbol parser refuses the file outright). Any such file comes back with a *_warning entry rather than looking like a clean download.

Returns the provider's own detail plus a normalised summary (mpn, manufacturer, datasheet, provenance, license) where the provider supplies one, and files when a download was asked for.

Input Schema

NameRequiredDescriptionDefault
part_idYes
providerNo
download_dirNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: provider is never inferred and a bare id is refused, the provider argument overrides a prefix, download_dir writes to disk and is off by default, and downloaded files are validated against the local KiCad with newer s-expression formats surfaced as *_warning rather than a clean result. These are non-obvious failure and side-effect behaviours an agent could not infer.

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?

Purpose and the ref contract are front-loaded, and the ordering (ref, provider, download_dir, validation, returns) follows the call sequence. Some editorialising ('guessing is how one source quietly becomes the answer to everything') is longer than needed but does reinforce the refusal behaviour.

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

Completeness5/5

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

For a three-parameter fetch with an output schema present, the description covers input contract, precedence rules, side effects, error/warning behaviour, and even summarises the return envelope. Nothing needed to invoke it correctly is missing.

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

Parameters5/5

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

Schema coverage is 0%, so the description must supply all parameter meaning, and it does: part_id is defined as a provider:part_id ref, provider is described as optional and precedence-bearing over a prefix, and download_dir is described as an opt-in disk write. All three parameters gain semantics absent from 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?

Opens with a specific verb and resource ('Fetch one part's detail') and immediately scopes it to the ref returned by a search, which distinguishes it from the sibling part_search that produces those refs. An agent can pick 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.

Usage Guidelines4/5

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

Explicitly instructs passing the ref straight through and notes part_search emits a ref on every hit, which is clear routing guidance. It stops short of an explicit 'call part_search first if you lack a ref' exclusion, but the workflow is unambiguous.

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

Deploy Server

Other Tools