Skip to main content
Glama

altium_set_parameters_from_table

Idempotent

Modify Altium schematic parameters in bulk from a CSV input. Safely apply batch changes or preview modifications before committing.

Instructions

Bulk-set parameters from CSV text: a header row with a 'Designator' column, and one column per parameter name; empty cells are skipped (never blank a value). Up to 500 cell changes, sent in batches of 50 (one undo step per batch). 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.

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": {
      "csv": "<csv>"
    },
    "name": "altium_set_parameters_from_table"
  }
}

Input Schema

NameRequiredDescriptionDefault
csvYes
applyNo
create_if_missingNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Rich disclosure beyond annotations: batch size of 50 per undo step, 500 cell cap, empty cells skipped, edits stay in memory (document modified but NOT saved), Ctrl+Z undo, and a read_write server-mode prerequisite. Consistent with destructiveHint=false (never blanks values).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action, then layers format, limits, apply semantics, persistence, and prerequisite. Every sentence carries distinct information with no filler.

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?

Covers mutation behavior, batching, persistence, undo, and prerequisites well, and an output schema exists so return values needn't be explained. The only gap is the unexplained create_if_missing parameter.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It fully explains 'csv' (header with Designator column, one column per parameter) and 'apply' (default false, preview vs write), but 'create_if_missing' is never mentioned, leaving one of three parameters undocumented.

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+modality: bulk-setting parameters from CSV text. The 'Bulk-set' phrasing plus the CSV format detail makes it clearly distinct from the single-value sibling altium_set_parameter.

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 clear guidance on the apply flag: default false previews without touching Altium, apply=true writes. This tells the agent when to preview vs commit. It doesn't explicitly point to altium_set_parameter as the alternative for single edits, 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.