Extract KiCad PCB footprint (.kicad_mod)
datasheetvend_extract_kicad_footprintWrite 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
| Name | Required | Description | Default |
|---|---|---|---|
| partName | No | Optional part number / MPN to disambiguate package variants. | |
| documentPath | Yes | https:// 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).. | |
| packageSelection | No | Optional package/variant (e.g. 'LQFP48', 'SOIC8', 'QFN32'). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | Yes | ||
| review | Yes | ||
| status | Yes | The pipeline's own run status. FAILED means nothing usable was produced and the credits for this call are refunded automatically. | |
| contract | Yes | Contract schema identifier: kicad_evidence_v1 | |
| warnings | Yes | Engineering warnings emitted during generation | |
| kicad_mod | Yes | Complete KiCad PCB footprint (.kicad_mod) file content, or null if withheld/not produced. | |
| requested | Yes | Exactly what the caller sent, kept distinct from the resolved identity above. | |
| validation | Yes | kicad-cli file-load result (sym/fp upgrade — a format check, not a DRC). | |
| bundle_status | Yes | completed = 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_detail | Yes | ||
| human_warnings | Yes | ||
| final_readiness | Yes | The emit gate's full verdict. null when the pipeline never reached this stage. | |
| package_variant | Yes | Resolved package code. | |
| symbol_provenance | Yes | Set 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_provenance | Yes | Set 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_number | Yes | Resolved by the pipeline's identity resolution — not an echo of the input. See requested.part_name for what was sent. |