pfc-mcp
MCP server that gives AI agents full access to
Built on the Model Context Protocol, pfc-mcp turns any MCP-compatible AI client (Claude Code, Codex CLI, Gemini CLI, OpenCode, toyoura-nagisa, etc.) into a PFC co-pilot that can look up commands, execute scripts, monitor long-running simulations, and capture visualizations.

Tools (10)
Documentation (5) - no bridge required
Browse PFC command tree, Python SDK reference, and reference docs (contact models, range elements)
Search commands and Python APIs by keyword (BM25 ranked)
Execution (5) - requires bridge in a running PFC process
Submit Python scripts and poll status/output in real time
List and manage tasks across sessions
Interrupt running simulations
Capture PFC plot images with configurable camera, coloring, and cut planes
Quick Start
Prerequisites
ITASCA PFC 7.0 installed (
pfc2d700_gui.exeorpfc3d700_gui.exe)uv installed (for
uvx)
Agentic Setup (Recommended)
Copy this to your AI agent and let it self-configure:
Fetch and follow this bootstrap guide end-to-end:
https://raw.githubusercontent.com/yusong652/pfc-mcp/main/docs/agentic/pfc-mcp-bootstrap.mdManual Setup
1. Register the MCP server in your client config:
{
"mcpServers": {
"pfc-mcp": {
"command": "uvx",
"args": ["pfc-mcp"]
}
}
}2. Install dependency:
import pip
pip.main(["install", "--user", "-U", "pfc-mcp-bridge"])Start Bridge & Verify
import pfc_mcp_bridge
pfc_mcp_bridge.start()
Verify - reconnect your MCP client and ask the agent to call pfc_list_tasks to verify the full MCP + bridge connection.
Design Highlights
Documentation as a boundary map - browse and search tools let agents discover what PFC can do, reducing hallucinated commands
Task queue with live status - scripts are queued and executed sequentially; agents can poll output and status in real time
Callback-based control - gracefully interrupt long-running
cycle()calls, and capture plots mid-simulation without pausing it
Runtime Model
Component | PyPI | Python | Role |
pfc-mcp | >= 3.10 | MCP server (documentation + execution client) | |
pfc-mcp-bridge | >= 3.6 | WebSocket bridge inside PFC process (GUI or console) |
Documentation tools work standalone. Execution tools require a running bridge.
Troubleshooting
Symptom | Fix |
| Install uv or switch client MCP config to |
Bridge won't start | In PFC Python/IPython console, install/upgrade |
Tasks not processing / cannot connect | If execution tools return |
| Plot capture requires PFC GUI; console mode does not support it |
Bridge on custom port | Set MCP server env |
Connection failed | Check bridge is running, target port is available, see |
Development
uv sync --group dev # Install with dev dependencies
uv run pytest # Run tests
uv run pfc-mcp # Run server locallyLicense
MIT - see LICENSE.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.