Skip to main content
Glama

lib_extract_intlib

Extract .SchLib and .PcbLib sources from an Altium .IntLib, then report the files found on disk so they can be opened with other library tools.

Instructions

Extract .SchLib + .PcbLib sources from an .IntLib.

Opens the integrated library in Altium, runs the editor's Extract Sources command, then probes Altium's conventional output locations (a sibling folder named after the IntLib base name, falling back to the IntLib's own directory) to report which source files actually appeared on disk.

After this returns with sch_lib_found and / or pcb_lib_found true, the produced files can be opened with the rest of the library toolset -- lib_get_components, lib_get_footprints, lib_copy_component, etc. -- by passing the reported sch_lib_path / pcb_lib_path as the library_path argument.

Args: intlib_path: Absolute path to the .IntLib file.

Returns: Dict with intlib_path, extract_dir, sch_lib_path, sch_lib_found, pcb_lib_path, pcb_lib_found. A _found flag of False means Altium did not produce that source -- either the extract command name needs adjusting for the local Altium build, the IntLib does not contain that kind of source, or write permissions prevented the dump.

Input Schema

NameRequiredDescriptionDefault
intlib_pathYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.4/5.0
Behavior4/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 well: it discloses that it opens the library in Altium, runs an editor command, writes source files to disk, and enumerates why a _found flag might be false (command name mismatch, missing source, write permissions). It doesn't say whether files are overwritten or whether the operation is idempotent.

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 is front-loaded in the first line, then mechanism, then Args/Returns. The middle paragraph on probing locations and the failure-mode list are useful, though slightly verbose since an output schema already exists to convey return keys.

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 tool that mutates disk and depends on an external application, the definition covers mechanism, side effects, downstream usage, and every documented failure cause — enough for an agent to call it and interpret the result correctly, even though the output schema already documents the return keys.

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 coverage is 0% (bare 'Intlib Path' string), but the description supplies the meaning the schema lacks: the argument is an absolute path to a .IntLib file. With a single parameter there is little more to document, so 4 is appropriate.

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 (extract .SchLib and .PcbLib sources from an .IntLib) and distinguishes it from siblings like lib_extract_cse_zip or lib_kicad_import by naming the exact input format and the files produced.

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?

Clearly explains the downstream workflow — after a _found flag is true, use lib_get_components, lib_get_footprints etc. by passing sch_lib_path/pcb_lib_path. Does not explicitly compare against alternative extraction/import tools or state prerequisites (Altium must be running), so it stops short of a 5.

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