Contact Us

If you still have questions and are an active SimuTech customer, please submit a request.

  • Ansys Training
  • Skills Center
  • Consulting
  • About
  • Contact Support
  • Home

  • Installation

      • Troubleshooting

          • Errors & Solutions

              • License Management

                  • Info

                      • Remote Solve Manager

                          • Employee Login

                          Can't find what you're looking for?

                          Contact Support

                          Installation & Licensing Center

                          • Home
                          • Installation
                            Installation Guides Installation Tasks Requirements & Info Optional Configurations Uninstallation
                          • Troubleshooting
                            Troubleshooting Guides License Manager Connectivity Issues License Checkout Issues Application Functionality Issues Windows OS / Hardware Issues CAD Plugin Issues Project Specific Issues Uninstallation Guides Diagnostic Resources & Logs Other Tasks
                          • Errors & Solutions
                            Behavior Based Issues & Solutions Error Messages & Solutions
                          • License Management
                            FlexNet Licensing Shared Web Licensing Elastic Licensing Licensing Portal Administration License Borrowing Reporting & Usage Stats Other
                          • Info
                          • Remote Solve Manager
                          + More

                          HOW TO - Install Ansys MCP Servers (VS Code & GitHub Copilot)

                          Authored by Caleb Scharf November 11th, 2026 5 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.

                          MCP Server Source: Ansys Repositories on GitHub

                          Solution

                          1. Install Visual Studio Code or the GitHub Copilot App

                          1. 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
                          2. 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.

                          1. 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 on this Windows PC for my user account only. No admin rights;
                            change nothing outside my user profile. Use PowerShell. Run every step yourself, verify it, and keep
                            going if one server fails (report failures at the end). Never run Set-ExecutionPolicy; run scripts with:
                            powershell -NoProfile -ExecutionPolicy Bypass -File <script>
                            The servers load only when a new chat starts, so do not call them here; test only with step 4.
                            Do NOT install or test ansys-cfx or ansys-mapdl (this skill doesn't install them) - they only go in the config.
                            Install ONLY Python 3.13 - never any other Python version.

                            1. Prerequisites (check each; install only if missing, user scope, never trigger an admin/UAC prompt):
                            - git: `git --version`. If missing, install MinGit (portable, no admin):
                            winget install --id Git.MinGit -e --silent --accept-package-agreements --accept-source-agreements
                            If git is still missing: download the latest MinGit-*-64-bit.zip from the git-for-windows/git GitHub
                            release, extract it to %LOCALAPPDATA%\MinGit, and add %LOCALAPPDATA%\MinGit\cmd to the USER PATH.
                            Do NOT install Git.Git (it prompts for admin).
                            - uv: `uv --version`. If missing: winget install --id astral-sh.uv -e --silent --accept-package-agreements --accept-source-agreements
                            (fallback: powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex")
                            Then refresh PATH:
                            $env:Path = [Environment]::GetEnvironmentVariable('Path','Machine') + ';' + [Environment]::GetEnvironmentVariable('Path','User')

                            2. Python 3.13 only:
                            - Run `uv python list --only-installed`. If any uv-managed version other than 3.13 is installed,
                            STOP and tell me which versions, and why: "These will be uninstalled so only Python 3.13 remains,
                            because the Ansys servers are built for 3.13." Ask me to confirm, and uninstall (uv python uninstall <version>)
                            only after I say yes. If I say no, skip the removal and continue (the pin below makes uv ignore them).
                            Never touch Pythons that uv did not install.
                            - `uv python install 3.13`
                            - Pin uv so it never fetches another version:
                            [Environment]::SetEnvironmentVariable('UV_PYTHON','3.13','User')
                            [Environment]::SetEnvironmentVariable('UV_PYTHON_DOWNLOADS','never','User')
                            - For this chat's terminal: $env:UV_PYTHON='3.13'; $env:UV_PYTHON_DOWNLOADS='never'
                            - Also run `Remove-Item Env:GIT_EXEC_PATH -ErrorAction SilentlyContinue` in every terminal command
                            that runs uvx (the app sets it to its own git, which breaks uv's git fetches).
                            Verify with `git ls-remote https://github.com/ansys/pyaedt-mcp.git HEAD`.

                            3. Write %USERPROFILE%\.copilot\mcp-config.json using the file-creation tool (not shell redirection),
                            UTF-8 without BOM. Write it CHARACTER FOR CHARACTER as below: same multi-line layout, 2-space
                            indentation, one key per line. CRITICAL: every repo URL ends with ".git" (e.g. ...pyaedt-mcp.git).
                            Never drop ".git", never shorten or "clean up" the URLs, never collapse entries onto one line, never
                            add "--python" or other args, no version pins, no .exe paths. Never change these entries later in this
                            chat, even on test failures.
                            {
                            "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"]
                            }
                            }
                            }
                            - If the file already exists: copy to mcp-config.json.bak first, keep all non-Ansys servers, and
                            add/replace these six (same layout). If other Ansys-looking entries exist (e.g. "AEDT Global",
                            "Fluent", any .exe), list them and ask me before removing anything.
                            - MANDATORY verification after writing (re-read the file from disk, do not trust what you wrote):
                            * parses as JSON and first bytes are not EF BB BF
                            * run this check and it must print "CONFIG OK":
                            $c = Get-Content "$env:USERPROFILE\.copilot\mcp-config.json" -Raw | ConvertFrom-Json
                            $bad = 'aedt','fluent','mechanical','mapdl','cfx','lumerical' | ForEach-Object {
                            $e = $c.mcpServers."ansys-$_"
                            if ($e.command -ne 'uvx' -or $e.args.Count -ne 3 -or $e.args[0] -ne '--from' -or
                            $e.args[1] -notmatch '^git\+https://github\.com/ansys/py[a-z]+-mcp\.git$' -or
                            $e.args[2] -ne "ansys-$_-mcp") { "ansys-$_" } }
                            if ($bad) { "BAD: $bad" } else { 'CONFIG OK' }
                            * if it prints BAD, rewrite the file and re-check until it prints CONFIG OK.
                            * print the file contents back and confirm every URL ends in ".git".

                            4. Test the four working servers IN PARALLEL (this also pre-downloads/builds them). Save
                            $env:TEMP\Test-Mcp.ps1 exactly as written below, then run all four at once with Start-Job
                            (each: powershell -NoProfile -ExecutionPolicy Bypass -File "$env:TEMP\Test-Mcp.ps1" <repo.git url> <command>),
                            with env vars from step 2 set, 20-minute timeout, and Wait-Job / Receive-Job.
                            Repos/commands: pyaedt-mcp/ansys-aedt-mcp, pyfluent-mcp/ansys-fluent-mcp,
                            pymechanical-mcp/ansys-mechanical-mcp, pylumerical-mcp/ansys-lumerical-mcp
                            (all https://github.com/ansys/<repo>.git). Pass = prints "OK". On failure record the last 20 lines of stderr.
                            If a server fails, retry it once alone. Never fix failures by changing the config.
                            ---- script start ----
                            param([string]$Repo, [string]$Command, [int]$Seconds = 900)
                            function Read-Reply($p, [ref]$task, $id, $deadline) {
                            while ((Get-Date) -lt $deadline) {
                            if ($null -eq $task.Value) { $task.Value = $p.StandardOutput.ReadLineAsync() }
                            if (-not $task.Value.Wait(1000)) { continue }
                            $line = $task.Value.Result; $task.Value = $null
                            if ($null -eq $line) { return $null }
                            try { $msg = $line | ConvertFrom-Json } catch { continue }
                            if ($msg.id -eq $id) { return $msg }
                            }
                            return $null
                            }
                            $psi = New-Object System.Diagnostics.ProcessStartInfo 'uvx'
                            $psi.Arguments = "--from git+$Repo $Command"
                            $psi.UseShellExecute = $false; $psi.RedirectStandardInput = $true; $psi.RedirectStandardOutput = $true
                            $p = [System.Diagnostics.Process]::Start($psi); $p.StandardInput.AutoFlush = $true
                            $deadline = (Get-Date).AddSeconds($Seconds); $task = $null
                            $p.StandardInput.WriteLine('{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"setup-check","version":"1.0"}}}')
                            $init = Read-Reply $p ([ref]$task) 1 $deadline
                            if (-not $init) { $result = "FAILED: no reply to initialize within $Seconds s" }
                            elseif ($init.error) { $result = "FAILED: initialize error: $($init.error.message)" }
                            else {
                            $p.StandardInput.WriteLine('{"jsonrpc":"2.0","method":"notifications/initialized"}')
                            $p.StandardInput.WriteLine('{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}')
                            $list = Read-Reply $p ([ref]$task) 2 $deadline
                            if ($list.result.tools) { $result = "OK: $($list.result.tools.Count) tools" } else { $result = "FAILED: no tools listed" }
                            }
                            if (-not $p.HasExited) { taskkill /PID $p.Id /T /F | Out-Null }
                            "${Command}: $result"
                            ---- script end ----

                            5. Finish with exactly this Markdown, nothing before or after:

                            ## Ansys MCP setup: done ✅

                            | Server | In config | Test |
                            |---|---|---|
                            | ansys-aedt | Yes | ✅ OK (N tools) |
                            | ansys-fluent | ... | ... |
                            | ansys-mechanical | ... | ... |
                            | ansys-lumerical | ... | ... |
                            | ansys-cfx | Yes | ⏸️ This skill doesn't install it - not tested |
                            | ansys-mapdl | Yes | ⏸️ This skill doesn't install it - not tested |

                            (Use ❌ FAILED + one-line reason for failures, then details under "### Problems".)

                            ### 🚀 Next steps

                            1. 🔄 **Close this AI application completely and restart it** (closing the window isn't enough):
                            right-click its system tray icon (click ^ for hidden icons) > **Exit**, then reopen it.
                            In VS Code, close every VS Code window, then reopen.
                            2. 💬 **Start a new chat** (Agent mode in VS Code).
                            3. 👀 **Check server status** (allow up to 3 minutes for first start):
                            - **Task Manager:** open it, filter by **MCP**, and look for the running services.
                            - **GitHub Copilot app:** go to **Customizations** > **MCP servers**.
                            - **VS Code:** in the **Agents** window, go to **Customizations** > **MCP servers**.
                            There you can see whether each server has started. Use the toggle to start/stop it, or
                            disable and re-enable it (this also stops and starts the service). If one spins with no
                            green check, toggle it off and on once.
                            ansys-cfx and ansys-mapdl are in the config but this skill doesn't install them, so expect no green check.
                            4. ⌨️ **Type:** `Open Mechanical using the MCP server`, then choose **Allow**.
                            5. 🖥️ **The Ansys Mechanical window should open** (1-2 minutes). If not, click **...** next to the
                            server and send the error text to whoever supports your setup.
                          2. When the assistant finishes, it shows a status table and a "Test it" list. Follow that list.


                          3. Verify It Worked

                          1. 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.
                          2. Start a new chat.

                            Note: In Visual Studio Code, select Agent mode.
                          3. 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: On the MCP servers page, use the toggle next to a server to start or stop it. Turning it off and on again also stops and starts the service. If a server spins with no green check, toggle it off and on once.

                            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.

                            upload-fb7d3cd3-0.png upload-fb7d3cd3-1.pngupload-fb7d3cd3-2.pngupload-fb7d3cd3-3.png
                          4. Type something like Open Mechanical using the MCP server, then click Allow.

                          5. 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.
                          ansys mcpmodel context protocolgithub copilotvs code agent modemcp-config.jsonuvx python 3.13pyaedt mcpai assistant ansysmechanical mcp server

                          Was this helpful?

                          Yes
                          No

                          0 out of 0 found it helpful

                          Related Articles

                          HOW TO - Make an Ansys License Server Public Facing (BYOL)

                          HOW TO - Set User License Privileges via an Options File

                          HOW TO - Enable the Ansys Idle Timeout Feature

                          HOW TO - Create an ansyslmd.opt OPTIONS file

                          Popular Articles

                          Ansys Download & Installation Guide

                          INFO - Ansys Hardware Recommendations & Supported 3rd Party Software

                          HOW TO - Uninstall Ansys Software

                          HOW TO - Test & Fix FlexNet License Manager Connectivity Issues

                          HOW TO - Install an Ansys FlexNet License Key/File

                          Was this helpful?

                          Yes
                          No
                          Give feedback about this article

                          Can't find what you're looking for?

                          Contact Support

                          Recently Updated

                          • HOW TO - Install Ansys MCP Servers (VS Code & GitHub Copilot)
                          • HOW TO - Run Product & CAD Configuration Manager
                          • ERROR - Gather Diagnostic Information Fails with NoClassDefFoundError CountingOutputStream on Linux
                          • HOW TO - Download the Ansys Electronics Package (HFSS, Maxwell, Icepak, SIwave, Nuhertz)
                          • INFO - Ansys Hardware Recommendations & Supported 3rd Party Software
                          • HOW TO - Obtain Usage Data for Usage Reporting
                          • HOW TO - Fix Ansys Installation / Functionality Issues
                          • HOW TO - Edit the Windows Hosts File
                          • HOW TO - Verify the Ansys License Manager Is Running
                          • General Inquiries & Sales:
                          • (800) 566-9190
                          • Info@SimuTechGroup.com
                          • Contact Support
                          • Software
                          • Services
                          • Case Studies
                          • Ansys Training
                          • Consulting
                          • Technical Support
                          • About SimuTech
                          • Careers
                          • Privacy

                          © 2025 SimuTech Group


                          Knowledge Base Software powered by Helpjuice

                          Definition by Author

                          0
                          0
                          Expand NEW TAB

                          Hi there! 👋

                          How are you liking the Installation Center?

                          Terrible

                          Bad

                          OK

                          Good

                          Excellent

                          Feedback Successfully submitted