PLAXIS-MCP
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., "@PLAXIS-MCPrun the calculation for phase 1 and export the displacement results"
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.
PLAXIS · MCP
Drive PLAXIS 2D from any MCP client.
Geometry, staged construction, meshing, calculation and results — exposed as tools, over a hardened Windows-local stdio server.
Quickstart · Tools · Clients · Security model · Architecture
mcp-name: io.github.yixuanzhong/plaxis-mcp
▸ v0.3 — set up once, launch from anywhere
One-shot machine setup |
|
Shared profile store | Every client on the machine reads the same profiles. Claude Code, Codex, Cursor and VS Code all bind to one installation and one credential set. |
| No per-client config surgery. |
Mode-aware operations |
|
Listed on the MCP Registry | Published as |
Client-neutral by design: Codex, Claude Code, Cursor, VS Code/Copilot and any other conforming local stdio MCP client connect to the same unprefixed server tools.
Related MCP server: MCP Server.exe
Quickstart
1 — Set up the machine, once.
plaxis-mcp.exe setupProfiles land in %LOCALAPPDATA%\Caros\PLAXIS-MCP\profiles (override with --profile-dir).
Add --skip-credentials to generate profiles now and store passwords later with
plaxis-mcp.exe credentials set --profile <profile.toml>.
The directory name is historical — it is where the first supported installer wrote — and is kept because
credential_targetis derived from it.
2 — Run each role as its own process.
plaxis-mcp.exe serve --role input
plaxis-mcp.exe serve --role output--config <profile.toml> names a profile explicitly and is equivalent. Either way serve
takes every endpoint setting from the profile and the password from Windows Credential
Manager, and it fails to start if any PLAXIS_* endpoint environment override is
present — so a client cannot silently redirect an endpoint or inject a password.
3 — Point a client at it. See Clients; the host never connects at startup,
so call the connect tool once PLAXIS is running.
Getting the host
Distribution | Command | Assurances |
Signed Windows package |
| Authenticode-signed, hash-manifested, installer-verified. The supported production deployment. |
PyPI |
| Ordinary Python source distribution. No code signature, no artifact manifest. |
Both expose the same setup, serve, credentials and profiles commands and enforce the
same profile binding and environment-override rejection — so PyPI is not a weaker runtime
posture. It simply carries no supply-chain attestation of its own beyond PyPI's, and it is not
what an organization requiring signed binaries should deploy.
Do not install plxscripting into the host environment under either.
A clean CPython 3.13 environment can run the module directly with endpoint environment variables. This path carries the password in the environment and performs no installation binding.
py -3.13 -m pip install .
$env:PLAXIS_ROLE = "input"
$env:PLAXIS_INPUT_HOST = "127.0.0.1"
$env:PLAXIS_INPUT_PORT = "10000"
$env:PLAXIS_BUNDLE_PYTHON = "C:\Path\To\PLAXIS\python.exe"
py -3.13 -I -u -m plaxis_mcp.serverFor Output, set PLAXIS_ROLE=output and use the PLAXIS_OUTPUT_* variables. Role-specific
variables take precedence over the deprecated generic PLAXIS_HOST, PLAXIS_PORT and
PLAXIS_PASSWORD fallback. The server accepts stdio only — do not set a non-stdio
PLAXIS_MCP_TRANSPORT.
Tools
Each process has one immutable role. A client registers Input and Output as separate MCP servers when it needs both.
Role | Endpoint | Tools |
Both | — |
|
Input |
|
|
Output |
|
|
34 Input tools · 11 Output tools.
connect()takes no endpoint or credential arguments. It uses only the pinned role configuration, so an agent cannot redirect a stored password to an arbitrary host.Role status resources live at
plaxis://input/statusandplaxis://output/status.get_results(phase, result_type_path, fem_type="node", offset=0, limit=200)paginates losslessly.limitis 1–5,000; responses reportcount,offset,limit,returned_count,has_more,next_offsetandresults.Every object in a result carries
path— the exact string to pass back to any reference parameter.list_objects(kind)lists a whole kind that way, with a geometry summary (coordinates, or a parsedboundsfor objects that report a bounding box).model_state()reports mesh status, the phase table and unassigned materials before a calculate is attempted. It separatesblocking(a fault in this model) fromunknown(a check that could not run here) andcaveats(something PLAXIS does not expose at all — on 2D V22, whether the mesh still matches the geometry), so an emptyblockingis never mistaken for a clean bill of health.Results live on the Output server, which reads whatever the PLAXIS Output application has open.
view_results(phase)on the Input server is what puts a calculated phase there.When PLAXIS rejects a call, its own message travels beside ours in
plaxis_message(sanitised: no filesystem paths, no frames, capped with the truncation flagged out of band). A failingcalculatealso carries a per-phase table indetails.
Clients
All shipped examples are secret-free and use two server entries, one per role. Replace the
command with wherever plaxis-mcp.exe lives, or with uvx plaxis-mcp for a PyPI install.
Nothing else needs editing — --role finds the shared profiles by itself.
Client | Example | Credentials & approvals |
Codex |
| |
Claude Code | Expand only a user-level environment variable in | |
Cursor | Role password in the user environment at launch; keep Auto-run off. | |
VS Code / Copilot | Use a password |
The generic mcp-client-config.json is a minimal
mcpServers example for clients using that conventional JSON shape.
Never add a PLAXIS password to version control, command-line arguments, logs, or a profile file.
Security model
Profiles are bound to one installation.
credential_targetis derived frominstallation_root, andworker_pythonmust be an interpreter that discovery links to that same root. Editing any of the three by hand makes the profile fail to load. This is what stops a profile from handing a stored PLAXIS password to an arbitrary executable.Environment overrides are rejected, not merged:
serverefuses to start when aPLAXIS_*endpoint variable is set.Uncertified pairings fail closed. The Python match is exact — a 3.7-series interpreter at any other patch level is a different, uncertified ABI, so it is rejected rather than assumed compatible.
Ask before mutation. All clients should prompt before
call_methodand project/file mutators. Do not set an Always Allow-style rule forcall_method,open_projectorsave_project: client approval is generally tool-wide, not argument-scoped.Mutation is not undoable. Absolute local and UNC
.p2dxpaths reachable by PLAXIS are allowed only after user approval. Client approvals and client-side checkpointing cannot restore in-memory PLAXIS state — use disposable projects and backups for all mutation testing.
Architecture
PLAXIS-MCP separates the MCP host from PLAXIS's vendor-managed Python runtime:
MCP client ──stdio──▶ host (CPython 3.13, mcp 1.26.0)
│
├─ private local pipe
▼
role-pinned worker (PLAXIS bundled Python)
│
▼
PLAXIS Remote Scripting @ 127.0.0.1Client traffic is always MCP over stdio; normal logs and diagnostics go to stderr.
PLAXIS-MCP never installs packages into, upgrades, or redistributes the PLAXIS Python bundle.
The split is required because the MCP host needs a current Python runtime while PLAXIS ships version-specific scripting environments.
PLAXIS generation | Bundled Python | Runtime profile | Release status |
PLAXIS 2024.2 and newer | 3.12.3 |
| Enable after live certification |
PLAXIS CONNECT Edition V22 → early 2024 | 3.8.10 |
| Initial production target |
PLAXIS CONNECT Edition V20 / V21 | 3.7.4 |
| Enable after live and security certification |
V20 and V21 share the legacy profile: their end-of-life Python is isolated inside the loopback worker and requires organizational security acceptance.
Requirements
Windows, with a supported local PLAXIS 2D installation and Remote Scripting enabled.
CPython 3.13 for the MCP host. Supported host range:
>=3.13,<3.14.One PLAXIS Input and/or Output server listening only on loopback — defaults Input
127.0.0.1:10000, Output127.0.0.1:10001.A selected, certified PLAXIS bundled-Python profile. Do not install
plxscriptinginto the MCP host environment.
C:\ProgramData\Seequent\PLAXIS Python Distribution V2\python\Lib\site-packages
C:\ProgramData\Bentley\Geotechnical\PLAXIS Python Distribution V2\python\Lib\site-packagesDocker, WSL, remote MCP transports, and PLAXIS bundles copied into a Python environment are not supported deployment paths for v0.3. The former Docker artifacts were removed intentionally.
Development & verification
# unit suite, from the CPython 3.13 host environment
py -3.13 -m unittest discover -s tests
# inspect the split host/worker configuration without starting PLAXIS
py -3.13 scripts/smoke_test.pyBefore a release: verify the host wheel/installer in a clean environment, confirm pip check,
scan the artifact for vendor files, validate the MCP contract at protocol 2025-03-26, and
complete live certification with a disposable calculated project for every enabled PLAXIS
profile.
References
MCP Python SDK · Codex · Claude Code · Cursor · VS Code
MIT licensed. PLAXIS is a trademark of Seequent and related companies.
This independent integration is not affiliated with, endorsed by, or sponsored by Seequent or Bentley Systems.
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 Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol server that provides secure command-line access to Windows systems, allowing MCP clients like Claude Desktop to safely execute commands in PowerShell, CMD, and Git Bash shells with configurable security controls.Last updated9882268MIT
- Alicense-qualityCmaintenanceA powerful executable server for running Model Context Protocol services that supports tool chain execution, multiple MCP services management, and a pluggable tool system for complex automation workflows.Last updated17156MIT
- Flicense-qualityDmaintenanceMCP server for orchestrating Windows system auditing tools, supporting system checks, configuration adjustments, and security operations via a standardized interface.Last updated
- FlicenseBqualityCmaintenanceMCP server for uControl, enabling read and write operations on schema, assets, and uMap via segregated tools with authentication.Last updated24
Related MCP Connectors
Autopilot MCP server for GEO analyses, reports, content, audits, memories and agents.
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
Remote MCP server for XDaLa workflow preparation on XGR.Network.
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/yixuanzhong/PLAXIS-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server