Skip to main content
Glama

Extract complete KiCad CAD bundle

datasheetvend_extract_kicad_bundle
Read-onlyIdempotent

Generate a KiCad footprint (.kicad_mod) and schematic symbol (.kicad_sym) from a datasheet in one call. Both files are loaded with kicad-cli where it is installed (a file-format check, not a DRC/ERC) and passed through the same deterministic copper, courtyard, pin-1 and pad-placement checks the dashboard uses. bundle_status "completed" means both files were independently proven against this document; "needs_review" means a file was produced (possibly from the KiCad library or JEDEC/IPC-7351B math instead of this document — see footprint_provenance/symbol_provenance) without that proof; "cannot_extract" means nothing usable was produced, and the credits for this call are refunded automatically (status FAILED).

Input Schema

NameRequiredDescriptionDefault
partNameNoOptional part number / MPN to disambiguate package variants.
documentPathYeshttps:// URL to the datasheet PDF. The remote /api/mcp endpoint accepts ONLY https:// URLs (it downloads them); a local filesystem path works solely in local stdio mode (npm run mcp:serve)..
packageSelectionNoOptional package/variant (e.g. 'LQFP48', 'SOIC8', 'QFN32').

Output Schema

NameRequiredDescriptionDefault
filesYes
inputsYes
reviewYes
statusYesThe pipeline's own run status. FAILED means nothing usable was produced and the credits for this call are refunded automatically.
contractYesContract schema identifier: kicad_evidence_v1
warningsYesEngineering warnings
requestedYesExactly what the caller sent, kept distinct from the resolved identity above.
bundle_statusYescompleted = both requested files were proven against this document. needs_review = a run finished (or a fallback file was attached) without that proof. cannot_extract = nothing usable. null = the pipeline never reached a stage that could compute this.
status_detailYes
human_warningsYes
final_readinessYesThe emit gate's full verdict. null when the pipeline never reached this stage.
package_variantYesResolved package code.
symbol_provenanceYesSet only when this file did NOT come from this document's own extraction (a KiCad-library match or JEDEC/IPC-7351B math instead). null means the file was built from this document.
validation_reportYeskicad-cli file-load result (sym/fp upgrade — a format check, not a DRC).
footprint_provenanceYesSet only when this file did NOT come from this document's own extraction (a KiCad-library match or JEDEC/IPC-7351B math instead). null means the file was built from this document.
manufacturer_part_numberYesResolved by the pipeline's identity resolution — not an echo of the input. See requested.part_name for what was sent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations: it discloses that kicad-cli loading is a file-format check and explicitly not a DRC/ERC, that the same deterministic copper/courtyard/pin-1/pad checks as the dashboard apply, and what each of the three bundle_status values means, including provenance fallbacks (KiCad library, JEDEC/IPC-7351B). It also states credits are refunded automatically on cannot_extract, which is a substantive billing behavior an agent must know.

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?

Front-loaded with the core action, then dense status semantics with no filler sentences. The final sentence is long and parenthetical-heavy, which costs a little readability, but every clause carries information.

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?

An output schema exists, so return values need not be enumerated, yet the description still explains the outcome taxonomy (completed / needs_review / cannot_extract) and the provenance fields an agent must inspect to judge trustworthiness. Nothing needed to invoke or interpret a call is missing.

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?

All three parameters are fully documented at the schema level (100% coverage), including the https-only restriction and the stdio-mode exception. The description adds no additional meaning about partName, packageSelection, or how they interact with provenance selection, so the baseline 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 first sentence names a specific verb ("Generate"), both concrete artifacts (.kicad_mod and .kicad_sym), the source (a datasheet), and the bundling scope ("in one call"). That scope distinguishes it from the single-artifact siblings datasheetvend_extract_kicad_footprint and datasheetvend_extract_kicad_symbol without ambiguity.

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 phrase "in one call" implies this replaces making two separate calls, and the bundle_status semantics tell the agent how to interpret outcomes. However, the description never explicitly names the footprint-only or symbol-only siblings as alternatives, nor states a condition for choosing this over them.

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