Ansys CFX-MCP
OfficialThe Ansys CFX-MCP server provides an MCP interface for AI assistants to manage Ansys CFX sessions, automate workflows, execute Python code, inspect model context, and generate code from natural language. Key capabilities include:
Session Management: Connect to, disconnect from, and check status of CFX (CFX-Pre, Solver, CFD-Post) backends.
Workflow Automation: Execute lifecycle actions (start pre, import mesh, write definition, run solver, retrieve results, open post) via a unified tool.
Model Context: Query compact summaries, list/find named objects, view state snippets, browse API help, and get allowed values.
Code Execution & Validation: Run Python in the PyCFX session with CFX helpers (
pre,solver,post); dry-run validation for syntax and semantics.AI-Assisted Code Generation: Generate CFX Python code from prompts, with clarification support for refinement.
Flexible Connectivity: Supports STDIO and Streamable HTTP transports.
Enables AI assistants to interact with Ansys CFX, supporting CFX-Pre, CFX Solver, and CFD-Post workflows for setup, execution, and postprocessing.
Click on "Install 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., "@Ansys CFX-MCPSet up a CFX-Pre simulation for flow over a NACA 0012 airfoil"
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.
Ansys CFX-MCP
Ansys CFX-MCP (ansys-cfx-mcp) is a Model Context Protocol (MCP)
server that enables AI assistants to interact with Ansys CFX through
PyCFX. It enables
natural-language-assisted CFX-Pre, CFX Solver, and CFD-Post workflows for
setup, execution, and postprocessing.
It is built on PyAnsys Common MCP (ansys-common-mcp), the shared PyAnsys MCP foundation.
This package is self-contained and works as a standalone server for any MCP host. It exposes a compact CFX-oriented tool surface so you can connect to CFX sessions, inspect bounded model context, validate and run reviewed PyCFX snippets, and coordinate common solver and CFD-Post actions.
For quick-start, configuration, architecture, examples, and per-tool reference material, see the PyCFX-MCP documentation.
Overview
Ansys CFX-MCP is a stateless MCP leaf. MCP clients such as Visual Studio Code Copilot, Claude Desktop, Cursor, or a custom automation host call a focused set of tools to drive live CFX-Pre, CFD-Post, and CFX Solver sessions. Custom Python runs through a validated, Python-level restricted execution path. This is not an operating-system or container sandbox.
Key features:
CFX session management: Start or attach to CFX-Pre, CFX Solver, and CFD-Post workflows.
Workflow routing: Use one compact
cfx_workflowtool for common CFX lifecycle actions.Bounded model context: Inspect summaries, named objects, API help, allowed values, and selected state snippets without dumping entire models into an MCP client.
Validated execution: Run custom snippets in a persistent PyCFX execution context with strict AST validation, guarded imports, and limited built-in functions.
Flexible MCP transport: Run over STDIO for local clients or Streamable HTTP for trusted local integrations.
Related MCP server: Mechanical MCP Server
Tool surface
The default MCP surface includes seven tools:
Group | Tools |
Connection and session |
|
CFX workflow routing |
|
Bounded model context |
|
Code execution |
|
The server also exposes a toolsets://definition MCP resource for clients or
conductors that group related tools. The default CFX toolsets cover connection
management, CFX workflow routing, CFX model context, and code execution.
Requirements
Requirement | When needed | Notes |
Python 3.12 or later | Always | 3.12, 3.13 and 3.14 are supported |
Core runtime dependencies | Always (installed automatically) |
|
A licensed local Ansys CFX installation | To launch or attach CFX tools | Required for workflows that use CFX-Pre, CFX Solver, or CFD-Post |
PyCFX and Ansys CFX are required for live-session tools. Any tool that touches a CFX app (
connect,run_code,cfx_workflow,cfx_model_context, andsession_status) requiresansys-cfx-coreand a licensed CFX installation on your machine.
Installation
Install the latest release for users:
pip install ansys-cfx-mcpInstall the latest release for developers:
git clone https://github.com/ansys/pycfx-mcp.git
cd pycfx-mcp
pip install -e ".[dev,doc]"Usage
Run PyCFX-MCP over STDIO, the default transport for desktop MCP clients:
ansys-cfx-mcp --transport stdioOr, run PyCFX-MCP over Streamable HTTP:
ansys-cfx-mcp --transport http --host 127.0.0.1 --port 8000Use STDIO for desktop MCP clients that launch the server process. Use Streamable HTTP only on trusted networks or behind infrastructure that provides authentication and TLS.
Starting PyCFX-MCP only makes the tools available. You still need an MCP-compatible client, such as Visual Studio Code Copilot, Claude Desktop, Cursor, or another assistant host, to connect to PyCFX-MCP. For more information, see IDE and client configuration in the PyCFX-MCP documentation.
Configuration
The standalone server does not call a language model. Configure only the server
transport, logging, and backend options needed for your MCP client. Custom code
authoring belongs in the MCP host or a higher-level agent layer; PyCFX-MCP
validates and runs reviewed Python through validate_code and run_code.
For transport settings, see Configuration in the PyCFX-MCP documentation.
License
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
Resources
For general PyAnsys questions, email pyansys.core@ansys.com.
Available Tools
7 toolscfx_model_contextA
Return a targeted, compact CFX model context slice. Actions: summary, list_named_objects, find_named_object, select_named_objects, state, api_help, find_api, allowed_values, targeted_context. Use max_items to keep responses small.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Component-management action to apply. | summary |
| params | No | Query-specific options such as paths, object names, or search text. | |
| max_items | No | Maximum number of context items to include in the response. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that responses are 'targeted, compact' and that max_items limits size, but does not state whether the tool is read-only, possible errors, or any side effects. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose, followed by a compact action list and max_items guidance. No redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has many actions and parameters, the description covers the core purpose and output control but lacks guidance on when to choose this tool over siblings or how to select between actions. Output schema covers return values, so no need to explain them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by enumerating valid action values and explaining the purpose of max_items, which goes beyond the schema's generic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return') and resource ('CFX model context slice'), and enumerates distinct actions. It clearly distinguishes this as a context-query tool from siblings like run_code or connect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (for context queries) and lists actions, but does not explicitly state when not to use it or mention alternatives among sibling tools. No exclusionary or comparative guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cfx_workflowA
Run one focused CFX lifecycle or artifact action. Actions: start_pre, import_mesh, write_def, start_solver, wait_solver, get_results_file, open_post, status. Use the external agent layer for custom PyCFX code generation.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Component-management action to apply. | |
| params | No | Action-specific parameters such as file paths, launch options, or timeout settings. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits, but it only lists action names without explaining side effects, blocking behavior, or return values. For instance, it does not clarify that wait_solver blocks until completion or that start_solver may launch background processes, leaving the agent underinformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two sentences with no redundant phrasing. The list of actions is compact and the sentence about the external agent layer provides important exclusion guidance without wasting words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (not shown) and eight distinct actions, the description is sparse. It does not detail what each action does, what parameters are required per action, or what output to expect. For a tool with such varied behavior, an agent would struggle to invoke actions like write_def or get_results_file correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters, so the baseline is 3. The description adds significant value by enumerating the allowed action values (start_pre, import_mesh, etc.), which are not present as an enum in the schema. It also gives concrete examples (file paths, launch options, timeout settings) that clarify the flexible 'params' object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Run') and resource ('CFX lifecycle or artifact action'), and it enumerates the exact actions (start_pre, import_mesh, etc.). This distinguishes it well from sibling tools like run_code and validate_code, which focus on Python code execution rather than predefined CFX operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (for focused CFX lifecycle/artifact actions) and explicitly directs users to the external agent layer for custom PyCFX code generation, which is a useful exclusion. However, it does not explicitly compare against siblings like run_code or session_status, so the guidance is not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connectA
Connect the cfx leaf to a backend. Available backend kinds: ['pycfx']. Pass backend_kind to choose, or omit it to auto-select. Backend-specific options (url/token/ip/port/...) go in connect_kwargs as a dict and are forwarded to the backend.
| Name | Required | Description | Default |
|---|---|---|---|
| backend_kind | No | Backend kind to connect, or ``None`` to use the default backend. Default is ``None``. | |
| connect_kwargs | No | Backend-specific connection options forwarded to the selected backend. Default is ``None``. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| message | No | |
| endpoint | No | |
| candidates | No | |
| error_code | No | |
| backend_kind | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses backend kinds, auto-selection behavior, and kwargs forwarding, but it doesn't mention side effects such as whether an existing connection is replaced, whether authentication is needed, or error behavior. This is moderate transparency with notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences lead with the core purpose, then cover backend selection and option forwarding. No filler or redundant restatement of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two optional parameters, an output schema, and full schema coverage. The description sufficiently explains both parameters and the overall connect workflow, though it could briefly note prerequisites or state implications.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds meaning: it lists the available backend kind ('pycfx'), explains that omitting it triggers auto-selection, and clarifies that 'connect_kwargs' is a dict of forwarded backend-specific options like url/token/ip/port. This adds real value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Connect the cfx leaf to a backend,' naming both the resource and the target. It also distinguishes this from sibling tools like disconnect and session_status by focusing on establishing a connection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage direction: choose 'backend_kind' or omit to auto-select, and put backend-specific options in 'connect_kwargs'. It doesn't explicitly mention when not to use it, but the action is contextual and obvious relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnectA
Disconnect the cfx leaf's active backend.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects. It only states the action without mentioning whether it is destructive, requires authentication, or what happens if there is no active backend. This is insufficient for a mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence (7 words), front-loads the verb, and contains no unnecessary text. It is perfectly sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for basic understanding but lacks usage context (when to call) and behavioral details (side effects). While the tool is simple and output schema exists, the lack of guidance reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema trivially covers all inputs. The description adds no parameter details, but none are necessary; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('Disconnect') and the target resource ('cfx leaf's active backend'), which is specific and distinguishes it from sibling tool 'connect' as the inverse operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives, such as prerequisites, whether to call after 'connect', or behavior when no active backend exists. This is a clear gap for a tool with a direct counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_codeA
Execute Python code against the active PyCFX session namespace. The code runs with pre, solver, post, session, cfxpre, cfxsolver, and cfxpost helpers refreshed from the current CFX sessions. Returns stdout, stderr, and any __return__ value. Prefer cfx_workflow or cfx_model_context for routed actions and read-only queries.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Python source code submitted for validation, grounding, or execution. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full transparency burden. It discloses the execution namespace, the list of refreshed helper variables, and the return value (stdout, stderr, __return__). It also hints at which operations are not appropriate, but does not detail side effects or safety implications of arbitrary code execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with purpose: first states the core action, second details helpers and return, third gives alternative guidance. No wasted words, information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of code execution and no output schema, the description covers the essential behavior, execution context, return values, and offers routing guidance. It stops short of describing potential side effects or the exact signatures of helpers, but the core is sufficiently complete for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the 'code' parameter is described, so baseline is 3. The description adds meaning beyond the schema by explaining the execution environment (helpers refreshed from CFX sessions) and the return format. However, the schema mentions 'validation, grounding, or execution' while the description only says 'execute,' creating slight ambiguity about whether validation/grounding modes exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Execute Python code against the active PyCFX session namespace.' This clearly distinguishes it from siblings like cfx_workflow and cfx_model_context by explicitly naming them as preferred for routed actions and read-only queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use (executing code in a session) and explicitly directs users to prefer cfx_workflow or cfx_model_context for routed actions and read-only queries. This gives effective alternative guidance, though it could be more explicit about exactly when run_code is the best choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_statusA
Report whether the cfx leaf has an active backend. Safe to call before connect. Returns the connected endpoint, backend kind, and the list of tools available in the current state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| leaf | Yes | Leaf name, usually `cfx` for this package |
| notes | No | |
| backend | No | |
| endpoint | No | |
| connected | Yes | |
| backend_kind | No | |
| capabilities | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly discloses that the call is safe (no side effects) and describes the return contents, which covers the key behavioral aspects for a read-only status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and every word earns its place. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params) and presence of an output schema, the description is largely complete. It adds the important context of safety before connect and the list of available tools. Minor omission is lack of detail on the case when no backend is active, but the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to document. The baseline for 0 params is 4, and the description correctly ignores parameters entirely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Report whether the cfx leaf has an active backend.' It also lists what it returns (endpoint, backend kind, tools), making it clearly distinct from siblings like connect and disconnect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Safe to call before `connect`', providing a clear when-to-use context. It doesn't mention alternatives or exclusions, but the use case is unambiguous for a status-reporting tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_codeA
Dry-run / validate CFX Python without applying side effects. Returns parse / type / semantic feedback.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Python source code submitted for validation, grounding, or execution. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully carries the behavioral burden. It discloses that it is a dry-run and has no side effects, which is critical. It also states it returns parse/type/semantic feedback, offering insight into the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the key behavior with 'Dry-run / validate' and avoids any unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool, the description is fairly complete. It explains the core behavior and output type, though it doesn't specify the exact structure of the feedback. Given no output schema, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of the parameter with a description. The tool description adds the context of 'CFX Python' and the validation purpose, but the parameter semantics are largely defined by the schema already.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool is for dry-run/validation of CFX Python and mentions it avoids side effects, which clearly distinguishes it from sibling run_code. It uses specific verbs and provides the resource and purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use when you want to validate code without executing it, contrasted with run_code. It does not explicitly name alternatives or when-not-to-use, but the 'without applying side effects' gives clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v0.2.0- Removed
clarify - Removed
codegen - Changed
connect1 field changed- changed
Output schema / properties / candidates / items / descriptionPrevious value: -"Minimal connection descriptor surfaced to the LLM/UI for selection."New value: +"Minimal connection descriptor surfaced to clients for selection."
9 tool updates
v0.1.0- First observed
cfx_model_context - First observed
cfx_workflow - First observed
clarify - First observed
codegen - First observed
connect - First observed
disconnect - First observed
run_code - First observed
session_status - First observed
validate_code
TDQS
Tools are mostly distinct: connection management, code generation/execution, context queries, and workflow actions are clearly separated. However, cfx_model_context bundles many actions (status, state, find_named_object) that could be confused with cfx_workflow's status action, and the boundary between context queries and workflow actions is not always crisp.
Names mix verb-only (connect, disconnect, clarify), verb-noun (run_code, validate_code), and noun-like (session_status, cfx_model_context, cfx_workflow) patterns. The cfx_ prefix appears only on some tools, and there is no consistent verb_noun convention, making the naming somewhat unpredictable.
9 tools is appropriate for a domain-specific CFX server. Each tool covers a distinct aspect (connection, coding, context, workflow), and the count is well within the ideal 3-15 range without unnecessary bloat.
The tool set covers the core CFX workflow: connection management, code generation, execution, validation, context queries, and solver lifecycle actions. Minor gaps exist (e.g., no explicit 'stop' or 'cleanup' tool, and edit operations rely on codegen/run_code), but the main workflows are well-supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server for building and testing AI agents with multi-model experimentation and insights.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP Server for COMSOL Multiphysics simulation automation via AI agents.781MIT
- AlicenseNot gradedqualityBmaintenanceEnables natural language interaction with ANSYS Mechanical simulation software via gRPC, allowing users to manage geometry, mesh, boundary conditions, solve analyses, and generate reports through MCP-compatible AI clients.16Apache 2.0
- AlicenseNot gradedqualityAmaintenanceAutomates OpenFOAM CFD simulations via MCP, enabling AI agents to mesh, run, and post-process cases from natural language prompts without any API keys.MIT
- FlicenseNot gradedqualityCmaintenanceMCP server for automating ANSYS HFSS simulations, enabling persistent connections, modeling, simulation setup, and S-parameter extraction through AI assistants.1-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ansys/pycfx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server