Skip to main content
Glama

pcb_bga_fanout

Generate a BGA fanout via-placement plan using dog-ear or inline strategies. Provide ball coordinates and pitch to receive per-ball via locations and track widths for escape routing.

Instructions

Generate a BGA fanout via-placement plan (dog-ear or inline strategy).

Returns per-ball via coordinates and suggested track widths so the agent can call pcb_add_via and pcb_add_track to physically fanout the BGA. Actual pad coordinates must come from the board footprint (use pcb_get_pads).

Args: balls: List of ball dicts with keys: row (str, e.g. "A"), col (int, 1-based), net (str), x_mm (float, ball centre X), y_mm (float, ball centre Y). pitch_mm: Ball pitch in mm (e.g. 0.5, 0.65, 0.8, 1.0). via_drill_mm: Via drill diameter in mm (default 0.2). via_annular_mm: Via annular ring width in mm (default 0.1). escape_layer: Inner copper layer to fan out to (default "In1.Cu"). strategy: "dog_ear" (diagonal escape, most common) or "inline" (horizontal escape, for large pitch).

Returns: JSON string with via placement plan for each ball.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ballsYes
pitch_mmYes
strategyNodog_ear
escape_layerNoIn1.Cu
via_drill_mmNo
via_annular_mmNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

With no annotations, the description must disclose behavior. It clearly implies a non-destructive planning operation ('Returns per-ball via coordinates... so the agent can call pcb_add_via and pcb_add_track'), but it never explicitly states that the tool does not modify the board. It also does not mention potential error conditions or constraints (e.g., support for specific BGA shapes), which leaves some behavioral aspects under-disclosed.

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?

The description is efficiently organized: a one-sentence purpose, a workflow sentence, and a structured Args list. Every sentence adds value, and the parameter details are essential given the sparse schema. No filler or redundancy.

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?

The description covers purpose, workflow, parameters, return type, and prerequisite/follow-up tools. It is missing explicit edge-case or limitation statements (e.g., valid ball grid types, error scenarios), but for a planning tool with this level of disclosure it is quite complete. The return description is minimal but an output schema exists to supplement.

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 carries the full burden for all six parameters. The Arg list provides detailed semantics for every parameter, including ball dict keys, defaults, units, and strategy meanings. This goes well beyond the bare property names and types in the JSON schema.

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?

The description clearly states the tool 'Generate a BGA fanout via-placement plan', specifying the verb, resource, and strategy variants. It also explicitly distinguishes itself from the physical placement tools by stating it returns a plan for use with pcb_add_via and pcb_add_track.

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?

The description provides clear workflow context: it returns a plan for the agent to use with pcb_add_via and pcb_add_track, and explicitly directs the agent to pcb_get_pads for actual pad coordinates. It stops short of enumerating when-not-to-use or alternative planning tools, but the guidance is strong for a tool with no close siblings.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Valxyria/kicad-mcp-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server