Skip to main content

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

Project description

GDSFactory+ MCP Server

PyPI version Python versions Tests 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.

Quick Start

1. Install Prerequisites

2. Install the MCP Server

With uv (recommended):

If you don't have uv installed, see the uv installation guide.

uv tool install gfp-mcp
Ephemeral approach

Run without installing:

uvx --from gfp-mcp gfp-mcp-serve
Alternative: pip install
pip install gfp-mcp

3. Connect to Your AI Assistant

Claude Code

Add to .claude/settings.json:

{
    "mcpServers": {
        "gdsfactoryplus": {
            "command": "gfp-mcp-serve",
            "args": [],
            "env": {
                "GFP_API_URL": "http://localhost:8787"
            }
        }
    }
}

Or use the CLI:

claude mcp add gdsfactoryplus -- gfp-mcp-serve
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": "gfp-mcp-serve",
            "args": []
        }
    }
}

Restart Claude Desktop after adding the configuration.

Cursor

Coming soon. Follow the MCP integration instructions for Cursor when available.

4. 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

  • 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
  • list_projects - List all running GDSFactory+ server instances
  • get_project_info - Get detailed information about a specific project
  • check_drc - Run Design Rule Check verification (returns structured format with all violations including simplified location data for LLM-friendly troubleshooting)
  • check_connectivity - Run connectivity verification
  • check_lvs - Run Layout vs. Schematic verification

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.2.4.tar.gz (26.5 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.2.4-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gfp_mcp-0.2.4.tar.gz
  • Upload date:
  • Size: 26.5 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.2.4.tar.gz
Algorithm Hash digest
SHA256 95694e962cbf5d243de7616ecd0a4c805697f64c4a67fe23ddd2bd13ddd19a1a
MD5 5b17da2bfadce2a8ea5caff8bb7dbc43
BLAKE2b-256 307c33382a930d3a6dc5f7a34abfc465ad6e87ec9c64eb087524a19ee4665bbe

See more details on using hashes here.

Provenance

The following attestation bundles were made for gfp_mcp-0.2.4.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.2.4-py3-none-any.whl.

File metadata

  • Download URL: gfp_mcp-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 22.1 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.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4f0a95dc1bebd06571ee509c3863769f43dc15d5d1f580e1131a58186344df37
MD5 2fe17f51db2a6dba3a74505a18df19a5
BLAKE2b-256 9d91e414dfe82faf17c06c28873d1fc1e4da14f90e83ee5baa52733bce54c94e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gfp_mcp-0.2.4-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