Skip to main content
Glama

lib_kicad_import

Convert KiCad symbol and footprint files into an ordered Altium library plan, letting you import KiCad parts into Altium instead of hitting a dead end.

Instructions

Convert a KiCad .kicad_sym / .kicad_mod into an Altium plan.

Closes the gap that made KiCad-format part sources useless on the Altium side: this server could export Altium to KiCad but had no path back, so a hit from a KiCad registry or from the local KiCad libraries (see part_search) was a dead end.

Parses into the SAME neutral model the EasyEDA importer uses, so the Altium plan is produced by one shared emitter rather than a second copy that would drift from it.

Give symbol_path, footprint_path, or both. Use symbol_name to pick one symbol out of a multi-symbol library (the first is used otherwise).

MULTI-PART COMPONENTS: a quad gate or dual op-amp converts in ONE call to a real Altium multi-part symbol (part_count plus per-pin owner_part_id), not to N symbols to merge by hand. Set unit to a positive number to convert only that sub-part instead. Units are never merged into a flat symbol: they share coordinates by design, so a merged symbol has every unit's pins stacked on the same points and still looks converted.

HIDDEN PINS: kept, and kept hidden. A hidden pin is electrically real (this is how symbols carry supply rails and no-connects), so dropping it would lose a pin while showing it would clutter the symbol.

DERIVED SYMBOLS: over half of KiCad's standard entries carry no geometry of their own and inherit it from a parent. That link is followed, and warnings says where the geometry came from.

target="altium": returns an ORDERED PLAN of this server's own library tools, exactly like lib_easyeda_import. Nothing is written to Altium; review the plan, then execute the steps.

target="inspect": parse only, return a summary and warnings. Use this first on an unfamiliar library.

DATASHEET DISCIPLINE: a converted footprint is somebody else's drawing, not a verified land pattern. Audit it against the manufacturer document with lib_audit_footprint_vs_datasheet before trusting it.

Returns: {"ok": ..., "component": {...}, "warnings": [...]} plus "steps"/"summary" for target="altium".

Input Schema

NameRequiredDescriptionDefault
unitNo
targetNoaltium
pcblib_pathNo
schlib_pathNo
symbol_nameNo
symbol_pathNo
model_3d_pathNo
footprint_pathNo
include_body_artNo

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: nothing is written to Altium (a plan is returned for review), multi-part units are preserved rather than flattened with an explanation of why merging corrupts geometry, hidden pins are retained and kept hidden, and derived symbols are resolved with provenance surfaced in warnings. This is materially more than a restatement of the name.

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?

The purpose is front-loaded and the behavioral sections are capitalized headings (MULTI-PART COMPONENTS, HIDDEN PINS, DERIVED SYMBOLS, DATASHEET DISCIPLINE) that make scanning easy. Some of the opening justification ("Closes the gap that made KiCad-format part sources useless...") is narrative context rather than actionable instruction and could be trimmed.

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?

An output schema exists so return values needn't be explained, yet the description still summarizes the response shape including steps/summary per target. The remaining gap is the four undocumented path/boolean parameters on a 9-parameter tool with no schema descriptions.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate; it explains symbol_path, footprint_path, symbol_name, unit, and both target modes ("altium" = ordered plan, "inspect" = parse-only summary). However pcblib_path, schlib_path, model_3d_path, and include_body_art are never mentioned, leaving four parameters entirely undocumented anywhere.

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?

States a specific verb and resource pair ("Convert a KiCad .kicad_sym / .kicad_mod into an Altium plan") and names the exact formats handled. It also distinguishes itself from its closest sibling, noting it reuses the same neutral model and emitter as lib_easyeda_import and that it is the reverse path of lib_export_kicad_symbol/lib_export_kicad_footprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Gives explicit selection rules: "Give ``symbol_path``, ``footprint_path``, or both", use ``symbol_name`` for multi-symbol libraries, and set ``unit`` to narrow to one sub-part. It also recommends target="inspect" first on unfamiliar libraries and routes post-conversion verification to lib_audit_footprint_vs_datasheet.

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