Installation & Licensing Center
HOW TO - Install Ansys MCP Servers (VS Code & GitHub Copilot)
Authored by Caleb Scharf
November 12th, 2026
13 views
0 likes
KB4109896
Description
The Ansys MCP (Model Context Protocol) servers let an AI assistant in Visual Studio Code or the GitHub Copilot app work with Ansys products such as Mechanical, Fluent, AEDT and Lumerical. This article covers installing an assistant app and using a ready-made prompt that sets up the servers for your Windows user account.
Solution
1. Install Visual Studio Code or the GitHub Copilot App
- Open PowerShell (HOW TO - Open PowerShell) and run the command for the app you want:
-
To install Visual Studio Code:
# 1. Bypass execution policy for this session only (no prompt)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
# 2. Silently install VS Code without prompts
winget install --id Microsoft.VisualStudioCode -e --source winget --silent --accept-package-agreements --accept-source-agreements --disable-interactivity -
To install the GitHub Copilot app:
# 1. Bypass execution policy for this session only (no prompt)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
# 2. Silently install GitHub Copilot Desktop App without prompts
winget install -e --id GitHub.CopilotApp --scope machine --silent --accept-package-agreements --accept-source-agreements
-
To install Visual Studio Code:
- Open the app and sign in.
2. Set Up the Ansys MCP Servers
Python Versions and Existing MCP Settings
The prompt removes any Python versions that uv manages, except 3.13. If %USERPROFILE%\.copilot\mcp-config.json already exists, the assistant backs it up to mcp-config.json.bak first, and asks you before it removes other Ansys entries.
MCP Servers Installed (Ansys Repositories on GitHub)
- ansys-aedt
- ansys-fluent
- ansys-mechanical
- ansys-mapdl
- ansys-cfx
- ansys-lumerical
- Start a new chat, then paste the prompt below and send it.
Note: In Visual Studio Code, open the Chat view and select Agent mode.Set up the official Ansys MCP servers (AEDT, Fluent, Mechanical, Lumerical, CFX, MAPDL) for ONE Windows user. No admin rights. Be efficient: run independent steps in parallel, don't narrate, and don't ask questions unless something is blocked.
RULES
- Install only for the current user. Never trigger a UAC/admin prompt.
- Install Python 3.13 ONLY. Never install or keep any other Python version.
- Do NOT install Ansys products (Fluent, CFX, MAPDL, etc.). Only the MCP servers.
- Before running uvx in any terminal, run: Remove-Item Env:GIT_EXEC_PATH -ErrorAction SilentlyContinue
STEP 1 - Prerequisites (skip what exists)
- git: if `git --version` fails, install MinGit (portable, no admin): `winget install --id Git.MinGit -e --scope user --silent`. If that fails, download the MinGit zip from github.com/git-for-windows/git/releases, extract to %LOCALAPPDATA%\MinGit, and add %LOCALAPPDATA%\MinGit\cmd to the USER PATH.
- uv: if `uv --version` fails, `winget install --id astral-sh.uv -e --scope user --silent`. Refresh PATH for this session.
STEP 2 - Python 3.13 only
- Run `uv python list --only-installed`.
- If any non-3.13 uv Python exists, WARN the user and ask y/N before uninstalling it. Reason: other versions can make uvx pick the wrong interpreter and break the servers. Uninstall only after "y".
- Run `uv python install 3.13`.
- Set user env vars UV_PYTHON=3.13 and UV_PYTHON_DOWNLOADS=never (setx or [Environment]::SetEnvironmentVariable(...,'User')), and set them in this session too.
STEP 3 - Write %USERPROFILE%\.copilot\mcp-config.json
- If the file exists: copy it to mcp-config.json.bak first, then MERGE. Keep every existing server entry unchanged and add or replace only the six ansys-* entries. Never delete other entries.
- Write the six entries in EXACTLY this layout (multi-line, 2-space indent, "tools": ["*"], UTF-8 without BOM). Do not minify, reorder keys, drop ".git", or add extra args:
{
"mcpServers": {
"ansys-aedt": {
"tools": ["*"],
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/ansys/pyaedt-mcp.git", "ansys-aedt-mcp"]
},
"ansys-fluent": {
"tools": ["*"],
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/ansys/pyfluent-mcp.git", "ansys-fluent-mcp"]
},
"ansys-mechanical": {
"tools": ["*"],
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/ansys/pymechanical-mcp.git", "ansys-mechanical-mcp"]
},
"ansys-mapdl": {
"tools": ["*"],
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/ansys/pymapdl-mcp.git", "ansys-mapdl-mcp"]
},
"ansys-cfx": {
"tools": ["*"],
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/ansys/pycfx-mcp.git", "ansys-cfx-mcp"]
},
"ansys-lumerical": {
"tools": ["*"],
"type": "stdio",
"command": "uvx",
"args": ["--from", "git+https://github.com/ansys/pylumerical-mcp.git", "ansys-lumerical-mcp"]
}
}
}
- Write with [IO.File]::WriteAllText($path, $text, (New-Object Text.UTF8Encoding $false)).
- VERIFY (mandatory): parse the file with ConvertFrom-Json; for each of the six entries confirm command = "uvx", args has exactly 3 items, args[1] matches ^git\+https://github\.com/ansys/py[a-z]+-mcp\.git$, and args[2] is the right command; confirm no BOM; confirm every pre-existing non-Ansys server is still present and unchanged. Print "CONFIG OK" or fix and retry.
- Why exact: company accounts can enforce an allowlist of MCP servers that must match these commands character for character. A mismatch is skipped silently.
STEP 4 - Test all six in parallel
- For each server, start a background job (Start-Job): run `uvx --from git+https://github.com/ansys/<repo>.git <command>`, send MCP `initialize` (protocolVersion 2025-11-25) then `notifications/initialized` then `tools/list` over stdin, read replies from stdout with a timeout of up to 20 minutes (first run downloads packages), then kill the process tree.
- Retry a failed server once. Save the last 20 stderr lines for any failure.
FINAL OUTPUT - print these sections in this exact order, concise, with a few emojis
1. 📊 SUMMARY
| Server | In config | Test |
|---|---|---|
one row per server: "OK (N tools)" or "FAILED: <reason>"
Then: "Passing means the MCP server runs. The Ansys products themselves are not installed by this setup."
For any failure, show its stderr and the matching troubleshooting item.
2. 🛠️ TROUBLESHOOTING
- No green check / server never starts: make sure a chat session is open (VS Code especially). Servers only start from an open chat.
- Test passes but still no green check and no error: your organization may block it. Company accounts can enforce an MCP allowlist that must match each command exactly. Ask your admin to confirm these six commands are allowed (`uvx --from git+https://github.com/ansys/<repo>.git <command>`) and that MCP servers are enabled in the org's Copilot policies. Logs: %USERPROFILE%\.copilot\logs\process-*.log (search "MCP server connection failed" and "managedSettings").
- Config: %USERPROFILE%\.copilot\mcp-config.json (backup: .bak). Must be valid JSON, UTF-8 without BOM, key "mcpServers", ".git" kept, no extra args. Validate: Get-Content $env:USERPROFILE\.copilot\mcp-config.json -Raw | ConvertFrom-Json
- "git: 'remote-https' is not a git command": the app sets GIT_EXEC_PATH to its own git. Run Remove-Item Env:GIT_EXEC_PATH. Check `git --version` and `uv --version` (reopen the terminal after PATH changes).
- Python errors: only 3.13 should exist (`uv python list --only-installed`); UV_PYTHON=3.13 and UV_PYTHON_DOWNLOADS=never must be set; `uv cache clean` fixes a broken cache. Test one by hand: uvx --from git+https://github.com/ansys/pycfx-mcp.git ansys-cfx-mcp
- Slow first start or timeouts: the first launch downloads packages (1-3 min). Toggle the server off/on afterwards.
- Network/proxy errors: github.com, pypi.org, files.pythonhosted.org and python downloads must be reachable. Behind a proxy set HTTPS_PROXY; for TLS inspection try `setx UV_NATIVE_TLS 1`.
- Servers start but tools fail: the Ansys product must be installed and licensed on this PC.
- Changes not picked up: fully exit the app, reopen, start a NEW chat.
3. 🚀 NEXT STEPS
1. 🔄 Close this AI application completely (tray icon > Exit; in VS Code close all windows) and reopen it.
2. 💬 Start a NEW chat and keep it open. The servers start from the chat. If no chat session is open, they won't start.
3. ⏳ Wait up to 3 minutes, then check status:
- 🖥️ Task Manager: filter by "MCP".
- 🤖 GitHub Copilot app: Customizations > MCP servers.
- 💻 VS Code: Agents window > Customizations > MCP servers.
4. ✅ Try: "Open Mechanical using the MCP server".
4. 💡 HELPFUL TIPS
- 🔁 Toggle any MCP server off and on in Customizations > MCP servers to stop or start it (disabling and re-enabling does the same).
- 🔌 MCP servers stop when you close the AI application.
- 💻 In VS Code, servers only run while a chat session is open. Call them from the chat.
- 🪟 Ansys apps opened in GUI mode may not close if you close the window by hand. Ask the chat to close the session, or close the chat session.
PACKAGES (all-users install, for reference; this setup uses per-user installs without admin)
- Git: winget install --id Git.Git -e --scope machine
- uv: winget install --id astral-sh.uv -e --scope machine
- Python: winget install --id Python.Python.3.13 -e --scope machine
```` - When the assistant finishes, it shows a status table and a "Test it" list. Follow that list.
3. Verify It Worked
- Fully exit the app and restart it. Closing the window is not enough.
- GitHub Copilot app: right-click the system tray icon ➜ Exit, then reopen the app. Click ^ in the taskbar to see hidden icons.
- Visual Studio Code: close every Visual Studio Code window, then reopen it.
- Start a new chat.
Note: In Visual Studio Code, select Agent mode. - Check whether each server has started. The first start can take up to 3 minutes.
- Task Manager: open Task Manager, filter by MCP, and look for the running services.
- GitHub Copilot app: go to Customizations ➜ MCP servers.
- Visual Studio Code: in the Agents window, go to Customizations ➜ MCP servers.
Note: The setup adds six servers. It installs and tests four: ansys-aedt, ansys-fluent, ansys-mechanical and ansys-lumerical. ansys-cfx and ansys-mapdl are only added to the configuration, so they do not show a green check. Type something like
Open Mechanical using the MCP server, then click Allow.- Check that the Ansys Mechanical window opens. This can take 1-2 minutes. If it does not open, click ... next to the server and send the error text to whoever supports your setup.