Skip to main content
Glama

altium_library_build

Builds a new flat or hierarchical single-sheet Altium project from resolved DbLib records, compares compiled nets, and verifies saved supplier parameters and footprint links.

Instructions

Create a new single-sheet, flat or hierarchical project using resolved DbLib records, compare compiled nets, and verify saved supplier parameters and footprint links. Does not verify ERC or native 3D rendering.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "spec": "<spec>"
    },
    "name": "altium_library_build"
  }
}

Input Schema

NameRequiredDescriptionDefault
specYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is already covered; the description usefully adds that it creates a project, compares nets, and verifies saved parameters, plus an explicit negative scope for ERC/3D. It omits practical behavior such as whether existing project files are overwritten, where output is written, or what a partial/failed build does — meaningful gaps for a write-capable tool.

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?

Two tight sentences with no filler, and the primary action is front-loaded. The first sentence does cram three distinct operations into one clause chain, which slightly hurts scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a build tool taking an opaque nested object with no output schema, the description should explain the spec's expected shape or at least the return/verification outcome. It leaves both the input contract and the result of the 'compare compiled nets' step undocumented, which is insufficient given the complexity.

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

Parameters2/5

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

There is a single required 'spec' parameter that is an untyped nested object with 0% schema description coverage. The description gestures at what the spec controls (single-sheet/flat/hierarchical topology, DbLib-derived records, supplier parameters, footprint links) but never maps these to spec fields or gives structure, so the agent cannot construct a valid spec from the definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a concrete verb and resource ('Create a new single-sheet, flat or hierarchical project') and adds the follow-on actions of comparing compiled nets and verifying supplier parameters/footprint links. It does not, however, distinguish this from the similar-sounding sibling altium_build or say how it relates to altium_library_prepare, leaving the agent to guess which build variant to pick.

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

Usage Guidelines3/5

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

'using resolved DbLib records' implies a prerequisite step (a library query/resolve must have run first), and the closing sentence carves out scope by saying ERC and 3D rendering are not verified. But there is no explicit when-to-use versus altium_build/altium_prepare guidance and no stated ordering relative to altium_library_query or altium_library_validate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.