Skip to main content
Glama

proj_get_connectivity

Retrieve pin-to-net connectivity for a specified component: compiles the project and returns each pin's number, name, net assignment, and electrical type for design review.

Instructions

Get pin-to-net connectivity for a specific component.

IMPORTANT, if you need connectivity for MORE THAN ONE component, use proj_get_connectivity_many (batch). Looping this tool for a set of designators is the biggest wall-time sink in design-review workflows.

Compiles the project and returns every pin with number, name, net assignment, and electrical type.

Args: designator: Component designator (e.g., "U1", "R8") project_path: Optional project path. If None, uses active. force_recompile: SaveAll + invalidate cache + recompile before reading. Use when you need a guaranteed-fresh netlist.

DATASHEET DISCIPLINE: pin_name in the response comes from the symbol, which can be wrong. Before reasoning about the pin's function (input vs output, drive strength, voltage range, active level), fetch the manufacturer datasheet and verify against its pin-description table. The response carries _datasheet_guidance + _datasheet_parts.

Returns: Dict with designator, comment, sheet, pin_count, pins[], plus _datasheet_guidance + _datasheet_parts.

Input Schema

NameRequiredDescriptionDefault
designatorYes
project_pathNo
force_recompileNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.9/5.0
Behavior5/5

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

No annotations exist, so the description carries the full burden and does: it discloses that the tool compiles the project, that force_recompile triggers SaveAll + cache invalidation + recompile, and that pin_name may be wrong because it comes from the symbol, plus the datasheet verification discipline. These are non-obvious side effects an agent could not infer elsewhere.

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 and the batch alternative, then args and caveats in labeled sections; well structured. It is somewhat long, and the datasheet discipline paragraph plus the Returns section repeat some of what the output schema already covers, so it is slightly over budget.

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?

For a 3-parameter tool with no annotations but an output schema, the description covers the compile side effects, the freshness tradeoff, the return shape summary, and the critical reliability caveat about pin names. An agent has everything needed to call it correctly and interpret results.

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 compensate, and it documents all three parameters: designator with examples ('U1', 'R8'), project_path with the default-vs-active semantics ('If None, uses active'), and force_recompile with its full behavioral meaning. Nothing is left requiring schema inference.

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 ('Get pin-to-net connectivity') plus the exact scope ('for a specific component'), and the return payload is enumerated (pin number, name, net, electrical type). An agent can instantly distinguish this from proj_get_connectivity_many, which is named explicitly.

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 an explicit when-not rule with the alternative: 'if you need connectivity for MORE THAN ONE component, use proj_get_connectivity_many (batch)' and explains why looping is costly. It also conditions force_recompile usage ('Use when you need a guaranteed-fresh netlist').

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