endiagram/mcp

endiagram/mcp

от dushyant30suthar
MCP сервер для детерминированного структурного анализа систем на основе теории графов. Помогает инженерам проверять структуру, инварианты и живость систем. Каждый результат подтверждён математическ...

@endiagram/mcp

MCP server for EN Diagram — deterministic structural analysis powered by graph theory. Every result is backed by a named mathematical theorem. No AI inside the computation.

Installation

Run directly:

npx @endiagram/mcp

Or install globally:

npm install -g @endiagram/mcp

Connect

Claude Code
claude mcp add endiagram npx @endiagram/mcp
Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "endiagram": {
      "command": "npx",
      "args": ["@endiagram/mcp"]
    }
  }
}
Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "endiagram": {
      "command": "npx",
      "args": ["@endiagram/mcp"]
    }
  }
}
HTTP (zero install)

Any MCP client that supports HTTP transport:

https://api.endiagram.com/mcp
Smithery
smithery mcp add dushyant30suthar/endiagram

Environment Variables

Variable Default Description
EN_API_URL https://api.endiagram.com API endpoint for the EN Diagram service

Tools

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

Как части объединяются или как часть может быть самостоятельной? Режим слияния (source_a + source_b + links): укажите, какие сущности в A совпадают с сущностями в B; объединенный граф связывается через строковое равенство общих имен. Режим извлечения (source + subsystem): вытащите именованную подсистему как самостоятельную EN с граничными входами/выходами, акторами и местоположениями. Допустимые имена подсистем берутся из поля subsystems структуры, сначала вызовите structure для источника, чтобы их найти. Смотрите инструкции сервера для синтаксиса языка EN.

Параметры
  • linksstring

    Entity identifications, one per line. Format: a.<entity name>=b.<entity name> (A's entity is the same as B's entity). # starts a comment. Example: a.user session=b.authenticated session.

  • sourcestring

    EN source code for extract mode

  • source_astring

    EN source code or path to .en/.txt file for the first system

  • source_bstring

    EN source code or path to .en/.txt file for the second system

  • subsystemstring

    Subsystem name to extract. Valid names come from structure's subsystems field — call structure on the source first to discover them.

equivalent

Две системы одинаковы или что изменится, если поменять эту? Режим сравнения (source_a + source_b): структурные различия, расстояние редактирования, спектральная эквивалентность. isCospectral=true означает идентичную структуру графа с точностью до перестановки меток — топологически одинаково, несмотря на разные имена, акторы или расположения. Режим эволюции (source + patch): сухой прогон изменения, показывает diff плюс новые/потерянные узлы-мосты. У патча три типа директив — обычное EN-утверждение добавляет действие; строка, начинающаяся с - (и не содержащая do:), удаляет именованное действие; утверждение, чьё имя действия совпадает с существующим, заменяет исходное. Подробнее о синтаксисе языка EN — в инструкции сервера.

Параметры
  • patchstring

    EN patch for evolve mode. Three directive types: plain EN statement (actor do: X needs: Y yields: Z at: W) adds action X; a line starting with - (and not containing do:) removes the named action; a new statement with an existing action name replaces the original. Multiple directives allowed, one per line.

  • sourcestring

    EN source code for evolve mode

  • source_astring

    EN source code or path to .en/.txt file for the first system

  • source_bstring

    EN source code or path to .en/.txt file for the second system

invariant

Всегда верно: автоматические выводы и проверки по запросу. Автоматические выходные данные: conservationLaws (суммы взвешенных сущностей постоянны при выполнении), sustainableCycles (T-инварианты - последовательности действий, возвращающие в исходное состояние), depletableSets (группы сущностей, одновременное истощение которых необратимо), behavioral.deficiency (0 означает, что структура полностью определяет динамику), behavioral.isReversible, behavioral.hasUniqueEquilibrium. По запросу через rules: закодируйте доменно-специфичные утверждения и проверьте их на графе - так проверяете то, что топология сама не видит (предшествование, покрытие, границы центральности, устойчивость). Смотрите параметр rules для поддерживаемых форм предложений.

Параметры
  • rulesstring

    Custom structural rules, one per line. Four supported sentence shapes (regex-matched): (1) no bridge that is also hub — flags nodes that are both a bridge and a hub. (2) every path from X to Y passes through at least one of [A, B, C] — encodes precedence/coverage; use to check A must happen before Y produces Z by rewriting as every path from Z's input to Z passes through [A]. (3) no node with centrality above 0.5 — flags over-central nodes (replace 0.5 with any threshold). (4) removing any single node disconnects at most N others — connectivity robustness check. Unrecognized rules return satisfied:false with an explanation listing these shapes.

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

    EN source code, or path to .en/.txt file

live

Может ли возникнуть deadlock? Может ли произойти переполнение сущностей? isStructurallyLive означает, что каждый сифон содержит ловушку — структурный deadlock невозможен. uncoveredSiphons — это группы сущностей, которые могут необратимо опустошаться, при этом затрагиваются акторы и локации. isStructurallyBounded означает, что ни одна сущность не может накапливаться без ограничений. unboundedCycles — это последовательности действий, которые могут вызвать переполнение. Смотрите инструкции сервера по синтаксису EN языка.

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

    EN source code, or path to .en/.txt file

reachable

Может ли X достичь Y? Сначала проверяет по направленному потоку данных; если не находит, переключается на ненаправленный. from и to принимают имена сущностей или действий (разрешаются относительно программы). Path показывает каждый шаг с актором и локацией. locationCrossings подсчитывает пересечения границ. defense_nodes проверяет, покрывают ли охранники все пути; coverage.fullCoverage=false означает, что существуют незащищённые маршруты. Смотрите инструкции сервера для синтаксиса на английском.

Параметры
  • defense_nodesstring

    Comma-separated guard nodes to check coverage

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

    Starting node name

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

    EN source code

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

    Target node name

render

Диаграмма в формате SVG или PNG. Вызывать только когда пользователь явно просит визуализировать. Готовое изображение передаётся пользователю, а не внедряется в контекст модели. Синтаксис для английского языка смотрите в инструкции сервера.

Параметры
  • colorstring

    Seed color hex (#RRGGBB) to generate a custom theme. Overrides theme parameter. One color generates the entire palette.

  • directionstring

    Layout direction: LR (left-to-right) or TB (top-to-bottom). Default auto-detects from condensation DAG aspect ratio.

  • isDarkstring

    true or false. Selects the dark or light variant of a named preset. If omitted, defaults to dark unless theme=light.

  • outputstring

    File path to save the rendered image

  • qualitystring

    Output quality: small, mid, or max

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

    EN source code, or path to .en/.txt file

  • structure_layersstring

    Bitmask for structure overlays. Bits: 1=subsystems, 2=pipelines, 4=cycles, 8=forks, 16=joins, 32=hubs, 64=deadlock, 128=overflow. Default 255 (all on). Pass 0 to hide all.

  • themestring

    Color theme. Curated presets (each with light + dark variants; pair with isDark): Editorial (stone paper + rust focal, adapted from cathrynlavery/diagram-design), Primer (GitHub design system — blue accent, data-vis roles), Carbon (IBM Carbon — sharp 0px corners, corporate blue). Or seed-derived palettes generated on the fly from color. Pass 'dark'/'light' for the default variant. Overridden by color if provided.

  • typestring

    Output format: png (default) or svg. PNG is rasterized server-side via Batik.

  • viewstring

    Group by: actors (partition by actor) or locations (partition by location). Default auto-detects topology.

structure

Что это за система? Возвращает форму (Pipeline, Fork-Join, DAG, Star, Cycle, Tree, Complete и т.д.), этапы с ролями, узлы-мосты, циклы, параллелизм, критический путь, дерево доминаторов, минимальные разрезы, подсистемы, интерфейсные узлы, акторы (кто что делает, энтропия нагрузки), локации (где выполняется работа, пересечения границ). Рычаги: node=X возвращает центральность для конкретного узла (betweenness, closeness, eigenvector). detect_findings=true помечает именованные структурные риски: unguarded-sink (стоки, достижимые только через pipeline-действия, без JOIN/HUB-шлюзов), single-cut-path (пары источник-сток только с одним вершинно-непересекающимся путём), multi-cut-path (пути с избыточной защитой, min-cut > 1). Смотрите инструкции сервера для синтаксиса языка EN.

Параметры
  • detect_findingsstring

    Set to 'true' to flag named structural findings. Possible values: unguarded-sink, single-cut-path, multi-cut-path.

  • nodestring

    Node name. When provided, returns per-node centrality (betweenness, closeness, eigenvector) for this specific node instead of the overview.

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

    EN source code, or path to .en/.txt file

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

abhiphile/fermat-mcp

abhiphile/fermat-mcp

MCP сервер для математических вычислений: численные и символьные операции + построение графиков. Использует NumPy, SymPy и Matplotlib — полезен инженерам, студентам и аналитикам для быстрых расчётов и визуализации данных.

Python20
Archerkattri/mathlas

Archerkattri/mathlas

MCP сервер для математических вычислений - даёт ИИ надёжный поиск теорем, проверку численных и формальных утверждений, идентификацию констант и последовательностей. Без API ключа, возвращает проверяемые данные. Полезен разработчикам, строящим агентные пайплайны.

Python12
erajasekar/ai-diagram-maker-mcp

erajasekar/ai-diagram-maker-mcp

MCP-сервер для генерации профессиональных диаграмм ПО из описания на естественном языке: схемы архитектуры, последовательности, ERD, UML. Поддерживает ввод текста, кода, ASCII-схем, изображений и M...

TypeScript9
qainsights/jmeter-mcp-server

qainsights/jmeter-mcp-server

MCP инструмент для выполнения JMeter тестов и анализа производительности. Запускает нагрузочные тесты, парсит JTL-отчёты, выявляет узкие места и генерирует HTML-дашборды. Пригодится QA-инженерам и ...

Python72
abrinsmead/mindpilot-mcp

abrinsmead/mindpilot-mcp

MCP сервер Mindpilot рисует диаграммы архитектуры и кода по запросу твоего агента. Удобен для быстрого анализа легаси и сложных потоков — данные не уходят в облако, можно экспортировать в векторный формат.

TypeScript90
depwire/depwire

depwire/depwire

Depwire – MCP сервер для AI-ассистентов, строящий детерминированный граф зависимостей кода на 16 языках. Позволяет симулировать удаление символов, проверять безопасность и оценивать архитектурное здоровье. Все 23 инструмента работают локально, без отправки кода.

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

Лука Никитин