pfc-mcp

pfc-mcp

MCP server that gives AI agents full access to ITASCA PFC - browse documentation, run simulations, capture plots, all through natural conversation. 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.

Category
Visit Server

README

pfc-mcp

English | 简体中文

PyPI License: MIT Python 3.10+

MCP server that gives AI agents full access to ITASCA PFC - browse documentation, run simulations, capture plots, all through natural conversation.

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.

pfc-mcp demo

<a href="https://glama.ai/mcp/servers/yusong652/pfc-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/yusong652/pfc-mcp/badge" alt="pfc-mcp MCP server" /> </a>

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.exe or pfc3d700_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.md

Manual 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()

PFC GUI Python console

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 PyPI >= 3.10 MCP server (documentation + execution client)
pfc-mcp-bridge PyPI >= 3.6 WebSocket bridge inside PFC process (GUI or console)

Documentation tools work standalone. Execution tools require a running bridge.

Troubleshooting

Symptom Fix
uvx not found Install uv or switch client MCP config to command: "uv" with args: ["tool", "run", "pfc-mcp"]
Bridge won't start In PFC Python/IPython console, install/upgrade pfc-mcp-bridge with import pip; pip.main(["install", "--user", "-U", "pfc-mcp-bridge"])
Tasks not processing / cannot connect If execution tools return ok=false, error.code=bridge_unavailable, and error.details.reason=cannot connect to bridge service, start bridge in PFC (pfc_mcp_bridge.start()) and ensure PFC_MCP_BRIDGE_URL matches the active bridge URL
pfc_capture_plot unsupported Plot capture requires PFC GUI; console mode does not support it
Bridge on custom port Set MCP server env PFC_MCP_BRIDGE_URL=ws://localhost:<bridge-port> (for example ws://localhost:9002)
Connection failed Check bridge is running, target port is available, see .pfc-bridge/bridge.log

Development

uv sync --group dev    # Install with dev dependencies
uv run pytest          # Run tests
uv run pfc-mcp         # Run server locally

License

MIT - see LICENSE.

<!-- mcp-name: io.github.yusong652/pfc -->

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured