Skip to main content
Glama

altium_set_parameter

Idempotent

Set schematic component parameters like MPN with preview-first safety: preview changes by default, apply to memory with undo, and require read_write mode.

Instructions

Set schematic component parameters (e.g. MPN). apply=false (default) only previews and never touches Altium; apply=true writes. Edits stay in memory: the document is left modified but NOT saved, and Ctrl+Z in Altium undoes them. Requires the server to be in read_write mode. One undo step per affected sheet. Reserved parameters (Designator, LibReference, Comment, footprint/model links) are refused. Missing parameters are only created with create_if_missing=true. Components on sheets that are not open in Altium are refused. 1 to 50 changes per call; the result includes a read-back verification when applied. The PCB is not updated until the user runs Update PCB.

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": {
      "changes": "<changes>"
    },
    "name": "altium_set_parameter"
  }
}

Input Schema

NameRequiredDescriptionDefault
applyNo
changesYes
create_if_missingNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Adds a great deal beyond the annotations: edits stay in memory and are not saved, Ctrl+Z undoes them, one undo step per affected sheet, read-back verification on apply, reserved parameters refused, and the PCB is not updated until the user runs Update PCB. This is consistent with readOnlyHint=false, destructiveHint=false and idempotentHint=true.

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?

Dense but front-loaded: the preview/write distinction leads, and every subsequent sentence carries a real behavioral constraint. It reads as an ungrouped chain of facts rather than organized sections, which is the only weakness.

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?

Covers everything an agent needs before calling a mutation tool: mode prerequisite, apply semantics, creation gating, refusals, batch limits, undo behavior, and verification. With an output schema present, no return-value description is required.

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% at the top level, so the description must compensate, and it does: both booleans (apply defaulting to preview, create_if_missing gating creation) and the changes array (1 to 50 per call) are explained with non-obvious semantics. The nested ParameterChange fields are already documented in the schema.

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?

States a specific verb and resource: set schematic component parameters (e.g. MPN), which is clearly distinct from the sibling rename/delete/set-from-table operations. It stops short of explicitly naming those siblings as alternatives, but an agent can tell what this tool does without opening the schema.

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?

Gives explicit operating conditions: apply=false previews, apply=true writes, the server must be in read_write mode, missing parameters require create_if_missing=true, and components on unopened sheets are refused. It does not route to the sibling tools (e.g. altium_set_parameters_from_table for bulk table imports), which is the only real gap.

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