Skip to main content
Glama

Koppar

Register a custom symbol

create_custom_symbol

Register a connectable schematic symbol for a part that is NOT in KiCad's libraries (search_kicad_symbol returned nothing). Use this for specialty ICs — LED-matrix drivers, niche sensors, etc. — INSTEAD of telling the synthesizer to model the part with discrete passives (which leaves every pin dangling and breaks the board). Provide the full datasheet pinout. The part then becomes available to the synthesizer as Part('custom', '') with the exact pin names you supply here, and is added to the Verified parts table. A part with three or more pins needs footprint= naming a real, in-library footprint for its package (search_kicad_footprint with the family and pin count, e.g. 'LGA-14'); the call is rejected without one, since a generated grid of pads cannot be assembled. List every pad of the footprint, NC pins included. The symbol belongs to design_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesPart number, used as the symbol name.
pinsYesEvery pin from the datasheet.
datasheetNo
design_idYesThe design id returned by create_design or list_designs.
footprintYesA 'Library:Footprint' from search_kicad_footprint.
referenceNoReference prefix, e.g. 'U'.
descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations establish this is a non-read-only, non-destructive write; the description adds substantial context beyond them: the call is rejected without a footprint for 3+ pins, the symbol becomes available to the synthesizer as Part('custom','<name>'), it is added to the Verified parts table, and every pad including NC pins must be listed. That is exactly the preconditions and side effects an agent needs.

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 the critical constraint (footprint requirement), then effects. Every sentence carries information, though the density (multiple parenthetical asides and cross-references) makes it slightly heavier than necessary.

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?

No output schema exists, and the description compensates by explaining the resulting effect (symbol becomes synthesizer-accessible, added to Verified parts table). With constraints, preconditions, and outcome all covered for a 7-param write tool, nothing essential is missing.

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 71% schema coverage the baseline is roughly 3, but the description goes further: it defines name as the part number, pins as the full datasheet pinout with every pad including NC, and footprint as a real in-library footprint. It omits guidance on datasheet, reference, and description params, but those are minor.

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+scope: 'Register a connectable schematic symbol for a part that is NOT in KiCad's libraries'. It explicitly distinguishes itself from search_kicad_symbol (the sibling it responds to) and from the discrete-passive alternative approach, so an agent can tell it apart 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 Guidelines5/5

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

Gives explicit when-to-use (specialty ICs, parts not in libraries), when-not (INSTEAD of telling the synthesizer to model the part with discrete passives), and the prerequisite discovery path (search_kicad_symbol returned nothing). It also routes to search_kicad_footprint for the required footprint argument.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources