Skip to main content
Glama
geniuskey

klayout-draw-mcp

by geniuskey

klayout-draw-mcp

An MCP server for drawing GDS layouts with KLayout — generate, edit, and view layouts from an AI assistant such as Claude Code or Claude Desktop.

Layout geometry is built in-process with the standalone klayout Python module (no GUI needed). The installed KLayout application is launched only for viewing or manual editing.

Tools

Tool

Purpose

new_layout(top_cell, dbu)

Start a new in-memory layout (coordinates in micrometers)

add_box(layer, x1, y1, x2, y2, datatype)

Add a rectangle

add_polygon(layer, points, datatype)

Add a polygon from [x, y] vertices

add_path(layer, points, width, datatype)

Add a path with width

add_label(layer, x, y, text, datatype)

Add a text label

create_cell(name) / use_cell(name)

Create/select the active drawing cell

place_cell(cell, x, y, orient, nx, ny, dx, dy)

Place an instance or array of a cell

add_via(x, y, bottom_layer, top_layer, cut_layer, …)

Via: cut array + enclosing metal

add_wire(layer, points, width)

Manhattan wire (auto L-corners)

layout_info()

Inspect current layout (layers, bbox, shape count)

load_gds(path, top_cell?)

Load an existing GDS/OASIS into the session for editing

inspect_gds(path?)

Per-layer shape count, area and bbox of a file or the session

drc_check(rules, path?)

Simple DRC: spacing / width / overlap / separation / enclosure

save_gds(path, open_after)

Write GDS/OASIS; optionally open in the editor

open_layout(file_path)

Open a file in KLayout (viewer)

open_editor(file_path?)

Open KLayout in editor mode, or a blank layout

run_script(code)

Run arbitrary Python with klayout.db (cell hierarchy, arrays, booleans, DRC, ...)

Related MCP server: KiCAD Schematic Manipulation MCP Server

Requirements

  • Python ≥ 3.10

  • The klayout and mcp Python packages (installed via the steps below)

  • The KLayout application — only needed for open_layout / open_editor

Install

uv sync

Register with Claude Code

claude mcp add klayout -s user -- "<repo>/.venv/Scripts/python.exe" -m klayout_draw_mcp.server

On macOS/Linux use .venv/bin/python.

Usage

"Draw a 5×5 µm box on layer 1 and a 2 µm-wide path, then save to out.gds and open it."

Claude calls new_layoutadd_box / add_pathsave_gds(open_after=True).

You can also open and check an existing layout:

"Load chip.gds, check that M1 spacing ≥ 0.15 µm and that OD never overlaps POLY, and report violations."

Claude calls load_gdsinspect_gdsdrc_check([...]), then edits and save_gds. See Editing &amp; DRC.

For anything beyond the basic shapes, run_script exposes the full klayout.db API.

Examples

Self-contained scripts in examples/. Each builds a layout with the standalone klayout.db module and writes a GDS:

uv run python examples/cis_aps_pixel.py out.gds

You can also paste the body of a script's build() function into the run_script tool. The scripts share one layer map (OD 3/0, POLY 6/0, NPLUS 4/0, METAL1 9/0, ...).

Example

What it draws

basic_shapes.py

The four primitives: box, path, polygon, label

nmos_transistor.py

A single NMOS (active, poly gate, n+, contacts, M1 S/G/D)

cmos_inverter.py

A CMOS inverter: PMOS over NMOS, shared gate, Vdd/Vss rails

cis_aps_pixel.py

A 1 µm 4T CMOS image-sensor pixel, tiled as a 2×2 array

Place &amp; route skill

skills/klayout-pnr/ packages place-and-route recipes — row placement, power rails, and an obstacle-aware maze (Lee) router — plus a SKILL.md workflow guide for assistants. Copy it to your skills directory to have it auto-discovered:

cp -r skills/klayout-pnr ~/.claude/skills/

Documentation

Full docs (Getting Started walkthrough, examples, editing/DRC, place &amp; route) are at https://geniuskey.github.io/klayout-draw-mcp/.

Note

run_script executes arbitrary Python locally, in-process. Only run scripts you trust.

Available Tools

18 tools
add_boxC

Add a rectangle (micrometers) on GDS layer/datatype.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1Yes
x2Yes
y1Yes
y2Yes
layerYes
datatypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided. The description does not disclose side effects, coordinate system details (e.g., bottom-left and top-right corners), or whether it modifies an existing layout. The units 'micrometers' are mentioned but insufficient for behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which makes it concise, but it sacrifices necessary detail. It is appropriately front-loaded but lacks structure (e.g., no bullet points or parameter breakdown).

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

Completeness2/5

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

With 6 parameters, no schema descriptions, and an output schema present (content unknown), the description is insufficient. Missing information on return value, error cases, and the relationship between coordinates (e.g., x1,y1 and x2,y2 as opposite corners) makes it incomplete for correct invocation.

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

Parameters2/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 explain parameters. It only mentions 'rectangle (micrometers)' and 'layer/datatype', but fails to explain what x1,y1,x2,y2 represent (e.g., coordinates, corners). The default datatype=0 is not hinted.

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 specifies the verb 'Add', the resource 'rectangle (micrometers)', and the context 'on GDS layer/datatype'. It clearly distinguishes from sibling tools like add_polygon or add_label, indicating it's for rectangles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. For example, it doesn't explain when to use add_box instead of add_polygon for rectangles, or mention prerequisites like an open layout.

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

add_labelC

Add a text label at (x, y) micrometers.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
textYes
layerYes
datatypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description does not disclose side effects, permissions, or output characteristics. The presence of an output schema is not mentioned, so the agent gains no behavioral insight beyond the action.

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?

Single sentence is concise and front-loaded with the action. It could be slightly expanded without losing conciseness to cover additional parameters.

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

Completeness2/5

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

With 5 parameters, a non-empty output schema, and nine sibling tools, the minimal description leaves significant gaps: no return value description, no parameter details beyond x,y,text, and no differentiation from similar tools.

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

Parameters3/5

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

Schema description coverage is 0%, and the description partially compensates by specifying units for x and y ('micrometers') and mentioning the 'text' parameter. However, layer and datatype are not explained, and the description does not cover all parameters.

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?

The description clearly states the action 'Add' and the object 'text label' with coordinate units. It distinguishes from geometry tools like add_box but could be more explicit about being a text label versus other annotation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like add_box, add_path, or add_polygon. Context for appropriate use cases is missing.

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

add_pathC

Add a path: centerline [x, y] points (micrometers) with the given width.

ParametersJSON Schema
NameRequiredDescriptionDefault
layerYes
widthYes
pointsYes
datatypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full disclosure burden. It only states the basic action and unit (micrometers) but does not disclose side effects, such as whether existing paths are overwritten or appended, or any authorization requirements.

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?

The description is a single, front-loaded sentence with no waste. However, it partially restates the tool name without adding significant new information beyond parameter specifics.

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

Completeness2/5

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

Given 4 parameters and no schema descriptions, the description should provide more complete coverage. It explains two parameters but omits 'layer' and 'datatype', and does not mention the output schema or behavior for missing optional parameters.

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

Parameters2/5

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

The description adds meaning for 'points' (centerline [x,y] in micrometers) and 'width', but fails to explain 'layer' and 'datatype' parameters. With 0% schema coverage, the description compensates only partially.

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?

The description clearly states the action ('Add a path') and specifies the resource is a path defined by centerline points and width. It implicitly distinguishes from sibling tools like add_box or add_polygon by describing a path-specific structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., add_polygon for filled shapes) or any prerequisites. The description lacks context for appropriate usage.

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

add_polygonC

Add a polygon from a list of [x, y] vertices (micrometers).

ParametersJSON Schema
NameRequiredDescriptionDefault
layerYes
pointsYes
datatypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations and no description of behavioral traits (e.g., destructive actions, permissions, or side effects), the agent lacks critical context beyond the basic operation. The description does not disclose any constraints or effects.

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?

The description is a single sentence with no wasted words, making it concise. However, it could be slightly more structured to include parameter details without sacrificing brevity.

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

Completeness2/5

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

Given the absence of annotations, low schema coverage, and no mention of output despite having an output schema, the description leaves significant gaps. An agent would lack sufficient context to use the tool reliably without external knowledge.

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

Parameters2/5

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

Schema coverage is 0%, so the description must add meaning. It explains 'points' as vertices in [x, y] format, but does not describe 'layer' or 'datatype' parameters, leaving their semantics unclear.

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 uses a specific verb 'Add' and resource 'polygon', clearly stating the input format as a list of [x, y] vertices in micrometers. This distinguishes it from sibling tools like add_box or add_path which create different shapes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context. The description only states the action, leaving the agent to infer appropriate usage.

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

add_viaA

Add a via (cut array + enclosing metal on both layers) centred at (x, y).

Builds a rows*cols array of cuts (cut_size, spaced by cut_space) on cut_layer and a metal landing on bottom_layer and top_layer extended by enclosure around the cut array. All dimensions in micrometers.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
colsNo
rowsNo
cut_sizeNo
cut_layerYes
cut_spaceNo
enclosureNo
top_layerYes
bottom_layerYes
cut_datatypeNo
top_datatypeNo
bottom_datatypeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description takes on the burden of behavioral transparency. It explains the geometry but does not disclose side effects, authorization needs, or whether it modifies existing layout.

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 concise (two sentences), front-loads the main action, and adds detail without superfluous text.

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 key parameters and behavior, but does not mention the tool's return value or output, which could be useful given 13 parameters.

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 0% schema description coverage, the description adds significant meaning by explaining the array structure and enclosure, though it omits datatype parameters.

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 creates a via (cut array with enclosing metal) at a given coordinate, differentiating it from siblings that add other shapes or perform different operations.

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 implies usage for creating vias, but does not explicitly state when to use this tool over alternatives or provide exclusions.

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

add_wireA

Add a Manhattan wire: routes through points inserting L-corners so every segment is axis-aligned. horizontal_first chooses the corner direction at each dog-leg. For layer changes, drop an add_via at the turn. Coordinates in um.

ParametersJSON Schema
NameRequiredDescriptionDefault
layerYes
widthYes
pointsYes
datatypeNo
horizontal_firstNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It explains routing behavior (L-corners, horizontal_first parameter), via insertion for layer changes, and unit (um). Does not mention destructive effects, but as a creation tool, this is expected.

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?

Three sentences, no fluff, front-loaded with core purpose. Every sentence adds value: wire type, routing algorithm, parameter meaning, and via guidance.

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?

Given output schema exists, description need not cover return values. Covers essential aspects: wire geometry, parameters, and layer change hint. Missing constraints (min width, layer limits) are likely in schema.

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?

Schema coverage is 0%, so description is crucial. It explains points (routes through points), horizontal_first (corner direction), and hints at via usage. Layer and width are not detailed, but their meaning is intuitive for a wire tool. Adds significant value beyond the 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 adds a 'Manhattan wire' with axis-aligned segments, distinguishing it from siblings like add_path (arbitrary polylines) and add_box (rectangle). The verb 'add' and resource 'wire' are specific.

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?

Implies usage for orthogonal routing ('Manhattan wire', 'axis-aligned'). Mentions that for layer changes, users should drop an add_via, guiding on when to use alternative tools. Does not explicitly compare with add_path, but context provides differentiation.

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

create_cellA

Create (or select) a cell and make it the active drawing target.

Subsequent add_box / add_polygon / add_via / add_wire / place_cell calls go into this cell. Use it to build a reusable library cell, then use_cell back to the top and place_cell to instance it. Returns to the top cell with use_cell(top).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

Discloses that subsequent draw calls go into this cell and that use_cell returns to top. Lacks detail on whether existing cells are selected or new cells created, but overall covers key behaviors.

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?

Two concise sentences with no wasted words. Front-loaded with purpose and immediate usage context.

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?

Adequate for a simple tool with one parameter. Does not explain return value or error conditions, but the workflow context is well covered.

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?

The only parameter 'name' is explained by 'create (or select) a cell', adding meaning beyond the schema. Could be more explicit but sufficient.

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?

Description clearly states the tool creates or selects a cell and makes it the active drawing target. It distinguishes from sibling drawing primitives by specifying it sets the context for subsequent shapes.

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?

Explicitly describes workflow: use this to build a library cell, then use_cell and place_cell. Provides clear instructions on when and how to use, including returning to top cell.

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

drc_checkA

Run simple DRC rules against a layout and report violations.

Operates on path if given, else the current session. Each rule is a dict (datatype defaults to 0, distances in micrometers):

{"type": "spacing", "layer": L, "datatype": D, "min": um} {"type": "width", "layer": L, "datatype": D, "min": um} {"type": "overlap", "layer": L, "datatype": D, "layer2": L2, "datatype2": D2} {"type": "separation", "layer": L, "datatype": D, "layer2": L2, "datatype2": D2, "min": um} {"type": "enclosure", "layer": L, "datatype": D, "layer2": L2, "datatype2": D2, "min": um}

"spacing" is min space within a layer; "width" is min feature width; "overlap" flags any intersection between two layers (forbidden overlap); "separation" is min space between two layers; "enclosure" requires layer2 to surround layer by min. Up to max_report violation centres are listed per rule.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
rulesYes
top_cellNo
max_reportNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description fully describes the tool's behavior: it runs DRC rules, reports violations per rule, and limits output via max_report. It details five rule types with their dictionaries. It does not mention error handling or performance, but the core behavior is well-covered.

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?

The description is structured with a summary sentence followed by detailed rule specifications. It is somewhat lengthy but every part provides necessary information. It could be slightly more concise, but the structure is logical and easy to follow.

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?

Given no annotations but a known output schema, the description covers purpose, parameters, and rule types comprehensively. It does not detail return format (likely covered by output schema) or error states, but for a DRC check tool it is sufficiently complete for an agent to use effectively.

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?

Schema coverage is 0%, so the description must compensate. It thoroughly explains the 'rules' parameter with example dicts and meanings for all five rule types. It clarifies 'path' (optional, current session if absent) and 'max_report' (violation limit). 'top_cell' is not explained beyond its name, but the overall parameter explanation adds significant value.

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 starts with 'Run simple DRC rules against a layout and report violations,' which clearly states the action (run DRC rules), target (layout), and output (violations). It is distinct from sibling tools that deal with editing or inspecting GDS files, making the purpose unambiguous.

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 mentions it operates on a given path or the current session, providing context for when to use the tool. It does not explicitly state when not to use it or list alternatives, but the context of DRC checking versus other layout operations is clear enough.

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

inspect_gdsA

Inspect a layout: per-layer shape count, area and bbox, plus the cell list.

With path: inspect that file without touching the session. Without it: inspect the current in-memory session. Areas use merged geometry (so overlaps are not double-counted); coordinates are in micrometers.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
top_cellNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that areas use merged geometry (no double-counting) and coordinates are in micrometers. It also states the behavior regarding session modification.

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?

The description is concise (two sentences) and front-loaded with the main purpose. However, it could be more structured (e.g., bullet points) for easier parsing.

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?

Given the output schema exists, return values are covered. The description lists key outputs. However, missing explanation of the 'top_cell' parameter reduces completeness for a simple two-parameter tool.

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

Parameters2/5

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

Schema coverage is 0%, so description must compensate. It partially explains the 'path' parameter (inspect file vs session) but lacks format details. The 'top_cell' parameter is not explained at all, leaving a significant gap.

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 inspects a layout and lists specific outputs (per-layer shape count, area, bbox, cell list). It uses specific verbs and distinguishes from siblings like load_gds and layout_info.

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 explains when to use with path (inspect file without touching session) vs without (inspect current session). It provides clear context but does not explicitly mention when not to use or alternatives.

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

layout_infoA

Report the current layout: top cell, dbu, layers, bbox, shape count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

Without annotations, the description carries the transparency burden. It lists output fields, which is helpful, but does not disclose whether the tool is read-only, potential failure modes, or state dependencies.

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 a single, front-loaded sentence with no extraneous words. Every word adds value.

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?

Given the tool has no parameters and an output schema exists, the description covers the return fields. However, it omits context such as requiring an open layout, which could improve completeness.

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?

There are zero parameters, and schema coverage is 100%. The description adds no parameter info, but the baseline for 0 parameters is 4, and the description does not detract.

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's function, listing specific fields reported (top cell, dbu, layers, bbox, shape count). This distinguishes it from sibling tools that modify layouts.

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 lacks explicit guidance on when to use this tool versus alternatives. It implies it retrieves current layout state but does not mention prerequisites like an open layout or contrast with other tools.

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

load_gdsA

Load an existing GDS/OASIS file into the active session for editing.

After loading, keep adding shapes (add_box / add_polygon / ...), inspect or DRC-check it, then save_gds() to write it back. top_cell selects the cell to edit (defaults to the first top cell). Replaces any current in-memory layout.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
top_cellNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that loading replaces any current in-memory layout, which is a critical destructive behavior. It also explains the default behavior of top_cell. No contradictions with annotations (none provided).

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 concise, front-loaded with the main action, and each sentence adds value. No unnecessary words. It efficiently conveys the purpose, workflow, and key parameter behavior.

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 simple load tool with two parameters and an output schema present, the description covers purpose, workflow, key behavior, and parameter defaults. It could mention that the layout is now in memory for subsequent edits, but the workflow hint covers that. Overall complete for the context.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It explains that path is the file to load and top_cell selects the cell to edit with a default. This adds some value but lacks details on path format, file existence checks, or error handling. With only two parameters, minimal coverage is acceptable.

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 loads an existing GDS/OASIS file into the active session for editing. It uses a specific verb (load) and resource (GDS/OASIS file), and distinguishes itself from siblings like new_layout and save_gds by describing its role in the editing workflow.

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 context for when to use the tool, describing the workflow of loading, editing, then saving. It implicitly distinguishes from new_layout (for creating new layouts). However, it could explicitly state that this tool should be used when editing existing files, not for creating new ones.

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

new_layoutA

Start a new in-memory layout to draw into.

top_cell: name of the top cell. dbu: database unit in micrometers (0.001 = 1 nm grid). Resets any previous in-memory layout.

ParametersJSON Schema
NameRequiredDescriptionDefault
dbuNo
top_cellNoTOP

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the destructive 'reset' behavior, but does not elaborate on side effects (e.g., data loss) or prerequisites. Some key behaviors are implied but not fully transparent.

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 two sentences plus parameter explanations, all front-loaded and without fluff. Every sentence provides essential information.

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 simple initialization tool with output schema (not needing return value docs), the description covers reset behavior and parameter details. Minor gap: no mention of the state previous to reset or post-creation effects.

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?

Schema coverage is 0%, so description compensates by explaining top_cell and dbu with units and a default example. This adds meaning beyond the schema's bare titles and defaults.

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 verb 'Start' and resource 'new in-memory layout'. It distinguishes from sibling tools like open_layout by implying this creates a fresh layout, not opening existing. The purpose is specific and unambiguous.

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 mentions 'Resets any previous in-memory layout', which implies a fresh start, but does not explicitly state when to use this vs open_layout. No explicit alternatives or when-not conditions are given.

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

open_editorA

Open KLayout in editor mode (-e). With a file: edit it. Without: a blank layout to draw.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

Reveals editor mode and the effect of providing a file vs not. Lacks details on permissions, blocking behavior, or return values. With no annotations, description carries burden but is minimally adequate.

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?

Two sentences, front-loaded with key information, no unnecessary words. Each sentence adds value.

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 tool with one optional parameter and an output schema, the description covers essential use cases. Missing details on side effects or the fact that it launches KLayout, but name and context suffice.

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?

Despite 0% schema description coverage, the explanation of file_path's optionality and effect (edit vs create blank) adds meaning beyond the schema. Does not specify format or path conventions but schema is simple.

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?

Description clearly states the verb 'open' and resource 'KLayout in editor mode', and distinguishes between editing a file vs creating a blank layout. It differentiates from sibling 'open_layout' by specifying editor mode.

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?

Provides clear usage context: with a file to edit it, without for a blank layout. Does not explicitly state when not to use or mention alternatives, but the context is sufficient.

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

open_layoutB

Open an existing layout file in KLayout (viewer mode).

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided. Description mentions 'viewer mode' implying read-only but does not explicitly state non-destructiveness, required file existence, format, or error behavior. Insufficient disclosure for a file-opening operation.

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?

Single concise sentence with clear subject-verb-object. No unnecessary words. Front-loaded with key information.

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?

Output schema exists but description does not mention return value or behavior (e.g., what agent receives after opening). Sibling tools exist; description could be more complete given complexity of file operations.

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

Parameters2/5

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

Schema coverage is 0%, and description adds no detail about the file_path parameter (format, allowed extensions, absolute vs relative). Agent has no guidance beyond the parameter name.

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?

Description clearly states the tool opens an existing layout file in KLayout viewer mode, using specific verb 'open' and resource 'layout file', and distinguishes from editor mode via 'viewer mode'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like open_editor, new_layout, or layout_info. The description does not mention prerequisites or contexts.

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

place_cellB

Place an instance (or nx*ny array) of cell into the active cell.

orient: r0/r90/r180/r270 (rotation) or m0/m90/... (mirror + rotation). For an array, dx/dy are the column/row pitches in micrometers. Coordinates in um.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
dxNo
dyNo
nxNo
nyNo
magNo
cellYes
orientNor0

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must cover behavioral traits. It explains orientation format, array parameters (dx, dy, nx, ny), and coordinate units. However, it omits details on return value, side effects, or required state (e.g., active cell existence). The explanation is partial.

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 very concise: two sentences plus a line for specifics. The purpose is front-loaded, and every sentence adds value. No redundant information.

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?

Given the tool's complexity (9 parameters, array support, orientation) and lack of annotations, the description covers the main operation and key parameters. However, it does not explain output, error handling, or default behaviors. The existence of an output schema may compensate, but the description alone is incomplete.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It explains orient, dx, and dy, but fails to describe x, y, nx, ny, mag, and cell in detail. The phrase 'Coordinates in um.' loosely applies to x/y but is not explicit. Overall, most parameters lack meaningful explanation.

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's function: placing an instance or array of a cell into the active cell. It mentions orientation options and coordinate units, making the purpose specific and distinct from sibling tools like create_cell or use_cell.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description does not provide guidance on when to use this tool versus alternatives. It lacks explicit context, prerequisites, or exclusion criteria, making it weak for helping an agent decide between siblings.

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

run_scriptA

Execute Python with klayout.db available (advanced).

Injected names: db (klayout.db), klayout, session (current LayoutSession or None), LayoutSession. stdout is captured and returned. A script may rebind session to a new LayoutSession to make it the active layout. Runs locally in-process with full Python access.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

The description discloses important behavioral traits: injected names (db, klayout, session), stdout capture, rebinding session possibility, and local in-process execution with full Python access. This goes beyond what annotations provide (none given), though it does not cover error handling or safety implications.

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 concise (5 sentences), front-loaded with the core purpose, and each sentence adds distinct value (injected names, stdout capture, session rebinding, execution context). No redundant or unnecessary information.

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?

The tool is relatively complex (script execution with injected environment), but the description omits return value details despite the presence of an output schema. It also does not address error handling or timeouts. Given the one-parameter simplicity, it is mostly complete but lacks explicit output specification.

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

Parameters3/5

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

The input schema has 0% description coverage for its single parameter 'code'. The description does not explicitly define the parameter, but context implies that 'code' is the Python script to execute. Some additional guidance (e.g., expected format, string length) would improve clarity.

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 'Execute Python with klayout.db available (advanced)', which precisely identifies the tool's verb (execute) and resource (Python script with klayout.db). It distinguishes itself from sibling tools that are layout modification operations (e.g., add_box, add_polygon), making the purpose unambiguous.

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 for running Python scripts with special injected names, but it does not explicitly state when to use this tool versus alternatives. The term 'advanced' suggests caution, but no when-not or alternative tools are mentioned. Usage context is implied but not fully explicit.

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

save_gdsA

Write the current layout to a file (.gds/.oas by extension). Optionally open it in the editor.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
open_afterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so description carries the burden. It mentions optional opening but does not disclose overwrite behavior, error handling, or path validation. Adequate but missing specifics.

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?

Two short sentences, no wasted words, front-loaded with the key action. Highly concise.

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?

Given only 2 parameters and an output schema, description covers main functionality. Could mention overwrite behavior or error conditions, but sufficient for a simple save operation.

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

Parameters3/5

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

With 0% schema description coverage, the description adds some meaning: path is tied to file extensions, and open_after is explained as opening in editor. However, it does not specify exact format or constraints.

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 action 'write the current layout to a file', specifies the file extensions .gds/.oas, and indirectly distinguishes from sibling tools like 'open_layout' or 'new_layout'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., when to save vs. run_script), no prerequisites, and no exclusions provided.

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

use_cellB

Switch the active drawing cell to an existing cell (e.g. the top cell).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions switching the active drawing cell, which implies state change, but does not disclose what happens to the previous active cell, whether permissions are needed, or any side effects. This is insufficient for a state-modifying tool.

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 a single, clear sentence with 10 words. It is extremely concise and front-loaded with the key action and resource. No unnecessary words.

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?

Given the tool has an output schema (per context signals), the description need not explain return values. However, with only one required parameter and a state-changing operation, more context about prerequisites (e.g., cell must exist) and the effect on the user's session would improve completeness. The description is adequate but minimal.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must compensate. It adds that the 'name' parameter refers to an existing cell ('to an existing cell') and gives a concrete example ('e.g. the top cell'). While helpful, it does not specify name format, validation rules, or what constitutes a valid cell.

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?

The description clearly states the action ('Switch') and the resource ('the active drawing cell'), and provides an example ('e.g. the top cell'). It is specific and distinct from sibling tools in its core function, though it does not explicitly differentiate from siblings like 'create_cell' or 'place_cell'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions. It simply states the function without context about typical use cases or exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.1
    • Addedadd_via
    • Addedadd_wire
    • Addedcreate_cell
    • Addeddrc_check
    • Addedinspect_gds
    • Addedload_gds
    • Addedplace_cell
    • Addeduse_cell
  2. 10 tool updatesv0.1.0
    • First observedadd_box
    • First observedadd_label
    • First observedadd_path
    • First observedadd_polygon
    • First observedlayout_info
    • First observednew_layout
    • First observedopen_editor
    • First observedopen_layout
    • First observedrun_script
    • First observedsave_gds

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: shape creation (box, label, path, polygon, via, wire), cell management (create_cell, use_cell, place_cell), layout I/O (load_gds, save_gds, new_layout, inspect_gds, layout_info), DRC checking, editor opening, and scripting. No ambiguity between tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., add_box, load_gds, inspect_gds). No mixed conventions or irregular naming.

Tool Count5/5

18 tools are well-scoped for a GDS layout server, covering drawing, cell hierarchy, file operations, inspection, DRC, and scripting without being excessive or overly sparse.

Completeness4/5

The tool set covers the main layout workflow: creation, cell management, file operations, DRC, and scripting. Minor gaps like editing or deleting existing shapes are absent, but the core functionality is complete.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Enables LLMs to inspect, edit, analyze, and render PCB layouts in real-time using the KiCad IPC API, providing tools for board configuration, footprints, tracks, zones, nets, text, shapes, dimensions, exports, screenshots, and CLI automation.
    100
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to read and modify KiCAD PCB designs through the KiCAD IPC API, providing tools for board queries, footprint placement, track creation, DRC, and export.
    44
    14
    MIT

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/geniuskey/klayout-draw-mcp'

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