← Back to directory
I

ITASCA MCP Server

Community
Drive ITASCA geotechnical and geomechanics simulations through natural conversation
Category
Other #106 of 230
Stars
★ 225 Very popular
Transport
stdio (local process)
Runtime
Python 3.10+ · Prebuilt binary
Credentials
No credential needed
License
MIT
Last commit
Tools
1
55FMRS · C

itasca-mcp (ITASCA MCP Server) is an MIT-licensed community project that connects AI agents to ITASCA's PFC, FLAC, 3DEC, MPoint, and MassFlow through the Model Context Protocol. It provides 10 tools: 5 documentation tools that need no bridge (command, Python API, and reference doc browsing across multiple engines and versions) and 5 execution tools that require the bridge (interactive REPL, task submission, progress monitoring, interruption, and history). It suits geotechnical users who already have an ITASCA engine installed and want to look up docs and run and monitor simulations conversationally; it is not for users without an ITASCA engine or those expecting official support. The main risks are that execution tools really run simulation code, that the bridge auto-checks PyPI and self-upgrades, and that the model can still generate non-existent commands.

Strongest · Documentation 13/20 Weakest · Security and permissions 9/20

Reliability
10/20
Security and permissions
9/20
Maintenance
12/20
Documentation
13/20
Setup experience
11/20
Why each score
Reliability 10/20
Static evidence: the manifest declares 10 tools (5 documentation + 5 execution), a PyPI package itasca-mcp 0.8.2 over stdio, and the README states Python 3.10+ plus a CI badge. However, only server.json and README are supplied; there are no committed CI workflow or test source files to verify that MCP init and the tool-list handshake actually run, or that the declared tools match real behavior. Execution tools depend on the user manually starting a bridge inside a locally installed ITASCA engine (addon.py / itasca_mcp_bridge.start()), and nothing evidences error handling, timeouts, or engine-version mismatch behavior (PFC 6.0/7.0/9.0, etc.). Under the static calibration cap (no verifiable real CI plus committed tests covering key paths), reliability is capped at 12; scored 10 — the happy path is plausible but tests and edge-case coverage are thin.
Security and permissions 9/20
No red lines observed: no malware, no credential theft, no covert exfiltration, no default irreversible delete/pay/deploy, and no real tokens or secrets in the install examples. Execution tools (itasca_execute_code, task submit/interrupt) inherently let an agent run arbitrary code inside the user's local ITASCA engine and write project files — a high-side-effect capability — yet the README discloses no confirmation step, sandbox, scoping, or least-privilege posture. On the network side, the bridge checks PyPI and self-upgrades on start ('self-upgrades before starting'), an unconfirmed automatic-update surface carrying supply-chain and controllability risk; downloading and pasting addon.py into the engine console has no stated integrity verification. Main risks are visible but permissions, confirmation, and data-flow disclosure are incomplete; scored 9, above the 0-4 red-line band.
Maintenance 12/20
MIT license is explicit, versioning is at 0.8.x with a published PyPI release, the README carries a CI badge and a CONTRIBUTING guide, the project is not archived, and 191 stars indicate some adoption. But the supplied material shows no actual commit history, release cadence, issue-response behavior, dependency-update policy, or security-response channel; the self-upgrade mechanism and true maintenance frequency cannot be verified from these files. This matches 'active but with governance/versioning evidence gaps'; scored 12.
Documentation 13/20
Docs are reasonably layered: English and Chinese READMEs, prerequisites, registration commands and JSON config for Claude Code / Codex / Gemini CLI, first-time and daily startup flows, a categorized description of the 10 tools, example prompts, a developer guide, and a CONTRIBUTING link. Deductions: tool parameters (e.g., required `software`, valid `version` values), return shapes, limits/quotas, and failure modes are not documented in the README; troubleshooting is delegated to an external bootstrap guide rather than given inline; and the security implications of the bridge auto-upgrade and addon.py are not disclosed. This is 'usable but with hidden assumptions and troubleshooting gaps'; scored 13.
Setup experience 11/20
The install path is clear: one-line uvx itasca-mcp registration with commands for three mainstream clients plus a generic mcpServers JSON; documentation tools need no bridge, while execution tools require running addon.py or itasca_mcp_bridge.start() inside the engine. However, prerequisites are heavy and hard to automate — a locally installed commercial ITASCA engine (PFC/FLAC/3DEC/MPoint/MassFlow), a hard dependency on uvx, and a manual copy-paste of a script into the engine's IPython console, which is fragile. There is no CI/test evidence that the install is reproducible. Under the static calibration cap (setup capped at 15 without verifiable CI and tests), scored 11.

Static review · not runListed 2026-09-18

Read the FMRS scoring method →

Fit and risk

What it can accessRuns commands or code

Best for

  • Geotechnical and geomechanics engineers who already have an ITASCA engine installed and want to drive simulations through an AI agent by natural conversation
  • Users who frequently need to look up PFC/FLAC/3DEC/MPoint/MassFlow commands and Python API documentation
  • Researchers who submit and monitor long-running simulations while iterating on code
  • Technical teams using MCP clients such as Claude Code, Codex CLI, or Gemini CLI

Not for

  • Users without any ITASCA engine installed — the execution tools depend on a local engine and bridge and cannot run simulations on their own
  • Users expecting official ITASCA support or certification; this is a community project
  • Users looking for browser, database, or cloud-storage capabilities rather than geomechanics simulation
  • Users wanting a fully zero-configuration experience — first-time setup requires registering the MCP server and starting the bridge in the engine

Required permissions

  • Run uvx locally and download/execute the itasca-mcp package from PyPI
  • Execute code in the ITASCA engine's IPython console to start the bridge (addon.py or itasca_mcp_bridge.start())
  • Submit code and simulation tasks to the running ITASCA engine through the bridge and read task state and results
  • Network access to PyPI at bridge startup to check for and possibly self-upgrade to a newer release
  • Read and write MCP client configuration files to register the server

Risks and side effects

  • The execution tools run code and simulations in a real ITASCA engine; wrong commands or parameters can produce incorrect results or consume significant compute time and resources
  • The bridge automatically checks PyPI and self-upgrades, pulling in updates without per-update user confirmation, which introduces supply-chain risk
  • Documentation browsing reduces but cannot fully eliminate hallucinated commands produced by the model
  • Long-running simulations, if not properly monitored or interrupted, can tie up machine resources for a long time
  • This is a community project rather than an official ITASCA release, so compatibility and maintenance cadence are not guaranteed by the upstream vendor

Setup

Before you start

Runtime:Python 3.10+ · Prebuilt binary

  1. Prepare: install an ITASCA engine (PFC, FLAC, 3DEC, MPoint, or MassFlow; 9.0+ recommended, with PFC 6.0/7.0, FLAC 7.0, and 3DEC 7.0 also supported), install uv (for uvx), and have an MCP-capable AI agent (e.g. Claude Code, Codex CLI, Gemini CLI).
  2. Register the MCP server: use a single command such as claude mcp add itasca-mcp -- uvx itasca-mcp, or fill in the MCP config file manually with {"mcpServers":{"itasca-mcp":{"command":"uvx","args":["itasca-mcp"]}}}.
  3. Start the bridge: download addon.py, then either paste its contents into the engine GUI's IPython console and run them, or execute the file inside the engine GUI (PFC, FLAC, 3DEC, ...).
  4. Verify: restart your AI agent and ask it to call itasca_execute_code to confirm the connection.
  5. Daily startup: in each new engine session, run import itasca_mcp_bridge and itasca_mcp_bridge.start() in the engine's IPython console to get back online (start() checks PyPI for a newer bridge release and self-upgrades before starting).
.mcp.json
{"mcpServers":{"itasca-mcp":{"command":"uvx","args":["itasca-mcp"]}}}

Shown for Claude Code. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "itasca-mcp": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add itasca-mcp -- uvx itasca-mcp

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

Restart your AI agent and ask it to call itasca_execute_code to confirm the connection to the ITASCA engine bridge is working.

Troubleshooting

  1. If execution tools fail, first confirm the bridge is running inside the ITASCA engine (addon.py or itasca_mcp_bridge.start()); a new engine session requires restarting the bridge
  2. If the connection misbehaves, confirm uv is installed, restart the AI agent, and have it call itasca_execute_code again to verify
  3. If documentation results look wrong, check that the correct software parameter was passed and whether version is needed to select the engine version
  4. If startup fails or the version is stale, re-import and call start() in the engine's IPython console so the bridge can check for and upgrade to a newer release
  5. More checks are listed in the Troubleshooting section of the bootstrap guide: docs/agentic/itasca-mcp-bootstrap.md#troubleshooting

Things to try

Once connected, you can ask your AI assistant things like:

  • Run a biaxial compression test on a dense specimen and plot the stress–strain curve
  • Build a slope model in FLAC3D and find the factor of safety
  • Model a tunnel excavation in jointed rock with 3DEC and check block displacements around the opening
  • The simulation is still running — check the current unbalanced force without stopping it

Tools 1

itasca_execute_code writes
Executes code in the ITASCA engine; referenced in the README as the way to verify that the bridge connection is established.

Use cases

Run a biaxial compression test on a dense specimen and plot the stress–strain curve
Build a slope model in FLAC3D and find the factor of safety
Model a tunnel excavation in jointed rock with 3DEC and check block displacements around the opening
Simulate a landslide runout with MPoint and report the final deposit profile
Check the current unbalanced force while a simulation is still running, without stopping it
Compare how zone commands differ between FLAC 7.0 and 9.0
Use the REPL for quick iteration before writing a full script

Supported clients

Claude Code
Codex
Gemini CLI
GitHub Copilot CLIPartial support
OpenCodePartial support

Listed from the project's documentation, not tested by this site.

Overview

itasca-mcp is a Model Context Protocol server that connects AI agents to ITASCA's geomechanics simulation software — PFC, FLAC, 3DEC, MPoint, and MassFlow. Agents can browse and search the selected engine's command, Python API, and reference documentation, submit long-running simulations, monitor progress, interrupt tasks, and browse task history, and execute code in a live REPL while a simulation runs without stopping it. The documentation tools need no bridge; the execution tools require a bridge started inside the ITASCA engine (via addon.py or itasca_mcp_bridge.start()). The engine is chosen through the required software parameter, and command documentation spans versions through the version parameter (PFC 6.0/7.0/9.0, FLAC 7.0/9.0, 3DEC 7.0/9.0). Distributed as the PyPI package itasca-mcp, run with uvx over stdio, MIT licensed — a community project, not an official ITASCA product.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 670 · Tools 11 Compare with this →

Source revision c1eeecd3dfe7 Data synced 2026-11-02 Read the FMRS scoring method