Skip to main content

Model Context Protocol (MCP) server for GDSFactory+ photonic IC design

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gfp_mcp-0.4.1.tar.gz (74.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gfp_mcp-0.4.1-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file gfp_mcp-0.4.1.tar.gz.

File metadata

  • Download URL: gfp_mcp-0.4.1.tar.gz
  • Upload date:
  • Size: 74.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gfp_mcp-0.4.1.tar.gz
Algorithm Hash digest
SHA256 c56bb094b092413ba3bf1126a0df7943587b627ff53883c35c3fcdb94c65f546
MD5 a39d7470f81ebee8ee3c7701b881a7a0
BLAKE2b-256 bc5695309834470c7b6aa3ead936f75c6443157fea4e942bac9850351319340b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gfp_mcp-0.4.1.tar.gz:

Publisher: release.yml on doplaydo/gfp-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gfp_mcp-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: gfp_mcp-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gfp_mcp-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fae75553c37617176127cfd2582b371b29cdf5bba81f848dd7c4711b7358e484
MD5 ef8a9b11ee3fb06e61338e3cb63a0642
BLAKE2b-256 34d5d1858d18b1678eac65aa551f37f3c7ab54bb3331bdfb12bcbe4b76db345d

See more details on using hashes here.

Provenance

The following attestation bundles were made for gfp_mcp-0.4.1-py3-none-any.whl:

Publisher: release.yml on doplaydo/gfp-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page