pfc-mcp
pfc-mcp is an MCP server that gives AI agents access to ITASCA PFC (Particle Flow Code) for browsing documentation, running simulations, and capturing visualizations through natural conversation.
Documentation Tools (no PFC installation required)
Browse PFC command tree (
pfc_browse_commands): Explore commands by category or get full docs for specific commands (e.g.,ball create)Browse Python SDK reference (
pfc_browse_python_api): Navigate the ITASCA Python API (e.g.,itasca.ball,itasca.ball.Ball.pos)Browse reference documentation (
pfc_browse_reference): Look up contact model properties, range element syntax, and other language elementsSearch PFC commands by keyword (
pfc_query_command): BM25-ranked keyword search across all PFC commandsSearch Python API by keyword (
pfc_query_python_api): BM25-ranked keyword search across the PFC Python SDK
Execution Tools (requires bridge running inside a live PFC process)
Submit scripts for execution (
pfc_execute_task): Asynchronously queue and run Python scripts inside a live PFC sessionMonitor task progress (
pfc_check_task_status): Poll real-time status and output with filtering and paginationList all tasks (
pfc_list_tasks): View tracked tasks across sessionsInterrupt running simulations (
pfc_interrupt_task): Gracefully stop long-runningcycle()calls mid-executionCapture plot images (
pfc_capture_plot): Screenshot PFC visualizations with configurable camera position, ball/wall/contact coloring, cut planes, zoom, and projection type
Works with any MCP-compatible client (Claude Code, Codex CLI, Gemini CLI, etc.). The documentation tools serve as a boundary map to reduce hallucinated commands by letting agents discover PFC capabilities directly.
pfc-mcp
pfc3d>model new ;now, with LLM.
pfc-mcp connects AI agents to ITASCA PFC through the Model Context Protocol — browse documentation, run simulations, and execute code, all through natural conversation.
pfc3d>model solve ;LLM solves.

Tools (10)
5 documentation tools — browse and search PFC commands, Python API, and reference docs. No bridge required.
5 execution tools — interactive REPL, task submission, progress monitoring, interruption, and history. Requires bridge.
Quick Start
Prerequisites
ITASCA PFC 6.0, 7.0, or 9.0 installed
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. Start the bridge from inside PFC:
Download addon.py, then use either of these two flows inside PFC:
Copy the file contents into the PFC IPython console and run them
Or download the file and execute it in PFC GUI
Verify
Restart your AI agent (Claude Code, Codex CLI, Gemini CLI, etc.) and ask it to call pfc_execute_code to verify the connection.
Features
Multi-version PFC support - command docs for PFC 6.0, 7.0, and 9.0 via the
versionparameterHierarchical documentation browsing - agents navigate the PFC command tree to discover capabilities and boundaries, reducing hallucinated commands
Enhanced plot documentation - plot items reference docs supplementing the official documentation
Interactive REPL - rapid iteration before committing to full scripts; agents can quickly test and refine code
Task lifecycle management - submit long-running simulations, monitor progress, interrupt running tasks, and browse task history
Multi-client compatible - works with Claude Code, Codex CLI, Gemini CLI, OpenCode, toyoura-nagisa, and other MCP clients
Troubleshooting
Development
See Developer Guide: Install and Run from Source.
Contributing
PRs and issues are welcome! See the Developer Guide to get started.
License
MIT - see LICENSE.
Latest Blog Posts
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/yusong652/pfc-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server