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

pip install gfp-mcp

Or with uv:

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

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_cell - Build a single GDS cell by name
  • build_cells - Build multiple GDS cells in batch
  • list_cells - List all available photonic components
  • get_cell_info - Get detailed component metadata
  • download_gds - Download built GDS files
  • 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
  • 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.1.tar.gz (23.6 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.1-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gfp_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 23.6 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.1.tar.gz
Algorithm Hash digest
SHA256 23d3dbc4e8829c33306edc0e99a92a9d063c0d08d24ccd9b9f6abd3d7008925c
MD5 126c86df3dbd2521a80ba0368c3ec133
BLAKE2b-256 ec13f79ac1f2a4b270469b602c4a1f9b04bbbce8f5ea336c44d89f985cf90242

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: gfp_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 20.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7608c51633c2af0398a73929c70cfddba54941bff0e7131f4bf8a32a23ec1800
MD5 85947bb153bd95a031fbf53a01041120
BLAKE2b-256 a881eaa2b6e2959c38563acb7f42780ffeed006ccd95b490f304f948ee5172a4

See more details on using hashes here.

Provenance

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