Skip to main content
Glama

Extract KiCad PCB footprint (.kicad_mod)

datasheetvend_extract_kicad_footprint
Read-onlyIdempotent

Write a KiCad PCB footprint (.kicad_mod) from a datasheet's package mechanical drawing: pad geometry, pitch, thermal tabs and courtyard, using the datasheet's own recommended land pattern when it prints one, otherwise simplified IPC-7351B fillet math. Emitted files are loaded with kicad-cli (sym/fp upgrade) where it is installed, which is a file-format check, not a DRC or ERC. Only bundle_status "completed" (with final_readiness.physical_truth_approved true) means the placement was independently proven against this document; "needs_review" covers everything else that still produced a file, including one built from the KiCad library or JEDEC/IPC-7351B math instead of this document (see footprint_provenance).

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
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 emitted during generation
kicad_modYesComplete KiCad PCB footprint (.kicad_mod) file content, or null if withheld/not produced.
requestedYesExactly what the caller sent, kept distinct from the resolved identity above.
validationYeskicad-cli file-load result (sym/fp upgrade — a format check, not a DRC).
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.
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

A3.9/5.0
Behavior5/5

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

Goes well beyond the annotations: it states the land-pattern strategy (datasheet-recommended pattern preferred, otherwise IPC-7351B fillet math) and explicitly bounds the kicad-cli (sym/fp upgrade) check as a file-format check, not DRC or ERC. It also defines what 'completed' versus 'needs_review' mean and warns that a needs_review file may come from a library or generic math rather than this document - exactly the caveats an agent needs before trusting the output.

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-loads the action and artifact, and the dense later sentences about status semantics genuinely earn their place. The prose is somewhat run-on with nested quoted literals, which slightly reduces scanability but not information density.

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?

With an output schema present, return shape need not be restated, and the description instead supplies the status/provenance semantics that matter for judging the result. The missing piece is routing guidance relative to the sibling kicad_bundle and kicad_symbol extraction tools.

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%, with documentPath, partName and packageSelection each documented, so the baseline is 3. The description adds the conceptual source ('the datasheet's package mechanical drawing') but no field-level guidance such as how packageSelection interacts with partName for variant disambiguation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

A specific verb and artifact: 'Write a KiCad PCB footprint (.kicad_mod) from a datasheet's package mechanical drawing,' followed by the contents it covers (pad geometry, pitch, thermal tabs, courtyard). The extension makes it distinguishable from datasheetvend_extract_kicad_symbol in practice, but no sibling is named, so mapping to extract_kicad_bundle versus this tool is left to inference.

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?

Usage is only implied by the artifact type; there is no explicit 'use this instead of extract_kicad_bundle' or prerequisite statement about which document must be mapped first. The detailed guidance that is present concerns interpreting bundle_status and footprint_provenance after the call, not when to choose this tool.

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