SysML v2 MCP

MCP MCP Servers Open Source v0.2.0 · 09.04.2026 активный

CLI и MCP-сервер для SysML v2 — стандарта системной инженерии (MBSE), используемого в aerospace, automotive и defence. AI-агент делает запросы, валидирует и рендерит инженерные системные модели.

v0.2.0
09.04.2026 current
v0.1.0
01.01.2025
Добавлен 06.07.2026 · Обновлён 07.07.2026 · MCP Servers
Установка
# Установка (Rust-based CLI):
git clone https://gitlab.com/nomograph/sysml.git
cd sysml
cargo build --release

# Claude Desktop — claude_desktop_config.json:
{ "mcpServers": { "sysml": { "command": "/path/to/sysml/target/release/sysml", "args": ["mcp"] } } }

# Claude Code (CLI):
claude mcp add sysml -- /path/to/sysml/target/release/sysml mcp

# OpenCode — ~/.config/opencode/opencode.json:
{ "mcp": { "sysml": { "type": "local", "command": ["/path/to/sysml/target/release/sysml", "mcp"] } } }
переведено ИИ

hero

sysml

pipeline license built with GitLab crates.io

CLI-ориентированный набор инструментов для графов знаний SysML v2. Единый бинарный файл, двойной режим (CLI + MCP-сервер). Часть Nomograph Labs.

Репозиторий: gitlab.com/nomograph/sysml

Что это такое

Построен на базе tree-sitter-sysml для парсинга и вдохновлён архитектурой Global Knowledge Graph от GitLab. Предоставляет CLI для парсинга, запросов и обхода моделей SysML v2, а также MCP-сервер для интеграции с ИИ-агентами.

Установка

Требуется Rust 1.85 или новее.

cargo install nomograph-sysml

С поддержкой MCP-сервера:

cargo install nomograph-sysml --features mcp

Из исходного кода:

cargo install --path crates/sysml-cli  # бинарный файл устанавливается как 'sysml'

Быстрый старт

# Построение графа знаний из файлов SysML v2
sysml index path/to/model/

# Поиск элементов
sysml search "ShieldModule"
# => {"total_candidates":42,"results_returned":1,"results":[{"qualified_name":"ShieldModule","kind":"PartDefinition","score":1.0,...}]}

# Обход связей от элемента
sysml trace ShieldModule --hops 3

# Проверка полноты модели
sysml check all --detail

# Запрос определённых типов связей
sysml query --source-name "ShieldModule" --rel satisfy

# Разбиение вопроса на исполняемые шаги
sysml plan "Does ShieldModule satisfy MFRQ01?" --execute

# Запуск MCP-сервера (требуется --features mcp)
sysml --mcp

Команды

Команда Описание
parse Парсинг исходных файлов SysML v2
validate Проверка исходных файлов SysML v2 на ошибки
index Построение графа знаний из файлов
search Поиск в графе знаний
inspect Точный поиск элемента по имени с полным контекстом
trace Обход связей от элемента
check Запуск проверок полноты структуры и метамодели
query Поиск связей на основе предикатов
render Отчёты на основе шаблонов (матрица прослеживаемости, таблица требований, полнота)
stat Панель состояния модели
plan Разбиение вопроса на исполняемые CLI-команды
diff Сравнение двух индексов графа знаний
scaffold Генерация каркасного текста SysML v2
skill Генерация файла навыка агента

Все команды выводят JSON в stdout. Используйте --format pretty для форматированного вывода с отступами.

Архитектура

tree-sitter-sysml (грамматика, git-зависимость)

       |
nomograph-core   (универсальные трейты: Graph, Index, Parser, Scorer, Vocabulary)

       |
sysml-core       (домен SysML v2: обходчик, граф, словарь, рендер, метамодель)

       |
sysml-cli        (CLI: clap | MCP: rmcp, управление через feature-флаги)

Доменная логика находится в sysml-core. CLI и MCP — тонкие транспортные обёртки, которые делегируют вызов тем же функциям.

Интеграция с GitLab CI/CD

sysml поставляет шаблоны CI в каталоге ci/ для контрольных точек валидации моделей и диффов MR.

Контрольная точка валидации модели

Добавьте в свой .gitlab-ci.yml:

include:
  - local: ci/nomograph-sysml.gitlab-ci.yml

variables:
  NOMOGRAPH_MODEL_DIR: "model/"
  NOMOGRAPH_FAIL_ON_FINDINGS: "true"

Это запускает два задания при изменениях файлов .sysml:

  • sysml-validate: проверяет все файлы .sysml на синтаксические ошибки (ERRUET pipeline при обнаружении любых)
  • sysml-check: индексирует модель, запускает все проверки полноты, генерирует значок состояния

Дифф модели в MR

include:
  - local: ci/nomograph-mr-diff.gitlab-ci.yml

Запускается в пайплайнах merge request при изменениях файлов .sysml. Сравнивает модель базовой ветки с моделью целевой ветки и создаёт артефакт model-diff.json.

Значок состояния

sysml stat --badge > model-health.svg

Генерирует SVG-значок в стиле shields.io, отображающий процент полноты и количество элементов/связей. Цвета: зелёный (100%), жёлтый (≥80%), оранжевый (≥50%), красный (<50%).

Разработка

cargo build --workspace
cargo test --workspace
cargo clippy --workspace         # должно быть чисто
cargo fmt --all

Полную спецификацию и историю этапов см. в PRD.md.

Участие в разработке

Процедуры синхронизации грамматики и документацию по тестам покрытия см. в CONTRIBUTING.md.

Лицензия

MIT — см. LICENSE

Цитирование

@software{dunn2026sysml,
  author = {Dunn, Andrew},
  title = {nomograph-sysml: {CLI}-native Knowledge Graph Toolkit for {SysML} v2},
  year = {2026},
  url = {https://gitlab.com/nomograph/sysml},
  note = {Nomograph Labs}
}

Часть Nomograph Labs.

Комментарии
Войдите, чтобы оставить комментарий