Skip to main content
Glama
SimWorksSoft

FD Solutions MCP Server

by SimWorksSoft

FD Solutions MCP Server

Python Apache

English | 简体中文

MCP (Model Context Protocol) server for common LLM clients such as Cursor, Claude Desktop, Claude Code, VS Code (GitHub Copilot / MCP), Windsurf, and Cline. It drives the local simulation software through the SimWorks FD Solutions Python API.

On a machine with FD Solutions installed, an AI assistant can handle modeling and layout, property setup, running simulations, and analyzing results.

Note: This repository provides the MCP server only. The FD Solutions Python API ships with the FD Solutions product install and is not a pip dependency of this project.

Features

  • STDIO transport by default (works with most LLM / MCP clients), with optional streamable HTTP

  • Broad tool coverage for adding and configuring structures, sources, and monitors, plus running simulations, parameter sweeps, job management, and other common product workflows

  • Locate the local FD Solutions Python API via environment variables or config.json

Related MCP server: Lumerical MCP Server

Requirements

  • Python 3.10+

  • The FD Solutions product installed

  • A valid FD Solutions product license

Installation

pip install "git+https://github.com/SimWorksSoft/fdsolutions-mcp.git"

Or clone and install:

git clone https://github.com/SimWorksSoft/fdsolutions-mcp.git
cd fdsolutions-mcp
python -m venv .venv

# Windows PowerShell
.\.venv\Scripts\Activate.ps1
# Linux / macOS
# source .venv/bin/activate

pip install -e .

Configure the FD Solutions Python API path

Before start-up the server must be able to import simworks. Resolution order:

  1. Environment variables (highest priority)

    • FDSOLUTIONS_PYTHON_API — directory that contains simworks.py (usually <FD Solutions install root>/api/python)

    • or FDSOLUTIONS_HOME — FD Solutions install root (uses <home>/api/python)

  2. config.json if env is unset or invalid

    • Search order: current working directory → directory next to server.py

    • Field: python_api_path — path to <FD Solutions install root>/api/python (relative paths are resolved against the directory of config.json)

Copy the example file and edit it for your machine:

cp config.example.json config.json

Environment examples

PowerShell:

$env:FDSOLUTIONS_PYTHON_API = "C:\Program Files\SimWorks\SimWorks FD Solutions\api\python"
# or
$env:FDSOLUTIONS_HOME = "C:\Program Files\SimWorks\SimWorks FD Solutions"

bash:

export FDSOLUTIONS_PYTHON_API="/opt/SimWorks FD Solutions/api/python"
# or
export FDSOLUTIONS_HOME="/opt/SimWorks FD Solutions"

config.json example

{
  "python_api_path": "C:/Program Files/SimWorks/SimWorks FD Solutions/api/python"
}

Product installs may also ship a config.json under api/mcp_server/ with a relative path. Open-source / pip users should prefer an absolute python_api_path or environment variables.

How to run

Default transport is stdio (recommended for most LLM clients):

fdsolutions-mcp

Optional HTTP mode:

fdsolutions-mcp --transport streamable-http --host 127.0.0.1 --port 3001

You can also run from a product install tree:

cd "<FD Solutions install root>/api/mcp_server"
python server.py
python server.py --transport streamable-http --host 127.0.0.1 --port 3001

Connect from an MCP client

Let the client spawn the server process. Example:

{
  "mcpServers": {
    "fdsolutions": {
      "command": "fdsolutions-mcp",
      "args": [],
      "env": {
        "FDSOLUTIONS_PYTHON_API": "C:/Program Files/SimWorks/SimWorks FD Solutions/api/python"
      }
    }
  }
}

If you use a virtual environment, point command at that environment’s fdsolutions-mcp (or the matching python + script path). Exact config UI and file names vary by client — follow your client’s MCP documentation.

HTTP (optional)

fdsolutions-mcp --transport streamable-http --host 127.0.0.1 --port 3001

Endpoint: http://<host>:<port>/mcp (default http://127.0.0.1:3001/mcp)

{
  "mcpServers": {
    "fdsolutions": {
      "url": "http://127.0.0.1:3001/mcp"
    }
  }
}

Start this MCP server first, then connect from the client.

CLI options

Option

Default

Description

--transport

stdio

stdio or streamable-http

--host

127.0.0.1

Bind address (HTTP only)

--port

3001

HTTP port (HTTP only)

--log-level

INFO

DEBUG / INFO / WARNING / ERROR / CRITICAL

License

This project is licensed under the Apache License 2.0.

Disclaimer

This MCP server is a companion component and requires a local, licensed FD Solutions installation. Available capabilities follow the product’s exposed Python API and may change across releases.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables AI agents to automate COMSOL Multiphysics simulations, including model management, geometry building, physics configuration, meshing, solving, and results visualization through the MCP protocol.
    78
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents and engineering tools to validate and simulate Gaussian beam optical systems, search component catalogs, and create immutable design links for optical design workflows.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Turns CST Studio Suite into an AI-controllable electromagnetic design lab, enabling conversational THz metamaterial absorber design, unit-cell automation, Floquet port control, batch solve with checkpoint-resume, and surrogate-model predictions.
    2
    MIT