FD Solutions MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FD Solutions MCP Servercreate a ring resonator, run a wavelength sweep, and plot transmission"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
FD Solutions MCP Server
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 APIships 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 APIvia environment variables orconfig.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:
Environment variables (highest priority)
FDSOLUTIONS_PYTHON_API— directory that containssimworks.py(usually<FD Solutions install root>/api/python)or
FDSOLUTIONS_HOME— FD Solutions install root (uses<home>/api/python)
config.jsonif env is unset or invalidSearch order: current working directory → directory next to
server.pyField:
python_api_path— path to<FD Solutions install root>/api/python(relative paths are resolved against the directory ofconfig.json)
Copy the example file and edit it for your machine:
cp config.example.json config.jsonEnvironment 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-mcpOptional HTTP mode:
fdsolutions-mcp --transport streamable-http --host 127.0.0.1 --port 3001You 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 3001Connect from an MCP client
STDIO (recommended)
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 3001Endpoint: 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 |
|
|
|
|
| Bind address (HTTP only) |
|
| HTTP port (HTTP only) |
|
|
|
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.
This server cannot be deployed
Related MCP Connectors
Run FDS, OpenFOAM, CalculiX and other engineering simulations on cloudHPC from your AI assistant.
AI-powered life cycle assessment and modelling: connect to LCA databases, build and analyze systems
Build, validate, and deploy multi-agent AI solutions from any AI environment.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI agents to automate COMSOL Multiphysics simulations, including model management, geometry building, physics configuration, meshing, solving, and results visualization through the MCP protocol.78MIT
- AlicenseNot gradedqualityDmaintenanceEnables natural-language-driven automation of Ansys Lumerical photonic simulations (FDTD, MODE, DEVICE, INTERCONNECT) with 40+ tools for geometry, materials, sources, monitors, solvers, results, optimization, and documentation.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables 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
- AlicenseNot gradedqualityAmaintenanceTurns 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.2MIT