Skip to main content

GDSFactory+ MCP Server

PyPI version Python versions License: MIT

Model Context Protocol (MCP) server for GDSFactory+ that enables AI assistants like Claude to design and build photonic integrated circuits.

What is this?

This MCP server connects AI assistants to GDSFactory+, allowing you to design photonic ICs through natural language. Build components, run verification checks, and manage multiple projects directly from Claude Code or Claude Desktop.

Prerequisites

Installation

Choose your AI assistant below and follow the instructions.

1. Cursor

One-click install:

Install MCP Server

Manual setup:

Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for global access):

{
    "mcpServers": {
        "gdsfactoryplus": {
            "command": "uvx",
            "args": ["--from", "gfp-mcp", "gfp-mcp-serve"]
        }
    }
}

2. Claude Code

Run the following command:

claude mcp add gdsfactoryplus -- uvx --from gfp-mcp gfp-mcp-serve

Or add to .claude/settings.json manually:

{
    "mcpServers": {
        "gdsfactoryplus": {
            "command": "uvx",
            "args": ["--from", "gfp-mcp", "gfp-mcp-serve"]
        }
    }
}

3. Claude Desktop

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
    "mcpServers": {
        "gdsfactoryplus": {
            "command": "uvx",
            "args": ["--from", "gfp-mcp", "gfp-mcp-serve"]
        }
    }
}

Restart Claude Desktop after adding the configuration.

4. Other MCP Clients

Install gfp-mcp and run the server:

uvx --from gfp-mcp gfp-mcp-serve

Or install globally first, then reference gfp-mcp-serve in your client's MCP configuration:

uv tool install gfp-mcp

Start Designing

The MCP server automatically discovers running GDSFactory+ servers via the registry (~/.gdsfactory/server-registry.json). On startup, it will log all discovered projects.

Try these commands with your AI assistant:

  • "List all available photonic components"
  • "Build an MZI interferometer"
  • "Show me details about the directional coupler"
  • "Build multiple components: mzi, coupler, and bend_euler"
  • "List all my GDSFactory+ projects"

Available Tools

Tool Description
list_projects List all running GDSFactory+ server instances
get_project_info Get detailed information about a specific project
build_cells Build one or more GDS cells by name (pass a list, can be single-item)
list_cells List all available photonic components
get_cell_info Get detailed component metadata
check_drc Run Design Rule Check verification with structured violation reports
check_connectivity Run connectivity verification
check_lvs Run Layout vs. Schematic verification
simulate_component Run SAX circuit simulations with custom parameters
list_samples List available sample files from GDSFactory+ General PDK projects
get_sample_file Get the content of a specific sample file from a project

Multi-Project Support

The MCP server automatically discovers all running GDSFactory+ projects via the server registry (~/.gdsfactory/server-registry.json). The registry is the source of truth for available servers. Use the list_projects tool to see all running projects, then specify the project name when building components:

User: "List all my GDSFactory+ projects"
Claude: [Uses list_projects tool to show all running servers]

User: "Build the mzi component in my_photonics_project"
Claude: [Routes request to the correct project]

Troubleshooting

Server not appearing in Claude
  1. Verify installation: gfp-mcp-serve --help
  2. Check Claude Code logs: claude --debug
  3. Restart Claude Desktop/Code
  4. Ensure the GDSFactory+ VSCode extension is active and a project is open
Connection refused errors

The MCP server uses the registry (~/.gdsfactory/server-registry.json) to discover running servers.

  1. Use the list_projects tool in Claude to check available servers
  2. If no servers are found, ensure the GDSFactory+ VSCode extension is running with an active project:
    • Open VSCode with the GDSFactory+ extension installed
    • Open a GDSFactory+ project folder
    • The extension automatically starts the server and registers it
  3. Check the MCP startup logs for discovered servers
  4. Verify the registry is accessible at ~/.gdsfactory/server-registry.json
  5. For backward compatibility, you can set a specific server URL:
export GFP_API_URL="http://localhost:YOUR_PORT"
Tool execution timeout

Increase the timeout for long-running operations:

export GFP_MCP_TIMEOUT=600  # 10 minutes

Metadata

Release files for gfp-mcp 0.4.1

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

Source distribution (sdist)

Source distribution for gfp-mcp 0.4.1
File Size Uploaded
gfp_mcp-0.4.1.tar.gz 74.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gfp-mcp 0.4.1
File Interpreter ABI Platform
gfp_mcp-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 131.1 kB

Release files / gfp_mcp-0.4.1.tar.gz

Download URL gfp_mcp-0.4.1.tar.gz
Size 74.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c56bb094b092413ba3bf1126a0df7943587b627ff53883c35c3fcdb94c65f546
BLAKE2b-256 checksum
How to use checksums
bc5695309834470c7b6aa3ead936f75c6443157fea4e942bac9850351319340b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 23, 2026.

Transparency log

Release files / gfp_mcp-0.4.1-py3-none-any.whl

Download URL gfp_mcp-0.4.1-py3-none-any.whl
Size 56.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fae75553c37617176127cfd2582b371b29cdf5bba81f848dd7c4711b7358e484
BLAKE2b-256 checksum
How to use checksums
34d5d1858d18b1678eac65aa551f37f3c7ab54bb3331bdfb12bcbe4b76db345d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.2.4

2 release files

0.2.1

2 release files

0.1.0

2 release files

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