Skip to main content

Tidy3D MCP

tidy3d-mcp is the independently installable and released implementation of the Tidy3D MCP runtime. It exposes the remote FlexAgent tools and, when an authenticated compatible editor bridge is already active, Tidy3D local/editor tools over stdio.

The distribution and command are both named tidy3d-mcp. A separate tidy3d mcp command in the Tidy3D client may delegate to this package, but this package does not depend on that facade.

Run

uvx --from tidy3d-mcp==0.16.9 tidy3d-mcp

The server resolves the FlexAgent API key in this order:

  1. --api-key
  2. SIMCLOUD_APIKEY
  3. TIDY3D_BASE_DIR config locations
  4. ~/.config/tidy3d/config.toml under [web].apikey
  5. ~/.tidy3d/config

TIDY3D_MCP_REMOTE_URL can replace the default https://flexagent.simulation.cloud/ endpoint. The URL is forwarded exactly, including a custom path. The generic REMOTE_MCP_URL variable is intentionally ignored so ambient configuration cannot redirect the Tidy3D API credential.

The established marketplace compatibility modes remain supported:

  • Flex RF launches the default command and supplies package="flex-rf" to the remote documentation tools.
  • PhotonForge launches tidy3d-mcp --product photonforge, which retains its branded remote documentation and feedback tools and never advertises Tidy3D editor tools.

Local editor tools

The server never installs, registers, recommends, bootstraps, or launches an editor extension. It starts normally when no bridge is present and exposes only the remote FlexAgent surface.

An editor publishes a private per-window discovery record with schemaVersion: 1, protocolVersion: 1, a loopback URL, a session token, workspace roots, and capabilities. The server authenticates POST /viewer/ping and advertises only tools whose complete capability requirements are present. Unknown capabilities are ignored. An unsupported protocol, malformed manifest, failed authentication, or unavailable bridge exposes no local tools.

The extension removes its registration during normal shutdown. If authenticated discovery instead proves that an unchanged private registration points to a refused or incompatible endpoint, the MCP consumer removes that exact stale record. It preserves timed-out, replaced, malformed, untrusted, and symlinked records.

The #19281 base bridge advertises viewer.open and viewer.control; the #19517 adapter adds python.detect, viewer.simulations, viewer.validate, and the receipt-backed viewer.file.open identity route. The package withholds open_simulation, rotate_viewer, capture_viewer, and set_structure_visibility unless the complete identity and operation requirements are present, rather than guessing an opaque viewer ID.

The extension bridge advertises viewer.generic.control only when its authenticated /viewer/control route can deliver the public version-1 @flexcompute/viewer-common VIEWER_CONTROL contract to an active validated setup viewer. A successful response confirms best-effort delivery through the extension and webview to the intended iframe; version 1 does not acknowledge that the viewer applied the operation. The eight viewer_* setup controls below also require the viewer.open capability plus the receipt-backed viewer.file.open identity route; without the complete set, all eight remain absent from tools/list.

The capability-backed local surface is:

detect_python             list_simulations          validate_simulation
open_simulation           rotate_viewer             capture_viewer
set_structure_visibility  viewer_cross_section      viewer_set_view
viewer_zoom               viewer_pan                viewer_visibility
viewer_layer              viewer_display            viewer_measure
render_report             open_report               get_report
set_report_step

Results inspection and annotation tools remain absent until their extension routes provide complete bounded contracts.

Source operations accept saved local .py or .ipynb paths only. They do not forward inline or base64 source. Validation may return session-scoped artifact receipts; open_simulation opens HDF5 only through an artifact ID or the exact registered artifact path/URI. Report operations accept a saved workspace .qmd and preserve the renderer command, working directory, environment, and bounded stdout/stderr in their structured result.

Explicit bridge override

Discovery is the normal path. Tests and controlled integrations may select one bridge explicitly, but URL and token must be supplied together:

tidy3d-mcp \
  --viewer-bridge http://127.0.0.1:5123 \
  --viewer-bridge-token "$TIDY3D_VIEWER_BRIDGE_TOKEN"

TIDY3D_VIEWER_BRIDGE_URL and TIDY3D_VIEWER_BRIDGE_TOKEN provide the same authenticated override. The legacy unauthenticated URL variable is ignored unless a token is also present.

Develop and release

uv sync --locked
uv run ruff format --check src tests
uv run ruff check src tests
uv run pyrefly check
uv run pytest
uv build
uv run tidy3d-mcp --version

The machine-readable local tools/list acceptance matrix lives at tests/fixtures/tools_list_matrix.json. Publishing is owned by .github/workflows/frontend_tidy3d-mcp.yaml, whose trusted publisher targets this directory.

Download files

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

Source Distribution

tidy3d_mcp-0.16.9.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

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

tidy3d_mcp-0.16.9-py3-none-any.whl (38.2 kB view details)

Uploaded Python 3

File details

Details for the file tidy3d_mcp-0.16.9.tar.gz.

File metadata

  • Download URL: tidy3d_mcp-0.16.9.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tidy3d_mcp-0.16.9.tar.gz
Algorithm Hash digest
SHA256 195100c6dd9ad8b453c2c12ab2fc1ff67a1df8ab2ff88864c0239335eb38ea56
MD5 141d16a53634cea9a393eca978c596c1
BLAKE2b-256 7fe5fa98f547c26395709e9a831fd465998d74932652decef70c9888b0cdcc70

See more details on using hashes here.

File details

Details for the file tidy3d_mcp-0.16.9-py3-none-any.whl.

File metadata

  • Download URL: tidy3d_mcp-0.16.9-py3-none-any.whl
  • Upload date:
  • Size: 38.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tidy3d_mcp-0.16.9-py3-none-any.whl
Algorithm Hash digest
SHA256 402bd3147fd34c063ac230226b82ffb46b26b2d67ebc8095d2bf8d3e0ce0cbde
MD5 7fd14541ec67c84e1372e83fbc4b6782
BLAKE2b-256 bedade88b3e1c6025619f00dc2e11cac70e882a245e1434767e85586fc51b90a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.16.10

2 files

This release

0.16.9 This release

2 files

0.16.7

2 files

0.16.6

2 files

0.16.5

2 files

0.16.4

2 files

0.16.3

2 files

0.16.2

2 files

0.15.4

2 files

0.15.3

2 files

0.15.2

2 files

0.15.1

2 files

0.15.0

2 files

0.14.0

2 files

0.13.4

2 files

0.13.3

2 files

0.13.2

2 files

0.13.1

2 files

0.13.0

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 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