
PLAXIS
io.github.yixuanzhong由 GitHub 账号 yixuanzhong 发布v0.3.5更新于 Oct 24, 2026
Windows-local MCP server for PLAXIS 2D Remote Scripting: geometry, staged construction, results.
概览
面向 Windows 本地的 MCP 服务器,让助手通过 PLAXIS 2D 远程脚本控制几何建模、分阶段施工、网格划分、计算与结果读取。
- 可以做什么
- 连接并查看正在运行的 PLAXIS 2D 会话,查询连接状态、项目信息、阶段与材料
- 构建和编辑几何:点、线、多边形、钻孔、土层、材料与结构单元
- 管理项目与分阶段施工:新建、打开、保存、关闭或恢复项目,创建与配置阶段,激活或停用对象,设置属性并调用脚本方法
- 生成网格并执行计算,计算前可用模型状态检查标出阻塞问题
- 从 Output 端读取结果:列出结果类型、分页获取结果集或单个数值,并把已计算阶段送入查看器
- 适用场景
- 适合希望让 AI 助手在 Windows 工作站上脚本化 PLAXIS 2D 工作流的地质与岩土工程师,例如建模、运行分阶段施工和提取结果,而无需手写远程脚本代码。
- 运行要求
- Windows 系统,安装受支持的本地 PLAXIS 2D 并启用远程脚本,仅监听回环地址(默认 Input 127.0.0.1:10000,Output 127.0.0.1:10001)。需要 CPython 3.13 宿主环境(>=3.13,<3.14),可通过签名的 Windows 安装包或 PyPI 的 uvx 安装。一次性 setup 会写入角色配置并把各角色密码存入 Windows 凭据管理器;Input 与 Output 需作为两个独立进程分别运行。不支持 Docker、WSL 与远程传输。
安装
在 SourceWeft 中
- 打开 控制台中的 PLAXIS,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
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.
[release] [python] [mcp] [transport] [platform] [tools] [license]
Quickstart · Tools · Clients · Security model · Architecture
mcp-name: io.github.yixuanzhong/plaxis-mcp
▸ v0.3 — set up once, launch from anywhere
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.
Quickstart
1 — Set up the machine, once.
Profiles 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.
--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
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.
Source / developer launch only — not a supported deployment path
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.
For 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.
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.
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:
- Client 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.
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.
Historical PLAXIS scripting paths — worker-only, never on the host PYTHONPATH
Docker, 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
Before 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.
来源:README.md,提交 21cf6ac
工具
0版本历史
1- v0.3.5最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分