CLI и MCP-сервер для SysML v2 — стандарта системной инженерии (MBSE), используемого в aerospace, automotive и defence. AI-агент делает запросы, валидирует и рендерит инженерные системные модели.
# Установка (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"] } } }
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 — тонкие транспортные обёртки, которые делегируют вызов тем же функциям.
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 на синтаксические ошибки (ERRUET pipeline при обнаружении любых)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.