yusong652/pfc-mcp

yusong652/pfc-mcp

от yusong652
Управляет численными симуляциями в ITASCA (PFC, FLAC, 3DEC, MPoint, MassFlow): ищет документацию, запускает код в REPL, отслеживает и прерывает долгие задачи.

itasca-mcp

itasca-mcp

English | 简体中文

CI PyPI Downloads GitHub stars License: MIT Python 3.10+

itasca>model new ;now, with LLM.

itasca-mcp connects AI agents to ITASCA's geomechanics simulation software — PFC, FLAC, 3DEC, MPoint, and MassFlow — through the Model Context Protocol. Browse documentation, run simulations, and execute code, all through natural conversation.

itasca>model solve ;LLM solves.

itasca-mcp demo

Tools (10)

5 documentation tools — browse and search the selected engine's commands, Python API, and reference docs. No bridge required.

5 execution tools — interactive REPL, task submission, progress monitoring, interruption, and history. Requires bridge.

Example Prompts

  • "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"
  • "The simulation is still running, check the current unbalanced force without stopping it"
  • "Look up the plot commands in the docs, then plot the contact force chains of the current model"
  • "The command I just typed in the console doesn't seem right, take a look"

Часто задаваемые вопросы

Инструменты были проиндексированы:
itasca_browse_commands

Просматривает документацию команд Itasca по пути (как glob + cat). Уровни навигации: - Без команды: обзор всех категорий команд - Только категория (например, "ball"): список команд в категории - Полная команда (например, "ball create"): полная документация Когда использовать: - Вы знаете категорию команды или точную команду - Вы хотите изучить доступные команды Связанные инструменты: - itasca_query_command: поиск команд по ключевым словам (когда путь неизвестен) - itasca_browse_reference: просмотр справочной документации (например, "contact-models linear")

Параметры
  • commandstring | null

    Команда Itasca для просмотра (разделенные пробелами, соответствующие синтаксису команд Itasca). Примеры: - Ничего или пустая строка: перечисляет все категории команд - 'ball': перечисляет все команды ball - 'ball create': получает документацию по ball create - 'contact': перечисляет все команды contact - 'contact property': получает документацию по команде contact property

  • softwareenumобязательный

    Движок ITASCA для запроса: 'pfc', 'flac', '3dec', 'mpoint' или 'massflow'. Обязателен, движка по умолчанию нет.

  • versionenum

    Версия документации для просмотра. По умолчанию используется 7.0 для движков с несколькими версиями (PFC: 6.0/7.0/9.0, FLAC: 7.0/9.0, 3DEC: 7.0/9.0); движки только с версией 9.0 (MPoint, MassFlow) всегда разрешаются в 9.0.

itasca_browse_python_api

Просматривает документацию Itasca Python SDK по пути (аналог glob + cat).

Параметры
  • apistring | null

    Путь API Python для просмотра (через точку, начиная с itasca). Примеры: - None или '': Корневой обзор - все модули и объекты - 'itasca': Функции основного модуля (command, cycle, gravity и т.д.) - 'itasca.ball': Функции модуля Ball (create, find, list и т.д.) - 'itasca.ball.create': Документация конкретной функции - 'itasca.ball.Ball': Группы методов объекта Ball - 'itasca.ball.Ball.pos': Документация конкретного метода - 'itasca.wall.facet': Вложенный подмодуль - 'itasca.wall.facet.Facet': Объект Facet в модуле wall.facet

  • softwareenumобязательный

    Движок ITASCA для запроса: 'pfc', 'flac', '3dec', 'mpoint' или 'massflow'. Обязателен, движка по умолчанию нет.

itasca_browse_reference

Просматривает справочную документацию ITASCA (элементы синтаксиса, свойства модели). Работает со всеми движками через обязательный селектор software (pfc/flac/3dec). Справочные элементы — это языковые конструкции, используемые внутри команд, а не отдельные команды. Уровни навигации: - Без темы: все категории справочных элементов для движка - Категория (например, "constitutive-models"): список элементов в категории - Полный путь (например, "constitutive-models mohr-coulomb"): полная документация - Путь подэлемента (например, "plot-items zone contour"): подробности подэлемента Когда использовать: - Нужны названия свойств модели материала/контакта/шва (kn, ks, fric, cohesion, friction, ...) - Нужен синтаксис фильтрации диапазона (position, cylinder, group, id) - Нужна настройка элементов графика (contour, label, color-by, cut, transparency, legend) - Настройка команд назначения модели (например, "... cmodel assign ... property ...") - Использование фильтров диапазона в любой команде - Настройка команд "plot item create" Связанные инструменты: - itasca_browse_commands: синтаксис команд (например, "zone create") - itasca_query_command: поиск команд по ключевым словам

Параметры
  • softwareenumобязательный

    Движок ITASCA для запроса: 'pfc', 'flac', '3dec', 'mpoint' или 'massflow'. Обязателен, движка по умолчанию нет.

  • topicstring | null

    Тема справки для просмотра (путь через пробел). Категории различаются в зависимости от движка, сначала вызовите без темы, чтобы их обнаружить. Примеры (по движкам): - Ничего или '': перечислите все категории справки для выбранного движка - PFC 'contact-models' / 'contact-models linear': модель контакта + его свойства - FLAC 'constitutive-models' / 'constitutive-models mohr-coulomb': модель зоны + свойства - 3DEC 'joint-models' / 'joint-models mohr': модель стыка (подконтакта) + свойства - 'range-elements' / 'range-elements cylinder': синтаксис фильтра диапазона (все движки) - 'plot-items' / 'plot-items <type>' / 'plot-items <type> <sub>': ключевые слова элемента графика

  • versionenum

    Версия документации (PFC: 6.0/7.0/9.0, FLAC: 7.0/9.0). Ограничивает только элементы, зависящие от версии (например, контактные модели PFC по доступности). Элементы диапазона, элементы графиков и эталонные наборы FLAC/3DEC не зависят от версии, поэтому значение для них игнорируется. Движки только для 9.0 (MPoint, MassFlow) всегда разрешаются в 9.0.

itasca_check_task_status

Проверяет состояние и постраничный вывод для отправленной задачи Itasca. Вывод объединяет вывод Python и вывод консоли Itasca из вызовов itasca.command() (дампы таблиц, вывод списков, сводки команд), перемешанные в порядке выполнения. Используйте skip_newest / limit для постраничного вывода или filter, чтобы оставить только совпадающие строки.

Параметры
  • filterstring | null

    Сохраняет только строки вывода, содержащие этот текст.

  • limitinteger

    Выводить строк на страницу

  • skip_newestinteger

    Пропустить N самых новых строк вывода перед пагинацией

  • task_idstringобязательный

    ID задачи, возвращаемый itasca_execute_task

  • wait_secondsnumber

    Время ожидания перед запросом статуса

itasca_execute_code

Выполняет код Python синхронно в работающем процессе движка Itasca. Сразу возвращает stdout и необязательную переменную результата. Код выполняется в главном потоке движка, разделяя то же пространство имён main, что и любая запущенная задача: побочные эффекты сохраняются и сразу видны задаче на её следующем цикле. Инструмент остаётся отзывчивым, пока задача, отправленная через itasca_execute_task, выполняется по циклам (вызовы чередуются в промежутках между циклами), поэтому используйте его как живой REPL: ничего не нужно заранее прописывать в задаче. Типичные применения: - Запрос состояния модели и чтение вывода команд Itasca: itasca.command('ball list') и т.п. Выгрузки таблиц, вывод списков и сводки команд перехватываются и чередуются с выводами Python в порядке выполнения - Живой просмотр и настройка во время запущенной задачи: проверка сил или статистики контактов, изменение параметров, замена колбэков, установка сторожевых переменных, которые задача читает каждый цикл - Создание и экспорт графиков: itasca.command('plot ...') Окружение: встроенный интерпретатор Python движка (Itasca 9+ → Python 3.10, до 9 → Python 3.6 или старше; продукт и версия закодированы в sys.executable, например PFC900). Если не уверены, проверьте sys.version_info, прежде чем полагаться на новый синтаксис. Правила написания кода (общие с itasca_execute_task): - Многострочные пакеты itasca.command("""...""") нормализуются до одного вызова движка на команду, что сохраняет доступность моста в середине пакета. Нормализация распознаёт itasca.command по имени импорта; вызывайте её напрямую через это имя: перепривязка через промежуточные переменные (_it = itasca) обходит её, и вывод сопровождается предупреждением о мосте. - Передавайте каждый блок определения FISH (fish define / fish operator / устаревший голый define, до завершающего отдельного end) целиком, одной строкой itasca.command(); подача построчно оставляет движок заблокированным в интерактивном режиме FISH, пока его не завершат вручную в консоли GUI. Построчные циклы допустимы для обычных команд. - program call '<file>' (.p3dat /…

Параметры
  • codestringобязательный

    Код Python для выполнения в пользовательской консоли движка Itasca.

  • timeoutinteger

    Тайм-аут выполнения консоли в секундах

itasca_execute_task

Отправляет файл Python-скрипта для асинхронного выполнения в движке Itasca. Сразу возвращает task_id; скрипт выполняется в фоне. Вспомогательные инструменты управляют жизненным циклом: - itasca_check_task_status: опрашивает вывод, прогресс и итоговый статус - itasca_interrupt_task: отменяет выполняющуюся задачу - itasca_list_tasks: просматривает историю задач Для синхронного инлайн-выполнения используйте вместо этого itasca_execute_code. Пока задача выполняется, itasca_execute_code использует общее пространство имён main в главном потоке движка, так что вы можете просматривать и изменять состояние симуляции в реальном времени: отслеживать прогресс, подстраивать параметры на ходу, заменять колбэки или вызывать досрочное завершение через сторожевую переменную. Запускайте с разумными начальными значениями и уточняйте их по ходу выполнения задачи. Вывод консоли из itasca.command() внутри скрипта (дампы таблиц, вывод списков, сводки команд) попадает в журнал задачи вместе с выводами Python print и виден через itasca_check_task_status. Правила написания скриптов: - Многострочные пакеты itasca.command("""...""") нормализуются до одного вызова движка на команду, так что задачу можно прервать в середине пакета. Нормализация распознаёт itasca.command по его импортированному имени; вызывайте его напрямую под этим именем. Перепривязка через промежуточные переменные (_it = itasca) обходит её и записывает предупреждение моста. - Передавайте каждый блок определения FISH (fish define / fish operator / устаревший голый define, до завершающего отдельного end) целиком, в ОДНОЙ строке itasca.command(). Если передавать его построчно, движок останется заблокированным в интерактивном режиме FISH, пока вы вручную не завершите его в консоли GUI. Для обычных команд допустимы построчные циклы. - program call '<file>' (.p3dat / .p2dat / .dat / ...) поддерживается: мост выполняет файл инлайн, по одной команде на вызов движка, поэтому мост остаётся доступным, задачу можно прервать, а вывод файла попадает в журнал задачи команда за командой.

Параметры
  • descriptionstringобязательный

    Краткая цель задачи

  • entry_scriptstringобязательный

    Абсолютный путь к входному Python-скрипту в рабочем пространстве движка Itasca

itasca_interrupt_task

Запрашивает вежливое прерывание выполняемой задачи Itasca.

Параметры
  • task_idstringобязательный

    ID задачи, возвращаемый itasca_execute_task

itasca_list_tasks

Перечисляет отслеживаемые задачи Itasca с пагинацией.

Параметры
  • limitinteger

    Максимум задач для возврата.

  • skip_newestinteger

    Пропусти N последних задач перед выводом списка.

itasca_query_command

Ищет документацию по командам Itasca по ключевым словам (как grep). Возвращает пути команд, подходящих под запрос. Для получения полной документации используйте itasca_browse_commands. Когда использовать: - У вас есть ключевые слова, но вы не знаете точный путь команды - Пример: "ball create", "contact property", "model solve" Связанные инструменты: - itasca_browse_commands: Получает полную документацию для известного пути команды - itasca_browse_reference: Ищет справочную документацию (например, "contact-models linear") - itasca_query_python_api: Ищет Python SDK по ключевым словам

Параметры
  • limitinteger

    Максимальное количество результатов

  • querystringобязательный

    Поиск ключевых слов для команд Itasca. Примеры: 'ball create', 'contact property', 'model solve'. Без учета регистра.

  • softwareenumобязательный

    Движок ITASCA для запроса: 'pfc', 'flac', '3dec', 'mpoint' или 'massflow'. Обязателен, движка по умолчанию нет.

  • versionenum

    Версия документации для поиска. По умолчанию используется 7.0 для движков с несколькими версиями (PFC: 6.0/7.0/9.0, FLAC: 7.0/9.0, 3DEC: 7.0/9.0); движки, поддерживающие только 9.0 (MPoint, MassFlow), всегда разрешаются в 9.0.

itasca_query_python_api

Ищет в документации Itasca Python SDK по ключевым словам (как grep). Возвращает подходящие пути API с сигнатурами. Для полной документации используйте itasca_browse_python_api. Когда использовать: - У вас есть ключевые слова, но вы не знаете точный путь API - Пример: "ball velocity", "create", "contact force" Связанные инструменты: - itasca_browse_python_api: Получает полную документацию для известного пути API - itasca_query_command: Ищет команды Itasca по ключевым словам

Параметры
  • limitinteger

    Максимальное количество результатов

  • querystringобязательный

    Ключевые слова для поиска по Itasca Python SDK API. Примеры: 'ball pos', 'contact force', 'model solve'. Без учёта регистра.

  • softwareenumобязательный

    Движок ITASCA для запроса: 'pfc', 'flac', '3dec', 'mpoint' или 'massflow'. Обязателен, движка по умолчанию нет.

0.10.4основная
0.10.3
0.10.2
0.10.1
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0

Выберите клиент, чтобы установить yusong652/pfc-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "yusong652-pfc-mcp-q24bhmldxm": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "yusong652-pfc-mcp-q24bhmldxm": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "yusong652-pfc-mcp-q24bhmldxm": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"yusong652-pfc-mcp-q24bhmldxm\",\"type\":\"stdio\",\"command\":\"uvx\",\"args\":[\"itasca-mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "yusong652-pfc-mcp-q24bhmldxm": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add yusong652-pfc-mcp-q24bhmldxm -- uvx itasca-mcp

Либо через JSON-конфиг:

claude mcp add-json yusong652-pfc-mcp-q24bhmldxm "{\"command\":\"uvx\",\"args\":[\"itasca-mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add yusong652-pfc-mcp-q24bhmldxm -- uvx itasca-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.yusong652-pfc-mcp-q24bhmldxm]
command = "uvx"
args = ["itasca-mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите yusong652/pfc-mcp, а в поле команды запуска — строку ниже:
uvx itasca-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "yusong652-pfc-mcp-q24bhmldxm": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "yusong652-pfc-mcp-q24bhmldxm": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например yusong652-pfc-mcp-q24bhmldxm.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: yusong652-pfc-mcp-q24bhmldxm
    command: uvx
    args:
      - "itasca-mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "yusong652-pfc-mcp-q24bhmldxm": {
      "command": "uvx",
      "args": [
        "itasca-mcp"
      ]
    }
  }
}

Похожие MCP-сервера

recursechat/mcp-server-apple-shortcuts

recursechat/mcp-server-apple-shortcuts

от recursechat

MCP сервер для управления Apple Shortcuts на macOS. Позволяет AI-ассистентам (Claude) запускать и автоматизировать быстрые команды и сценарии. Помогает автоматизировать рутинные задачи на Mac без лишних действий.

JavaScript⭐ 351
QGIS MCP

QGIS MCP

от jjsantos01

Создаёт, открывает и сохраняет проекты QGIS, добавляет векторные и растровые слои, запускает алгоритмы обработки данных.

Python⭐ 1131
ahujasid/blender-mcp

ahujasid/blender-mcp

от ahujasid

Управляет Blender напрямую: создаёт и редактирует 3D-модели, настраивает материалы, ищет и скачивает модели из Sketchfab и Poly Haven.

Python⭐ 31725
remoet-labs/remoet-mcp

remoet-labs/remoet-mcp

от remoet-labs

MCP-сервер подключает AI-агента к Remoet - платформе поиска работы по реальному стеку технологий компаний. Агент ищет компании по нужным технологиям, сохраняет их в шортлист и подтягивает вакансии....

TypeScript⭐ 2
PostcardBot/mcp-server

PostcardBot/mcp-server

от postcardbot

MCP-сервер Postcard.bot для отправки физических открыток по всему миру напрямую из кода. Полезен разработчикам AI-агентов и интеграций — позволяет отправлять реальные открытки через Claude, Cursor ...

TypeScript⭐ 5
vitrine3d/mcp

vitrine3d/mcp

от vitrine3d

MCP сервер vitrine3d — работа с 3D моделями через AI агента. Загружайте GLB, настраивайте освещение, фон и эффекты, публикуйте embed-код. Анонимная загрузка сразу, вход в аккаунт для постоянного хранения.

TypeScript⭐ 1
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин