Skip to main content
Glama
Copper

Copper

Export

export
Idempotent

Generate verified, non-empty KiCad manufacturing and documentation files—including Gerbers, drill, BOM, STEP, PDF/SVG schematics, and 3D renders—for fabrication or review.

Instructions

Export any other manufacturing/documentation output with kicad-cli; the files are verified to exist and be non-empty. kind: pdf_schematic | svg (schematic, one per sheet) | pcb_pdf | step | glb | vrml | ipc2581 (BOM columns from the part-number/MPN fields) | odb | netlist (KiCad s-expr) | bom (CSV grouped by Value/Footprint/part number) | pos (CSV, mm, both sides, DNP excluded) | drill | gerbers | render3d (PNG) | stats (board statistics JSON) | ipcd356. out: file (or folder for svg/drill/gerbers); default /copper-out/export/. For a fab's order pack use fab_export instead. Examples: export(kind='step') · export(kind='pdf_schematic') · export(kind='pcb_pdf', layers=['F.Cu','Edge.Cuts'])

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": {
      "kind": "<kind>"
    },
    "name": "export"
  }
}

Input Schema

NameRequiredDescriptionDefault
outNo
kindYes
viewNorender3d only
layersNo
projectNoproject path (default: active)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare idempotent and non-destructive, so the bar is lower; the description still adds real value by promising output verification ("files are verified to exist and be non-empty") and the default output location. It says nothing about what happens on overwrite of an existing out path, partial failures, or where files land for folder-producing kinds beyond the default.

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 purpose, then a scannable kind list, then output/default, then the sibling exclusion and examples. The long enumeration is information-dense rather than redundant, though the pipe-delimited kind block is terse to the point of being hard to parse quickly.

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 five-parameter tool with no output schema, the description covers what each kind produces, whether the result is a file or folder, and the default destination, which is what an agent needs to call it correctly. Remaining gaps are per-parameter behavior (layers, view) and error/overwrite semantics rather than core purpose.

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

Parameters4/5

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

With only 40% schema coverage the description must carry weight, and it does: every enum value of kind is given concrete meaning and format details (BOM columns from part-number/MPN, pos in mm with both sides and DNP excluded, svg one per sheet), and out is explained as file-vs-folder with a stated default. layers gets meaning only implicitly through the pcb_pdf example and view is left entirely to the schema, so it is not fully compensating.

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 ("Export any other manufacturing/documentation output with kicad-cli") and then enumerates all 16 supported kinds with the artifact each produces. It explicitly carves out the sibling it is not for: "For a fab's order pack use fab_export instead."

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 an explicit alternative with the condition that selects it (fab order pack -> fab_export) plus three concrete call examples showing common invocations. It does not clarify how it relates to other output-oriented siblings such as render or board_build, so the routing guidance is strong but not complete.

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