Skip to main content
Glama

lib_add_symbol_arc

Add an arc to the current library symbol by specifying center coordinates, radius, and start/end angles to create custom symbol graphics.

Instructions

Add an arc to the current library symbol.

Args: x_center: Center X coordinate in mils y_center: Center Y coordinate in mils radius: Arc radius in mils start_angle: Start angle in degrees (0 = right, 90 = up) end_angle: End angle in degrees width: Line width (0=zero, 1=small, 2=medium, 3=large) grid: snap grid (mils); arcs are glyph detail and don't need the 100-mil pin grid (rule 15), so the default is a finer 25 (e.g. inductor coils). Pass 100 for coarse, 0/1 for none.

Returns: Dictionary confirming arc addition

Input Schema

NameRequiredDescriptionDefault
gridNo
widthNo
radiusYes
x_centerYes
y_centerYes
end_angleNo
start_angleNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It discloses the units, the angle convention and that it returns a confirmation dictionary, but omits whether the arc is committed immediately, whether it can be undone, what happens if no symbol is current, or what the confirmation contains beyond 'confirming arc addition'.

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 one-line purpose followed by tight Args/Returns blocks; every parameter line earns its place. The grid explanation runs to three clauses and the Returns line is redundant given the output schema, keeping it short of a 5.

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

Completeness3/5

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

An output schema exists, so return-value explanation is not required, and parameter semantics are covered thoroughly. What is missing for a mutation tool with zero annotation coverage is the state prerequisite (a current symbol in an open library) and any indication of persistence or failure modes.

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 description coverage is 0%, so the description must do all the work and it does: every one of the 7 parameters is documented with units (mils, degrees), a coordinate convention (0 = right, 90 = up), an enumerated mapping for width (0-3 with named sizes) and an explicit rationale for the grid default of 25 versus 100 or 0/1. This adds substantial meaning the schema lacks.

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 + resource: adds an arc to the *current library symbol*, which implicitly separates it from lib_add_symbol_lines, lib_add_symbol_rectangle and lib_add_footprint_arc. It never names those siblings or says how the arc primitive differs from them, so differentiation is inferential rather than explicit.

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?

The description implies usage (glyph detail, inductor coils) and gives one concrete guidance note about the grid default, but there is no explicit when-to-use / when-not-to-use statement and no mention of the precondition that a current symbol must already be selected or created (lib_set_current_component / lib_create_symbol).

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

Deploy Server

Other Tools