klayout-draw-mcp
The klayout-draw-mcp server enables AI assistants to programmatically create, edit, inspect, and validate GDS/OASIS chip layouts using KLayout's Python API.
Layout Management
Create new layouts (
new_layout) with a named top cell and configurable database unitLoad existing GDS/OASIS files (
load_gds) for editing or inspectionSave layouts (
save_gds) to GDS/OASIS format with optional auto-open in KLayoutInspect layouts (
layout_info,inspect_gds) for per-layer shape counts, areas, bounding boxes, and cell lists
Drawing Primitives
Add rectangles (
add_box), polygons (add_polygon), paths (add_path), and text labels (add_label) on specified layers
Advanced Layout Construction
Create and manage cells (
create_cell,use_cell) and place instances or arrays (place_cell) with rotation/mirroringAdd vias (
add_via) — cut arrays with enclosing metal on both connected layersAdd Manhattan wires (
add_wire) — axis-aligned wires with automatic L-corner insertion
Design Rule Checking
Run DRC checks (
drc_check) for spacing, width, overlap, separation, and enclosure rules, reporting violations
GUI Integration
Open layouts in KLayout viewer (
open_layout) or editor mode (open_editor)
Scripting & Extensibility
Execute arbitrary Python code (
run_script) with full access toklayout.dbfor boolean geometry, custom DRC, cell hierarchies, and other advanced operations
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@klayout-draw-mcpdraw a 10um square on layer 1 and save as out.gds"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Start a new in-memory layout (coordinates in micrometers) |
| Add a rectangle |
| Add a polygon from |
| Add a path with width |
| Add a text label |
| Create/select the active drawing cell |
| Place an instance or array of a cell |
| Via: cut array + enclosing metal |
| Manhattan wire (auto L-corners) |
| Inspect current layout (layers, bbox, shape count) |
| Load an existing GDS/OASIS into the session for editing |
| Per-layer shape count, area and bbox of a file or the session |
| Simple DRC: spacing / width / overlap / separation / enclosure |
| Write GDS/OASIS; optionally open in the editor |
| Open a file in KLayout (viewer) |
| Open KLayout in editor mode, or a blank layout |
| Run arbitrary Python with |
Related MCP server: KiCAD Schematic Manipulation MCP Server
Requirements
Python ≥ 3.10
The
klayoutandmcpPython packages (installed via the steps below)The KLayout application — only needed for
open_layout/open_editor
Install
uv syncRegister with Claude Code
claude mcp add klayout -s user -- "<repo>/.venv/Scripts/python.exe" -m klayout_draw_mcp.serverOn 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_layout → add_box / add_path → save_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_gds → inspect_gds → drc_check([...]), then edits and save_gds.
See Editing & 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.gdsYou 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 |
| The four primitives: box, path, polygon, label |
| A single NMOS (active, poly gate, n+, contacts, M1 S/G/D) |
| A CMOS inverter: PMOS over NMOS, shared gate, Vdd/Vss rails |
| A 1 µm 4T CMOS image-sensor pixel, tiled as a 2×2 array |
Place & 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 & 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 toolsadd_boxC
Add a rectangle (micrometers) on GDS layer/datatype.
| Name | Required | Description | Default |
|---|---|---|---|
| x1 | Yes | ||
| x2 | Yes | ||
| y1 | Yes | ||
| y2 | Yes | ||
| layer | Yes | ||
| datatype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| text | Yes | ||
| layer | Yes | ||
| datatype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| layer | Yes | ||
| width | Yes | ||
| points | Yes | ||
| datatype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| layer | Yes | ||
| points | Yes | ||
| datatype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| cols | No | ||
| rows | No | ||
| cut_size | No | ||
| cut_layer | Yes | ||
| cut_space | No | ||
| enclosure | No | ||
| top_layer | Yes | ||
| bottom_layer | Yes | ||
| cut_datatype | No | ||
| top_datatype | No | ||
| bottom_datatype | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| layer | Yes | ||
| width | Yes | ||
| points | Yes | ||
| datatype | No | ||
| horizontal_first | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| rules | Yes | ||
| top_cell | No | ||
| max_report | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| top_cell | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| top_cell | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dbu | No | ||
| top_cell | No | TOP |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| dx | No | ||
| dy | No | ||
| nx | No | ||
| ny | No | ||
| mag | No | ||
| cell | Yes | ||
| orient | No | r0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| open_after | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
8 tool updates
v0.1.1- Added
add_via - Added
add_wire - Added
create_cell - Added
drc_check - Added
inspect_gds - Added
load_gds - Added
place_cell - Added
use_cell
10 tool updates
v0.1.0- First observed
add_box - First observed
add_label - First observed
add_path - First observed
add_polygon - First observed
layout_info - First observed
new_layout - First observed
open_editor - First observed
open_layout - First observed
run_script - First observed
save_gds
TDQS
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.
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.
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.
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
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
Verified KiCad footprints, symbols & 3D models for AI agents. No signup, CC-BY-4.0, quality-gated.
Read and edit DB Planner database schemas, diagrams and board layouts as an AI agent.
- FlowstepOAuthai.flowstep
Generate, inspect, and manage Flowstep UI designs directly from your AI assistant.
DXF and PDF/X-4 for AI agents: structured facts, PNG renders, an interactive in-chat viewer.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to perform Electronic Design Automation (EDA) tasks including Verilog synthesis, simulation, ASIC design flows, and waveform analysis through a unified interface.6-
- AlicenseNot gradedqualityDmaintenanceEnables AI tools to create, edit, and inspect KiCAD schematic files, including components, wires, labels, and sheets.MIT
- AlicenseCqualityCmaintenanceEnables 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.1001MIT
- AlicenseAqualityBmaintenanceEnables 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.4414MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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