Skip to main content
Glama

lib_add_footprint_tracks

Batch-add many tracks to an EasyEDA Pro footprint in one call, avoiding repeated single-track loops when drawing silkscreen or assembly outlines.

Instructions

Add MANY tracks to the current footprint in ONE call.

PREFER THIS over looping lib_add_footprint_track. A silkscreen outline + assembly outline is 8+ segments; built one at a time that's 8+ LLM turns and 8+ PreProcess/PostProcess+save cycles. Batched it's one turn, one PreProcess/PostProcess, one save.

Args: tracks: List of track dicts, each with: - x1, y1, x2, y2 (int, mils) -- endpoints - width (int, mils, default 10) - layer (str, default "TopOverlay" silkscreen). Any Altium layer name, e.g. "BottomOverlay" or "Mechanical1".."Mechanical16" for courtyard/assembly.

Example, a 100x60 mil silkscreen rectangle in one call: lib_add_footprint_tracks(tracks=[ {"x1": -50, "y1": -30, "x2": 50, "y2": -30}, {"x1": 50, "y1": -30, "x2": 50, "y2": 30}, {"x1": 50, "y1": 30, "x2": -50, "y2": 30}, {"x1": -50, "y1": 30, "x2": -50, "y2": -30}, ])

footprint_name picks the footprint to write into. Empty uses the editor's current footprint; a name makes that footprint current first and refuses if it cannot, since otherwise the primitives land in whichever footprint another call left current.

units is "mil" (default) or "mm" for every track in the call, kept exact rather than rounded to whole mils.

Returns: Dict with added, failed, total counts.

Input Schema

NameRequiredDescriptionDefault
unitsNomil
tracksYes
footprint_nameNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.9/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does it: it discloses per-call unit handling ('kept exact rather than rounded to whole mils'), that footprint_name makes a footprint current first and refuses if it cannot (preventing primitives landing in a stale footprint), and the turn/save-cycle implications of batching.

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 selection advice and the key constraint, and the worked example is genuinely useful. The turn/save-cycle point is repeated twice ('8+ PreProcess/PostProcess+save cycles' and 'one PreProcess/PostProcess, one save'), which is the only real redundancy.

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 batched mutation tool with no annotations and a generic item schema, the description covers what fills the batch, unit semantics, target-footprint selection and its failure mode, and expected return counts. Nothing needed to invoke it correctly is missing.

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

Parameters5/5

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

Schema coverage is 0% and tracks is an untyped object, so the description must compensate; it documents every track field (x1, y1, x2, y2, width default 10, layer default TopOverlay) with units and layer-name examples, plus footprint_name and units behavior. This fully compensates for the missing schema descriptions.

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 with scope: 'Add MANY tracks to the current footprint in ONE call.' It explicitly contrasts itself with the sibling lib_add_footprint_track, so the agent can distinguish the batch vs single-primitive tools without opening schemas.

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?

'PREFER THIS over looping lib_add_footprint_track' names the alternative and gives the concrete condition (silkscreen outline + assembly outline = 8+ segments) plus the cost of not batching. This is explicit when-to-use guidance with a named sibling.

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