Skip to main content
Glama

obj_batch_create

Batch-create multiple schematic objects in one IPC round-trip to avoid repeated LLM turns and per-object saves.

Instructions

Create many schematic objects in ONE IPC round-trip.

PREFER THIS over looping obj_create. Each create costs one LLM turn when done one at a time; batched it's a single PreProcess/PostProcess + one save for the whole set.

Args: operations: List of create dicts, each with: - scope: "active_doc" (default), only active_doc is currently honored for creates. - object_type: Altium type name (e.g. "eNetLabel", "eJunction", "eNoERC"). - properties: pipe-separated Name=Value list, same format as obj_create accepts. - container: "document" (default) or "component" (for library-symbol contents when a lib is active).

Example, drop 3 net labels in one call: obj_batch_create(operations=[ {"object_type": "eNetLabel", "properties": "Text=VCC|Location.X=100|Location.Y=200"}, {"object_type": "eNetLabel", "properties": "Text=GND|Location.X=100|Location.Y=400"}, {"object_type": "eNetLabel", "properties": "Text=SCK|Location.X=300|Location.Y=200"}, ])

Returns: Dict with created, failed, total counts and indexed failures. Known unsupported properties (IsHidden on anything but pins, parameters, designators and sheet names; Text on a type without it, such as eParameterSet or eWire) reject that item before registration. Its failure includes reason UNSUPPORTED_PROPERTY, property and object_type. Other valid items still run.

Input Schema

NameRequiredDescriptionDefault
operationsYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.6/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 partial-failure semantics ('Other valid items still run'), per-item rejection with reason/UNSUPPORTED_PROPERTY, and the save model. It omits permissions/preconditions and any batch-size or rate limits, which are the remaining behavioral gaps.

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 verb and the preference directive, then arguments, then an example. The example and the unsupported-property paragraph are long but each carries actionable content; slight trimming would raise this to a 5.

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?

For a batched mutation over an opaque parameter, the description covers argument shapes, supported object types, failure modes and the fact that an output schema exists ('Dict with created, failed, total counts'). Missing only edge constraints: maximum operations per call and whether a partially failed batch is still saved.

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 the schema is nearly opaque (array of objects with string additionalProperties), but the description fully compensates by documenting every operation key — scope, object_type, properties format with pipe-separated Name=Value, and container — plus a concrete three-item example. This is more useful than the schema itself.

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, resource and defining scope: 'Create many schematic objects in ONE IPC round-trip.' It explicitly contrasts with the sibling obj_create ('PREFER THIS over looping obj_create'), so an agent can distinguish batched vs. singleton creation without reading either schema.

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 an explicit selection rule with cost rationale (each individual create costs an LLM turn; batched is one PreProcess/PostProcess and one save). It also scopes usage: 'only active_doc is currently honored for creates,' which tells the agent when a request will not work.

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