yusong652/pfc-mcp

yusong652/pfc-mcp

от yusong652
MCP сервер для связи ИИ-агентов с ITASCA PFC — пакетом дискретного элементного моделирования (DEM). Через естественный диалог можно искать документацию, выполнять код и управлять симуляциями. Приго...

itasca-mcp

itasca-mcp

English | 简体中文

PyPI Downloads GitHub stars License: MIT Python 3.10+

itasca>model new ;now, with LLM.

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

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 (software parameter). No bridge required.

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

First-time Setup

Prerequisites

  • An ITASCA engine installed — PFC, FLAC, 3DEC, MPoint, or MassFlow. 9.0+ recommended; Python 3-compatible 6.0 / 7.0 builds also supported.
  • 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/itasca-mcp/main/docs/agentic/itasca-mcp-bootstrap.md
itasca_browse_commands

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

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

Параметры

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

    ITASCA engine to query: 'pfc', 'flac', '3dec', 'mpoint', or 'massflow'. Required — there is no default engine.

    pfcflac3decmpointmassflow
  • commandany

    Itasca command to browse (space-separated, matching Itasca command syntax). Examples: - None or '': List all command categories - 'ball': List all ball commands - 'ball create': Get ball create documentation - 'contact': List all contact commands - 'contact property': Get contact property command documentation

  • versionenum

    Documentation version to browse. Defaults to 7.0 for multi-version engines (PFC: 6.0/7.0/9.0, FLAC: 7.0/9.0); 9.0-only engines (3DEC, MPoint, MassFlow) always resolve at 9.0.

    6.07.09.0
itasca_browse_python_api

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

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

Параметры

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

    ITASCA engine to query: 'pfc', 'flac', '3dec', 'mpoint', or 'massflow'. Required — there is no default engine.

    pfcflac3decmpointmassflow
  • apiany

    Itasca Python API path to browse (dot-separated, starting from itasca). Examples: - None or '': Root overview - all modules and objects - 'itasca': Core module functions (command, cycle, gravity, etc.) - 'itasca.ball': Ball module functions (create, find, list, etc.) - 'itasca.ball.create': Specific function documentation - 'itasca.ball.Ball': Ball object method groups - 'itasca.ball.Ball.pos': Specific method documentation - 'itasca.wall.facet': Nested submodule - 'itasca.wall.facet.Facet': Facet object in wall.facet module

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: поиск команд по ключевым словам

Просматривает справочную документацию 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 engine to query: 'pfc', 'flac', '3dec', 'mpoint', or 'massflow'. Required — there is no default engine.

    pfcflac3decmpointmassflow
  • topicany

    Reference topic to browse (space-separated path). Categories vary by engine — call with no topic first to discover them. Examples (by engine): - None or '': List all reference categories for the chosen engine - PFC 'contact-models' / 'contact-models linear': contact model + its properties - FLAC 'constitutive-models' / 'constitutive-models mohr-coulomb': zone model + properties - 3DEC 'joint-models' / 'joint-models mohr': joint (sub-contact) model + properties - 'range-elements' / 'range-elements cylinder': range filter syntax (all engines) - 'plot-items' / 'plot-items <type>' / 'plot-items <type> <sub>': plot item keywords

  • versionenum

    Documentation version (PFC: 6.0/7.0/9.0, FLAC: 7.0/9.0). Only gates version-specific items (e.g. PFC contact models by availability). range-elements, plot-items, and the FLAC/3DEC reference sets are version-agnostic, so the value is ignored for them. 9.0-only engines (3DEC, MPoint, MassFlow) always resolve at 9.0.

    6.07.09.0
itasca_check_task_status

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

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

Параметры

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

    Task ID returned by itasca_execute_task

  • skip_newestinteger

    Skip N newest output lines before pagination

  • limitinteger

    Output lines per page

  • filterany

    Only keep output lines containing this text

  • wait_secondsnumber

    Wait time before querying status

itasca_execute_code

Выполняет Python-код синхронно в запущенном процессе движка Itasca. Немедленно возвращает stdout и необязательную результирующую переменную. Код выполняется в главном потоке движка, используя то же пространство имён __main__, что и любая запущенная задача — побочные эффекты сохраняются и становятся немедленно видны задаче на следующем цикле. Этот инструмент остаётся отзывчивым ДАЖЕ ПОКА выполняется задача симуляции (отправленная через itasca_execute_task), при условии, что задача активно циклирует — execute_code вставляется в промежутки между циклами. Используйте его как живую REPL-консоль для просмотра состояния симуляции в реальном времени — не нужно заранее прописывать print-инструкции, а прогоны параметров или управление на основе сторожевых переменных не обязаны быть встроены в скрипт задачи заранее. Среда: встроенный интерпретатор Python движка Itasca. Версия поставляется вместе с движком (Itasca 6/7 → Python 3.6, Itasca 9 → 3.10); продукт+версия закодированы в sys.executable (например PFC900, FLAC900). Если сомневаетесь, пишите код, совместимый с Python 3.6+. Типовые сценарии: - Запрос состояния модели: количество шаров/стенок/контактов, текущий цикл - Отправка команд Itasca и чтение их консольного вывода: itasca.command('ball list'), itasca.command('model list information'). Дампы таблиц, вывод списков и сводки команд захватываются и перемежаются с python-выводами в порядке выполнения — не нужно перереализовывать запросы через SDK только ради того, чтобы увидеть, что напечатала бы команда. - Просмотр в реальном времени во время выполнения задачи: проверка сил, энергии, координационного числа, статистики контактов - Настройка на лету во время выполнения задачи: изменение параметров, подмена колбэков, установка сторожевых переменных, которые задача читает каждый цикл (например, сменить цель сервопривода, изменить демпфирование, сигнализировать о досрочном завершении). - Создание и экспорт графиков: itasca.command('plot ...') - Разработка и тестирование в стиле REPL `program call '<file>.p3dat'` (или .p2dat / .dat) через этот инструмент ограничен версией движка. На версиях 6/7 интерпретатор командных скриптов блокирует мост на всё время выполнения скрипта без промежутков между циклами…

Выполняет Python-код синхронно в запущенном процессе движка Itasca. Немедленно возвращает stdout и необязательную результирующую переменную. Код выполняется в главном потоке движка, используя то же пространство имён __main__, что и любая запущенная задача — побочные эффекты сохраняются и становятся немедленно видны задаче на следующем цикле. Этот инструмент остаётся отзывчивым ДАЖЕ ПОКА выполняется задача симуляции (отправленная через itasca_execute_task), при условии, что задача активно циклирует — execute_code вставляется в промежутки между циклами. Используйте его как живую REPL-консоль для просмотра состояния симуляции в реальном времени — не нужно заранее прописывать print-инструкции, а прогоны параметров или управление на основе сторожевых переменных не обязаны быть встроены в скрипт задачи заранее. Среда: встроенный интерпретатор Python движка Itasca. Версия поставляется вместе с движком (Itasca 6/7 → Python 3.6, Itasca 9 → 3.10); продукт+версия закодированы в sys.executable (например PFC900, FLAC900). Если сомневаетесь, пишите код, совместимый с Python 3.6+. Типовые сценарии: - Запрос состояния модели: количество шаров/стенок/контактов, текущий цикл - Отправка команд Itasca и чтение их консольного вывода: itasca.command('ball list'), itasca.command('model list information'). Дампы таблиц, вывод списков и сводки команд захватываются и перемежаются с python-выводами в порядке выполнения — не нужно перереализовывать запросы через SDK только ради того, чтобы увидеть, что напечатала бы команда. - Просмотр в реальном времени во время выполнения задачи: проверка сил, энергии, координационного числа, статистики контактов - Настройка на лету во время выполнения задачи: изменение параметров, подмена колбэков, установка сторожевых переменных, которые задача читает каждый цикл (например, сменить цель сервопривода, изменить демпфирование, сигнализировать о досрочном завершении). - Создание и экспорт графиков: itasca.command('plot ...') - Разработка и тестирование в стиле REPL `program call '<file>.p3dat'` (или .p2dat / .dat) через этот инструмент ограничен версией движка. На версиях 6/7 интерпретатор командных скриптов блокирует мост на всё время выполнения скрипта без промежутков между циклами…

Параметры

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

    Python code to execute in the Itasca engine user console

  • timeoutinteger

    Console execution timeout in seconds

itasca_execute_task

Отправляет файл Python-скрипта на асинхронное выполнение в движке Itasca. Сразу возвращает task_id; скрипт выполняется в фоне. Используйте вспомогательные инструменты для управления жизненным циклом задачи: - itasca_check_task_status: опрашивает вывод, прогресс и финальный статус - itasca_interrupt_task: отменяет выполняющуюся задачу - itasca_list_tasks: просматривает историю задач Пока задача выполняется, вы можете в любой момент вызвать itasca_execute_code, чтобы проверить или изменить состояние симуляции — включая переменные, от которых зависит задача. Это стандартный способ следить за прогрессом, подкручивать параметры на ходу, заменять колбэки или запускать досрочное завершение через сигнальную переменную. Оба инструмента работают в одном пространстве имён __main__ в главном потоке движка. Консольный вывод от itasca.command() внутри скрипта — дампы таблиц, вывод списков, сводки команд — захватывается и перемежается с выводами Python в журнале задачи, доступном через itasca_check_task_status. Вызов `program call '<file>.p3dat'` (или .p2dat / .dat) из скрипта зависит от версии движка. На версиях 6/7 интерпретатор командных скриптов блокирует мост на всё время выполнения скрипта без перемежения циклов, и мост становится недоступен, пока движок не будет остановлен вручную. Никогда не используйте его там, и относитесь к неизвестным или непроверенным версиям (включая 9.0–9.6) так же. На версии 9.7+ мост остаётся полностью отзывчивым во время `program call` (проверено на 9.7: опрос статуса, перемежение циклов и прерывание работают во время вызова). Даже там, где это безопасно, предпочитайте читать файл и переводить его команды в последовательность вызовов `itasca.command(...)` в Python-скрипте — это даёт вывод по каждой команде, локализацию ошибок и управление внутри скрипта, которое не может обеспечить один непрозрачный `program call`. Это путь асинхронного / фонового выполнения: опрашивается через itasca_check_task_status, отменяется через itasca_interrupt_task. Отправка не фиксирует параметры — начинайте с разумных значений и уточняйте в реальном времени через itasca_execute_code, пока задача выполняется. Для…

Отправляет файл Python-скрипта на асинхронное выполнение в движке Itasca. Сразу возвращает task_id; скрипт выполняется в фоне. Используйте вспомогательные инструменты для управления жизненным циклом задачи: - itasca_check_task_status: опрашивает вывод, прогресс и финальный статус - itasca_interrupt_task: отменяет выполняющуюся задачу - itasca_list_tasks: просматривает историю задач Пока задача выполняется, вы можете в любой момент вызвать itasca_execute_code, чтобы проверить или изменить состояние симуляции — включая переменные, от которых зависит задача. Это стандартный способ следить за прогрессом, подкручивать параметры на ходу, заменять колбэки или запускать досрочное завершение через сигнальную переменную. Оба инструмента работают в одном пространстве имён __main__ в главном потоке движка. Консольный вывод от itasca.command() внутри скрипта — дампы таблиц, вывод списков, сводки команд — захватывается и перемежается с выводами Python в журнале задачи, доступном через itasca_check_task_status. Вызов `program call '<file>.p3dat'` (или .p2dat / .dat) из скрипта зависит от версии движка. На версиях 6/7 интерпретатор командных скриптов блокирует мост на всё время выполнения скрипта без перемежения циклов, и мост становится недоступен, пока движок не будет остановлен вручную. Никогда не используйте его там, и относитесь к неизвестным или непроверенным версиям (включая 9.0–9.6) так же. На версии 9.7+ мост остаётся полностью отзывчивым во время `program call` (проверено на 9.7: опрос статуса, перемежение циклов и прерывание работают во время вызова). Даже там, где это безопасно, предпочитайте читать файл и переводить его команды в последовательность вызовов `itasca.command(...)` в Python-скрипте — это даёт вывод по каждой команде, локализацию ошибок и управление внутри скрипта, которое не может обеспечить один непрозрачный `program call`. Это путь асинхронного / фонового выполнения: опрашивается через itasca_check_task_status, отменяется через itasca_interrupt_task. Отправка не фиксирует параметры — начинайте с разумных значений и уточняйте в реальном времени через itasca_execute_code, пока задача выполняется. Для…

Параметры

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

    Absolute path to entry Python script in the Itasca engine workspace

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

    Brief task purpose

itasca_interrupt_task

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

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

Параметры

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

    Task ID returned by itasca_execute_task

itasca_list_tasks

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

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

Параметры

  • skip_newestinteger

    Skip N most recent tasks before listing

  • limitinteger

    Max tasks to return

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 по ключевым словам

Ищет документацию по командам 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 по ключевым словам

Параметры

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

    Search keywords for Itasca commands. Examples: 'ball create', 'contact property', 'model solve'. Case-insensitive.

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

    ITASCA engine to query: 'pfc', 'flac', '3dec', 'mpoint', or 'massflow'. Required — there is no default engine.

    pfcflac3decmpointmassflow
  • limitinteger

    Maximum number of results (1-20).

  • versionenum

    Documentation version to search. Defaults to 7.0 for multi-version engines (PFC: 6.0/7.0/9.0, FLAC: 7.0/9.0); 9.0-only engines (3DEC, MPoint, MassFlow) always resolve at 9.0.

    6.07.09.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 по ключевым словам

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

Параметры

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

    Search keywords for Itasca Python SDK API. Examples: 'ball pos', 'contact force', 'model solve'. Case-insensitive.

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

    ITASCA engine to query: 'pfc', 'flac', '3dec', 'mpoint', or 'massflow'. Required — there is no default engine.

    pfcflac3decmpointmassflow
  • limitinteger

    Maximum number of results (1-20).

Другие проверенные MCP-сервера

ChronulusAI/chronulus-mcp

ChronulusAI/chronulus-mcp

официальный

Сервер Chronulus для MCP подключает Claude к агентам прогнозирования Chronulus AI. Через чат вы получаете предсказания и прогнозы на основе данных Chronulus. Инструмент для аналитиков и исследовате...

Python111
esignaturescom/mcp-server-esignatures

esignaturescom/mcp-server-esignatures

официальный

MCP сервер eSignatures.com: создание и редактирование Markdown-контрактов, управление подписантами и шаблонами. Полезен разработчикам и AI-агентам для гибких workflows электронных подписей.

Python38
crystaldba/postgres-mcp

crystaldba/postgres-mcp

MCP сервер для Postgres, который помогает AI-агентам и разработчикам повышать производительность: диагностика здоровья БД, тюнинг индексов, explain plans и безопасное выполнение SQL. Ускоряет разра...

Python3081
executeautomation/playwright-mcp-server

executeautomation/playwright-mcp-server

Сервер для браузерной автоматизации на Playwright. Используется AI-агентами для открытия страниц, скриншотов, веб-скрапинга и выполнения JavaScript в реальном браузере. Отлично подходит для тестиро...

TypeScript5578
zinja-coder/jadx-ai-mcp

zinja-coder/jadx-ai-mcp

JADX-AI-MCP - плагин для декомпилятора JADX с интеграцией MCP, позволяющий LLM (Claude) в реальном времени анализировать Android APK, искать уязвимости и давать рекомендации по реверс-инжинирингу.

Java2507
thingsboard/thingsboard-mcp

thingsboard/thingsboard-mcp

официальный

MCP сервер для ThingsBoard: управляйте IoT-устройствами, телеметрией и тревогами через естественный язык. 120+ инструментов для автоматизации операций с сущностями и OTA-пакетами. Идеален для DevOp...

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

Лука Никитин