Skip to main content

gds2palace_mcp

gds2palace_mcp: agent assisted RFIC EM simulation

An MCP server for gds2palace. It lets an AI assistant (Claude Code, Claude Desktop, or any other MCP client) inspect GDSII layouts and stackup files, check model scripts, and generate AWS Palace models on your computer.

The server runs locally, in the same Python environment as gds2palace, and works with the files on your disk. It does not run the Palace solver: Palace runs on Linux, as before (run_sim, see the gds2palace documentation).

Installation

pip install gds2palace_mcp

This also installs gds2palace and its requirements (gdspy, gmsh, shapely, numpy), gds_prepare_for_EM, gds_viewer, plot_snp and scikit-rf. It needs gds2palace 0.9.1 or newer, the first version that ships the IHP stackup files.

Add the server to Claude Code, using the Python environment where it is installed:

claude mcp add gds2palace -- python -m gds2palace_mcp.server

Or, without installing anything first (needs uv):

claude mcp add gds2palace -- uvx gds2palace_mcp

For Claude Desktop and other clients, add the same command to the client's MCP server configuration.

What it offers

Tool What it does
list_stackups The IHP stackup files that ship with gds2palace (SG13G2, SG13G2 with conformal passivation, SG13CMOS5L)
inspect_stackup Variables, materials, dielectrics, layers with GDS numbers and z positions, derived layers, free port layer numbers. Accepts variable overrides such as {"total_thickness": 100}
inspect_gds Per layer: number of shapes, extent, smallest shape and smallest gap (for choosing the mesh size and via merging). With a stackup, the role of each layer, and which layers gds2palace ignores
check_layout_complexity Before meshing: polygon count per layer (only layers the stackup uses, without flattening the layout, so it is fast for dense fill and via arrays), layout size, polygon density, the layers that dominate, and simplification hints. A report, no pass/fail limit
simplify_layout Writes a simplified copy of the layout, like setupEM's Tools > Simplify GDS: remove floating dummy fill, fill small cutouts, merge via arrays, merge each layer. Layers come from the stackup; returns polygon counts before and after
check_model_script Checks a model script without running it: settings that gds2palace doesn't read (typos such as nogui are silently ignored by gds2palace), missing required settings, port layers missing from the layer list, removed or legacy settings
generate_model Runs the model script without gmsh windows and checks the output: config.json, mesh with node and element counts, port_information.json, run_sim. With save_geometry, it also saves the unmeshed geometry
show_in_gmsh Opens the mesh, or the unmeshed geometry, in the gmsh GUI on the user's screen
preview_layout The layout as an image (IHP SG13G2 colors, via gds_viewer) with the ports labelled, for the assistant to look at
sparameter_summary Numbers from Touchstone files: ports, frequency range, passivity and reciprocity, dB minimum/maximum, dB/phase at chosen frequencies
plot_sparameters dB/phase plots and Smith charts as images for the assistant (via plot_snp), several files in one plot
show_sparameters Opens the interactive plot_snp windows on the user's screen
passive_values L or C, R and Q of an inductor or capacitor (differential, single-ended or series), peak Q, self-resonance frequency, optional L/Q plot

Resources: gds2palace://agents-guide (gds2palace's AGENTS.md: workflow, script template, settings, pitfalls) and gds2palace://stackups/<file> (the bundled stackup files and their README).

Prompt: new_model starts a new model: it inspects the layout and asks you for the design decisions (frequency range, ports, stackup, accuracy) before writing the script.

New to MCP? docs/README.md explains what this can and can't do for an RFIC designer, and docs/example_session.md shows a full session with an inductor.

Notes

  • All paths are paths on the computer where the server runs.
  • generate_model runs the script with the Python of the server's environment. If the script adds a local gds2palace folder to sys.path, that copy is used; the result shows which gds2palace version and file were used.
  • With the stdio transport, gds2palace's printed output is captured and returned in the tool results.

License

GPL-3.0-or-later, like gds2palace.

Metadata

Release files for gds2palace-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gds2palace-mcp 0.2.0
File Size Uploaded Provenance
gds2palace_mcp-0.2.0.tar.gz 38.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gds2palace-mcp 0.2.0
File Interpreter ABI Platform
gds2palace_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 80.5 kB

Release files / gds2palace_mcp-0.2.0.tar.gz

Download URL gds2palace_mcp-0.2.0.tar.gz
Size 38.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1b6e580a9efe9c1c603958fe2d6854cd6ea986bc22a7f2d1578f3ed5d15bc9f7
BLAKE2b-256 checksum
How to use checksums
66fb5679d8a53f37f35a50fe049b2b3ba8b514812955d64edf5edfb5a277783e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / gds2palace_mcp-0.2.0-py3-none-any.whl

Download URL gds2palace_mcp-0.2.0-py3-none-any.whl
Size 41.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1e0b60bd59c530bc762aecd5d6e5647de192acb7a3d536b440d592e9fea70958
BLAKE2b-256 checksum
How to use checksums
6e98c0ecd109208239823d952c9ff0d5a860cc457c58d84b8e6b2a53de745a3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for gds2palace-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page