Skip to main content
Glama
Veselchak-git

Loginom Builder MCP

Loginom Builder MCP

Портативный stdio MCP-сервер на Python: создание и настройка пакетов Loginom .lgp — узлы, связи, фильтры, слияние, калькулятор, параметры импорта, визуализаторы.

Работает как самодостаточная папка. Подключается к любому MCP-хосту со stdio (Cursor, Claude Desktop, VS Code Copilot MCP, Continue и др.). Для сборки и просмотра .lgp нужен только Python — не обязательны Windows и установленный Loginom.

Структура репозитория

loginom-mcp/
  server.py              # точка входа MCP (stdio)
  loginom_mcp/           # Python-пакет: сессия, узлы, ColumnDefs, virgin-views
  vendor/                # BGB/XML билдеры + g6_blobs + viz_configure
  tools/                 # CLI-утилиты (inspect_viz)
  docs/                  # AGENTS, CONTRIBUTING, ROADMAP, VISUALIZERS
  examples/              # mcp.json.example, opencode.json.example
  README.md, LICENSE, requirements.txt

Related MCP server: penpot-headless

Contributing / AI agents

Недостающие инструменты (см. docs/ROADMAP.md) можно реализовать и прислать Pull Request — мейнтейнер ревьюит и мержит.

  • Люди: docs/CONTRIBUTING.md

  • ИИ-агенты (обязательно): docs/AGENTS.md

  • MCP resources: loginom://docs/agents, loginom://docs/contributing, loginom://docs/roadmap, loginom://docs/visualizers

Public vs private

В этом репозитории (public)

Не коммитить / держать локально

Код MCP, vendor/, g6_blobs, docs/

.staging/, out/, учебные .lgp

examples/*.example

Личный mcp.json с абсолютными путями

MIT license

Датасеты курса, домашние работы

Требования

  • Python 3.10+ в PATH (python3 --version или python --version)

Опционально (только Windows):

  • Loginom Community и переменная LOGINOM_EXE для UI-проверки в verify_package (проверка структуры ZIP/XML/BGB работает и без этого)

Установка

  1. Клонируйте или скопируйте репозиторий loginom-mcp целиком.

  2. Установите зависимости:

cd /path/to/loginom-mcp
python3 -m pip install -r requirements.txt
# В Windows часто: python -m pip install -r requirements.txt
  1. Зарегистрируйте сервер в конфиге MCP-клиента (шаблоны в examples/). Подставьте свои абсолютные пути к корневому server.py и каталогу вывода.

Cursor

Windows — файл %USERPROFILE%\.cursor\mcp.json:

{
  "mcpServers": {
    "loginom_builder": {
      "command": "python",
      "args": ["C:\\Users\\YOU\\tools\\loginom_mcp\\server.py"],
      "env": {
        "LOGINOM_MCP_OUT": "C:\\Users\\YOU\\lgp_out"
      }
    }
  }
}

macOS / Linux — файл ~/.cursor/mcp.json:

{
  "mcpServers": {
    "loginom_builder": {
      "command": "python3",
      "args": ["/Users/YOU/tools/loginom_mcp/server.py"],
      "env": {
        "LOGINOM_MCP_OUT": "/Users/YOU/lgp_out"
      }
    }
  }
}

На Linux путь к папке может быть, например, /home/YOU/tools/loginom_mcp/server.py. Перезапустите MCP в Cursor (или Cursor целиком) и проверьте list_loginom_components.

Claude Desktop

Удобно открыть конфиг: Settings → Developer → Edit Config.

Windows — %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "loginom_builder": {
      "command": "python",
      "args": ["C:\\Users\\YOU\\tools\\loginom_mcp\\server.py"],
      "env": {
        "LOGINOM_MCP_OUT": "C:\\Users\\YOU\\lgp_out"
      }
    }
  }
}

macOS — ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "loginom_builder": {
      "command": "python3",
      "args": ["/Users/YOU/tools/loginom_mcp/server.py"],
      "env": {
        "LOGINOM_MCP_OUT": "/Users/YOU/lgp_out"
      }
    }
  }
}

Linux — ~/.config/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "loginom_builder": {
      "command": "python3",
      "args": ["/home/YOU/tools/loginom_mcp/server.py"],
      "env": {
        "LOGINOM_MCP_OUT": "/home/YOU/lgp_out"
      }
    }
  }
}

Полностью закройте Claude Desktop и откройте снова (на macOS — Cmd+Q, не только закрытие окна). Проверьте, что появились инструменты MCP.

OpenCode

Ключ — mcp (не mcpServers). У локального сервера: "type": "local", command — один массив, переменные — в environment.

Конфиг: проектный opencode.json / opencode.jsonc или глобальный:

ОС

Глобальный конфиг (типично)

Windows

%USERPROFILE%\.config\opencode\opencode.json

macOS / Linux

~/.config/opencode/opencode.json

Windows:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "loginom_builder": {
      "type": "local",
      "command": ["python", "C:\\Users\\YOU\\tools\\loginom_mcp\\server.py"],
      "enabled": true,
      "environment": {
        "LOGINOM_MCP_OUT": "C:\\Users\\YOU\\lgp_out"
      }
    }
  }
}

macOS:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "loginom_builder": {
      "type": "local",
      "command": ["python3", "/Users/YOU/tools/loginom_mcp/server.py"],
      "enabled": true,
      "environment": {
        "LOGINOM_MCP_OUT": "/Users/YOU/lgp_out"
      }
    }
  }
}

Linux:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "loginom_builder": {
      "type": "local",
      "command": ["python3", "/home/YOU/tools/loginom_mcp/server.py"],
      "enabled": true,
      "environment": {
        "LOGINOM_MCP_OUT": "/home/YOU/lgp_out"
      }
    }
  }
}

Проверка: opencode mcp list (или перезапуск OpenCode). При необходимости: opencode mcp debug.

  1. Убедитесь, что доступен инструмент list_loginom_components.

Примеры файлов: examples/mcp.json.example (Cursor / Claude Desktop), examples/opencode.json.example (OpenCode).

Переменные окружения

Переменная

Назначение

LOGINOM_MCP_OUT

Каталог по умолчанию для create_package, если не задан output_dir (по умолчанию: loginom_mcp/out)

LOGINOM_EXE

Необязательный путь к бинарнику Loginom для UI-проверки в Windows

MCP tools (реализовано)

Tool

Назначение

list_loginom_components

Ключи компонентов для add_node

list_visualizers

Ключи визуализаторов для add_visualizer

create_package

Новая in-memory сессия пакета

add_node

Добавить virgin-узел на холст

configure_node

ColumnDefs + filter / calculator / sort / join / import / outliers / grouping

link_nodes

Связать порты (data, else, …)

add_visualizer

Повесить virgin-визуализатор (пустые Series / ViewColumns / Dimensions)

rename_node

Переименовать узел или визуализатор

get_package

Состояние текущей сессии

inspect_lgp

Разобрать существующий .lgp с диска

save_package

Записать .lgp

verify_package

Проверка ZIP/XML/BGB (+ опционально UI Loginom на Windows)

Resources: loginom://docs/visualizers, loginom://docs/agents, loginom://docs/contributing, loginom://docs/roadmap.

Ещё в репозитории (не MCP-tools): vendor/ (BGB/XML + viz_configure.py), tools/inspect_viz.py, docs/.

Полный список «чего ещё нет» для агентов: docs/AGENTS.md (секция Missing tools) и docs/ROADMAP.md.

Визуализаторы

add_visualizer вешает на узел только virgin-представление (пустые серии/измерения/колонки).
Инструмента configure_visualizer пока нет — это главный gap для контрибьюторов.

Для готового пакета после save_package нужно настроить визуализаторы в .lgp:

  1. Править Unit_0/Unit.xml и синхронно Unit_0/Unit.bin (Loginom читает BIN), либо использовать vendor/viz_configure.py.

  2. Диаграмма: lkLabels + FieldName, непустой <Series> (ctColumns и т.п.).

  3. Куб: Dimensions (cdtRows / cdtCols / cdtFree) + факты в Summaries/Cases.

  4. Таблица: непустой <ViewColumns> с нужными полями.

  5. Не вызывать повторный save_package из той же MCP-сессии — перезапишет virgin.

Полные шаблоны, ordinals BGB и чек-лист: docs/VISUALIZERS.md.

Замечания

  • Раздавайте репозиторий целиком (включая vendor/g6_blobs и docs/). Не удаляйте vendor/.

  • .staging/ и out/ — локальные кэши; их можно спокойно удалять.

  • verify_package(open_ui=true) запускает Loginom только в Windows, если задан или найден LOGINOM_EXE; иначе проверяется только структура ZIP/XML/BGB.

  • Разделитель полей текстового импорта не сохраняется в .lgp Loginom; в import_settings задают кодировку, разделители даты/чисел, лист Excel и типы столбцов.

  • Примеры конфигов: examples/mcp.json.example, examples/opencode.json.example.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Python stdio MCP server that interfaces with the Logseq local HTTP API, enabling tools to manage pages, blocks, queries, and graph configurations in Logseq.
    64
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A portable MCP server for headless Penpot project/file/content management, using Penpot's RPC API directly. No browser, no Penpot plugin session.
    54
    33 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A local stdio MCP server for a self-hosted GeoGebra 5.0 Web bundle. It enables executing GeoGebra commands with structured feedback, querying commands, evaluating CAS, managing state, and exporting images using headless Chromium.
    12
    25 npm
    MIT