Pfc MCP logo

Pfc MCP

by yusong652

Connects AI agents to ITASCA simulation engines for documentation lookup, code execution, plotting, and task control.

Install Pfc MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "yusong652-pfc-mcp": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

yusong652/pfc-mcp connects MCP clients to ITASCA geomechanics engines through a WebSocket bridge, covering PFC, FLAC, 3DEC, MPoint, and MassFlow. It exposes command, reference, and Python API documentation tools alongside synchronous code execution and asynchronous task management. Reach for it when an agent needs to build or inspect simulations, run scripts, capture model output, or work with a live engine session. Documentation lookup works without the bridge; execution tools require the bridge running inside the ITASCA GUI.

Use cases

  • Browse ITASCA command and reference documentation
  • Search Python API paths before writing simulation code
  • Run a synchronous model inspection or plotting script
  • Submit and monitor a long-running simulation
  • Inspect or tune a live simulation while it runs

Key features

  • Multi-engine ITASCA documentation lookup
  • Command and Python API keyword search
  • Synchronous code execution in the engine
  • Asynchronous task monitoring and interruption
  • Live namespace access during background tasks
  • Plot creation and captured console output

Tools10

What Pfc MCP lets your agent do. Expand a tool for its parameters.

Verified live~3.5k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/8 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8d ago via OSV.dev · itasca-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars223Stargazers on the source repository.
Last commit3d agoMost recent push to the default branch.
Tools exposed10Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Pfc MCP works

What yusong652/pfc-mcp does

yusong652/pfc-mcp gives MCP-compatible AI agents access to ITASCA simulation workflows. It supports PFC, FLAC, 3DEC, MPoint, and MassFlow, with documentation selected by engine and, where applicable, version. Agents can inspect command syntax, search for commands and Python API paths, browse reference topics, execute Python code, submit scripts, monitor background work, interrupt tasks, and review task history.

The documentation tools are useful for discovering exact command paths and engine-specific details before changing a model. Reference material covers items such as constitutive-model properties, range filters, plot configuration, and other language elements used inside commands.

How it works

The MCP process communicates with the ITASCA application through a bridge started from the engine's embedded Python environment. Documentation browsing and search do not require that bridge. Execution tools use the running engine process and can interact with its main Python namespace.

itasca_execute_code runs code synchronously and returns output after completion or timeout. It shares state with a background task, so an agent can inspect or modify a simulation while that task is cycling. itasca_execute_task submits a Python script and returns a task identifier immediately. Status polling exposes progress and output, while interruption requests a graceful stop.

Output from Python and itasca.command() is collected in execution order. Multi-command batches are normalized so the bridge remains reachable between commands. FISH definitions must be sent as complete blocks, and program call files are processed command by command.

Setup and configuration

Install an ITASCA engine and uv, then register the server with an MCP client using uvx itasca-mcp. The repository documents command-line registration for Claude Code, Codex CLI, and Gemini CLI, as well as an equivalent JSON MCP configuration.

Download addon.py and run it from the ITASCA GUI's IPython console, either by pasting its contents or executing the file. On later engine sessions, start the bridge with:

server.ts
import itasca_mcp_bridge
itasca_mcp_bridge.start()

The engine's embedded Python version depends on the installed ITASCA release. ITASCA 9 and later use Python 3.10; older releases may use Python 3.6 or earlier, so scripts should match the engine interpreter.

Tools and capabilities

  • Browse command documentation by category or full command path.
  • Search command and Python API documentation by keyword.
  • Browse engine reference topics, including model properties, range syntax, and plot items.
  • Run synchronous Python code with a configurable timeout.
  • Submit scripts as background tasks and inspect paginated output.
  • Interrupt running tasks and list tracked task history.
  • Query or modify live simulation state while an asynchronous task runs.
  • Create and export plots through ITASCA commands.

Limitations and notes

Synchronous execution blocks until completion or timeout and is not tracked as a task, so it cannot be interrupted through the task tools. Background execution is the appropriate choice for cancellable or pollable work. The bridge must be active for execution features, and the selected software value determines which engine's documentation and runtime are used. Commands entered in FISH definition blocks should not be sent one line at a time because that can leave the engine in interactive FISH mode.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Pfc MCP

yusong652/pfc-mcp is an MCP server that connects AI agents to ITASCA simulation engines including PFC, FLAC, and 3DEC. Its main tools browse command, reference, and Python API documentation; execute Python code; submit and monitor asynchronous tasks; interrupt runs; inspect task history; and work with live simulation state.

Install `uv`, register `uvx itasca-mcp` in your MCP client, and start the bridge inside the ITASCA engine. The documented registration commands cover Claude Code, Codex CLI, and Gemini CLI. After installing the server, run `addon.py` in the engine's IPython console and restart the client.

Yes, it is designed for MCP-capable clients and uses a standard stdio configuration with `uvx itasca-mcp`. The repository explicitly names Claude Code, Codex CLI, and Gemini CLI, while Cursor can use the same MCP server configuration when set up to launch stdio servers.

Use `itasca_execute_task` to submit a Python script and receive a task ID immediately. Poll with `itasca_check_task_status`, use `itasca_list_tasks` for history, and request graceful cancellation with `itasca_interrupt_task`. Use `itasca_execute_code` instead when the operation should finish synchronously.

Yes. `itasca_execute_code` runs in the engine's main thread and shares the `__main__` namespace with an active asynchronous task. It can query model state, read command output, adjust parameters, change callbacks, set sentinel variables, and create plots while the task continues cycling.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewPfc MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/yusong652-pfc-mcp?style=directory)](https://allmcps.com/mcp/yusong652-pfc-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/yusong652-pfc-mcp"><img src="https://allmcps.com/api/badge/yusong652-pfc-mcp?style=directory" alt="Pfc MCP on AllMCPs" /></a>