Skip to main content
Glama
ADIKANT

datalens-dev-mcp

by ADIKANT

datalens-dev-mcp

Русский · English

Быстрый старт · Доступ к DataLens · Подключение · Инструменты · Сценарии · Источники · Безопасность · English

datalens-dev-mcp — локальный MCP-сервер, который подключает Codex, Claude и другие MCP-клиенты к Yandex DataLens. Пользователь описывает задачу в клиенте обычным языком, клиент вызывает типизированные инструменты сервера, а сервер читает актуальные объекты через DataLens Public API, проверяет зависимости и схемы запросов, готовит изменения, сохраняет их и при необходимости публикует с контрольным чтением результата.

Это не отдельный интерфейс DataLens и не самостоятельный AI-ассистент. Проект даёт MCP-клиенту управляемый локальный доступ к операциям разработки DataLens и работает только с правами текущего пользователя.

Что это даёт

После подключения можно:

  • найти нужный воркбук, дашборд, чарт, датасет или подключение;

  • разобраться в структуре дашборда, его объектах и зависимостях;

  • получить локальный снимок связанного графа и провести аудит без изменений;

  • подготовить план, создать объект или точечно изменить существующий;

  • сохранить черновик либо сохранить и опубликовать проверенную версию;

  • получить saved/published readback, отчёты и пути к локальным артефактам.

Например:

Исправь чарт <CHART_ID> в воркбуке <WORKBOOK_ID>: <ТРЕБОВАНИЕ>. Сохрани и опубликуй результат, затем проверь сохранённую и опубликованную версии.

Перейти к быстрому старту

Сервер работает локально через stdio, не открывает входящий HTTP-порт и не использует отдельный облачный посредник. Это независимый Alpha-проект, не относящийся к официальным продуктам Yandex или Yandex Cloud.

Как это работает

Пользователь
  -> Codex / Claude / другой MCP-клиент
  -> локальный datalens-dev-mcp
  -> Yandex DataLens Public API

project root
  <- снимки, планы, проверки, readback и отчёты

Пользователь формулирует цель, а MCP-клиент выбирает и вызывает подходящие инструменты. Сервер применяет проверки, обращается к DataLens API и сохраняет локальные артефакты внутри выбранного project root. Клиент показывает результат пользователю и, если у него доступен браузер, может дополнительно проверить отображение в интерфейсе DataLens.

Возможности

Задача пользователя

Результат

Найти и изучить объекты

Список воркбуков и их содержимого, чтение дашбордов, чартов, датасетов, подключений и связей

Провести аудит

Локальный снимок графа зависимостей, диагностические выводы и отчёты без записи

Подготовить изменение

План с целями, затрагиваемыми полями, API-методами, проверками и причинами блокировки

Создать или обновить

Проверенный payload для дашборда, чарта, HTML-страницы, датасета или подключения

Изменить часть решения

Точечное обновление вкладки дашборда, модели датасета или связанной группы объектов

Доставить результат

Save, saved readback, publish из проверенного saved state и published readback

Работать локально

Standalone HTML artifacts, project manifests, снимки, планы и отчёты внутри project root

Что делает сервер, а что остаётся за MCP-клиентом

Сервер

MCP-клиент

Предоставляет типизированные инструменты, читает DataLens API, проверяет и выполняет разрешённые операции, создаёт локальные артефакты

Понимает запрос на обычном языке, выбирает последовательность инструментов, показывает результат и управляет доступными ему средствами проверки интерфейса

У сервера нет собственной языковой модели, чата или пользовательского веб-интерфейса. Он не заменяет DataLens UI и не гарантирует визуальное качество без отдельной проверки отображения.

Чем это отличается от разрозненных вызовов DataLens API

  • MCP-клиент использует типизированные операции вместо самостоятельной сборки произвольных HTTP-запросов.

  • Изменение строится поверх актуальной сохранённой версии объекта.

  • Перед записью проверяются точная цель, ревизия и payload.

  • Неизвестные и нетронутые поля сохраняются, а изменяется только объявленная область.

  • Save и publish разделены и подтверждаются отдельными контрольными чтениями.

  • Связанные действия можно применить как одну проверяемую группу, а планы и результаты остаются локальными артефактами.

Такой процесс снижает риск записи не в тот объект, потери полей и публикации непроверенной версии. При конфликте или неопределённом результате цикл останавливается вместо скрытого повтора записи.

Related MCP server: Semantic BI MCP

Примеры задач

Проверка подключения

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

Для этого клиент использует dl_runtime_status, а затем минимальную реальную проверку dl_auth_probe.

Аудит без записи

Проведи аудит дашборда <DASHBOARD_ID> в воркбуке <WORKBOOK_ID>. Покажи структуру, связанные объекты, зависимости и основные риски. Ничего не сохраняй и не публикуй.

План без применения

Составь план изменения чарта <CHART_ID>: <ТРЕБОВАНИЕ>. Покажи, какие поля и объекты будут затронуты, но ничего не сохраняй.

Сохранение без публикации

Обнови <ТИП ОБЪЕКТА> <OBJECT_ID>: <ТРЕБОВАНИЕ>. Сохрани изменение и проверь saved-версию, но не публикуй.

Обычное изменение

Исправь чарт <CHART_ID> в воркбуке <WORKBOOK_ID>: <ТРЕБОВАНИЕ>. Сохрани и опубликуй результат, затем проверь сохранённую и опубликованную версии.

Создание объекта

Создай <ТИП ОБЪЕКТА> в воркбуке <WORKBOOK_ID> по следующим требованиям: <ТРЕБОВАНИЯ>. Проверь зависимости и данные запроса, затем сохрани и опубликуй результат.

HTML-страница

Создай self-contained HTML-страницу в воркбуке <WORKBOOK_ID>: <ТРЕБОВАНИЕ>. Проверь sandbox-контракт, сохрани, прочитай saved-версию, опубликуй её по revId и проверь published-версию.

Как выглядит результат

Ниже — схема ответа, а не точный JSON-контракт:

Результат
- целевой объект найден
- изменение проверено
- сохранённая версия прочитана и совпала с планом
- опубликованная версия прочитана
- создан отчёт
- пути к локальным артефактам возвращены
- проверка интерфейса выполнена либо явно отмечена как недоступная

Если операция остановлена, пользователь получает причину и следующий безопасный шаг: например, повторно прочитать объект после конфликта ревизии или проверить DataLens вручную после неопределённого результата.

Режимы работы

Формулировка задачи определяет точку остановки; изучать названия всех инструментов для выбора режима не требуется.

Запрос

Что происходит

Аудит, проверка, диагностика

Только чтение и локальные отчёты

plan-only

План и проверки без записи

save-only, no-publish, «сохрани без публикации»

Save и saved readback без publish

Создать, исправить, обновить, улучшить, переработать

Save, saved readback, publish из saved state и published readback

Явное значение 0 в write/save/publish env-переменной жёстко отключает соответствующую возможность и имеет приоритет над запросом. Обычный цикл не удаляет целые объекты; отдельное подтверждение применяется только к объявленному в project manifest действию retire_legacy_objects с точными ID и неизменившимся планом.

Поддерживаемые объекты и ограничения

Поддерживается

  • просмотр доступных воркбуков и их содержимого;

  • чтение связей, дашбордов, Wizard/Editor/QL-чартов, датасетов и подключений;

  • создание и обновление поддерживаемых дашбордов, чартов, HTML-страниц, датасетов и подключений через plan и Safe Apply;

  • точечное изменение вкладки дашборда и защищённое изменение модели датасета;

  • локальный снимок дашборда и его графа зависимостей;

  • локальная генерация self-contained HTML artifacts, проверка sandbox-контракта и guarded lifecycle HTML Pages через Public API;

  • заранее объявленные dry-run/apply процессы через project manifest;

  • сохранение планов, снимков, readback и отчётов внутри project root.

Wizard, Editor и QL

  • Новые стандартные KPI, таблицы, линии, области, столбцы, комбинированные чарты, круговые диаграммы, scatter/bubble, treemap и карты по умолчанию используют Wizard.

  • При обновлении существующего чарта сохраняются его технология и visualization_id.

  • Editor выбирается по прямому запросу на JavaScript либо при документированном недостатке Wizard.

  • QL используется только по прямому запросу и с явным payload или актуальной QL-версией; он не выбирается автоматически и не служит fallback.

Подробная политика: docs/route-policy.md.

Ограничения

  • Сервер не является hosted service, чат-ботом или пользовательским интерфейсом DataLens.

  • Он не предоставляет права сверх прав текущего пользователя.

  • Произвольное удаление целого объекта, включая целый QL-объект, недоступно.

  • Перемещение объектов, изменение прав доступа, лицензий и учётных данных не поддерживаются.

  • Локальный HTML-генератор сам не выполняет live-запись; создание и обновление HTML Pages идут отдельным guarded lifecycle, а whole-object delete остаётся недоступным.

  • dl_diagnose анализирует переданные данные, но не выполняет самостоятельные запросы к базам данных.

  • API-readback подтверждает структуру объекта; визуальная проверка зависит от браузера и возможностей MCP-клиента.

  • Snapshot покрывает граф зависимостей выбранного дашборда, а не гарантированно всю организацию.

  • Метод может присутствовать в API-каталоге, но оставаться неподдерживаемым для записи.

Проект не заявляет поддержку DataLens целиком и не заменяет ручную проверку важных изменений.

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

Требования: Python 3.11+, локальный stdio MCP-клиент и, для live-доступа, ID организации, IAM-токен и права на целевой воркбук.

git clone https://github.com/ADIKANT/datalens-dev-mcp.git
cd datalens-dev-mcp
python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install .
.venv/bin/datalens-dev-mcp --version
python3 scripts/smoke_mcp_stdio.py

В Windows используйте .venv\Scripts\python.exe и .venv\Scripts\datalens-dev-mcp.exe. Для разработки сервера установите .venv/bin/python -m pip install -e '.[test]'.

Настройте доступ по пошаговой инструкции. Минимальный защищённый env-файл:

DATALENS_ORG_ID=<ID_ОРГАНИЗАЦИИ>
DATALENS_IAM_TOKEN=<IAM_ТОКЕН>
DATALENS_API_BASE_URL=https://api.datalens.tech
DATALENS_API_VERSION=auto
DATALENS_MCP_ENABLE_WRITES=1
DATALENS_MCP_LIVE_ALLOW_SAVE=1
DATALENS_MCP_LIVE_ALLOW_PUBLISH=1
DATALENS_ENABLE_TOKEN_REFRESH_ON_401=1
DATALENS_MCP_ENABLE_EXPERT_RPC=0

Храните файл вне репозитория с правами 0600 и передайте его абсолютный путь через DATALENS_ENV_FILE. При настроенном yc сервер может получить начальный IAM-токен и один раз обновить истёкший токен.

Подключение MCP-клиента

Замените /absolute/path/... абсолютными путями. --project-root задаёт локальную папку для входных файлов и артефактов; ID объектов DataLens указываются отдельно в задаче.

Codex

Добавьте в ~/.codex/config.toml или .codex/config.toml доверенного проекта:

[mcp_servers.datalens_dev]
command = "/absolute/path/to/datalens-dev-mcp/.venv/bin/datalens-dev-mcp"
args = ["stdio", "--project-root", "/absolute/path/to/your/dashboard-project"]
cwd = "/absolute/path/to/your/dashboard-project"
env = { DATALENS_ENV_FILE = "/absolute/path/to/home/.config/datalens-dev-mcp/env" }
default_tools_approval_mode = "approve"
startup_timeout_sec = 20
tool_timeout_sec = 120

Или зарегистрируйте ту же команду через CLI:

codex mcp add datalens_dev \
  --env DATALENS_ENV_FILE=/absolute/path/to/home/.config/datalens-dev-mcp/env \
  -- /absolute/path/to/datalens-dev-mcp/.venv/bin/datalens-dev-mcp \
  stdio --project-root /absolute/path/to/your/dashboard-project

Проверьте codex mcp list, перезапустите Codex и откройте /mcp. Подробности: настройка Codex.

Claude Code

claude mcp add --transport stdio --scope local \
  --env DATALENS_ENV_FILE=/absolute/path/to/home/.config/datalens-dev-mcp/env \
  datalens-dev -- \
  /absolute/path/to/datalens-dev-mcp/.venv/bin/datalens-dev-mcp \
  stdio --project-root /absolute/path/to/your/dashboard-project

Проверьте регистрацию командой claude mcp list.

Claude Desktop и другие stdio-клиенты

{
  "mcpServers": {
    "datalens-dev": {
      "command": "/absolute/path/to/datalens-dev-mcp/.venv/bin/datalens-dev-mcp",
      "args": ["stdio", "--project-root", "/absolute/path/to/your/dashboard-project"],
      "env": {
        "DATALENS_ENV_FILE": "/absolute/path/to/home/.config/datalens-dev-mcp/env"
      }
    }
  }
}

Готовые конфигурации: examples/clients/.

Первая сессия

Начните с read-only проверки:

Используй DataLens MCP. Вызови dl_runtime_status, затем dl_auth_probe. Покажи, доступны ли чтение, сохранение и публикация. Ничего не изменяй и не выводи учётные данные.

dl_runtime_status проверяет локальную конфигурацию и жёсткие выключатели. dl_auth_probe выполняет минимальный реальный getWorkbooksList. После успешной проверки можно искать объекты, читать их связи или использовать один из готовых сценариев.

Безопасность изменений

Перед записью сервер:

  1. повторно читает актуальную сохранённую версию;

  2. проверяет точный тип и ID цели;

  3. сверяет ревизию и ожидаемые поля;

  4. накладывает только требуемое изменение и сохраняет нетронутые поля;

  5. валидирует payload и связанные условия;

  6. после save читает и проверяет saved-версию;

  7. строит publish только из проверенного saved state;

  8. после publish читает published-версию.

При конфликте ревизии, блокировке, нарушении уникальности или неопределённом результате записи цикл останавливается. Значения DATALENS_MCP_ENABLE_WRITES=0, DATALENS_MCP_LIVE_ALLOW_SAVE=0 и DATALENS_MCP_LIVE_ALLOW_PUBLISH=0 имеют приоритет над запросом.

API-readback подтверждает структуру и состояние объекта. Фактическое отображение подтверждает отдельная browser-проверка со стороны MCP-клиента; если она недоступна, это ограничение должно быть явно указано в результате.

Подробнее: модель безопасности и Safe Apply.

Документация

Тема

Руководство

Все документы

docs/README.md

Доступ, IAM-токен и роли

docs/access.md

Подключение Codex

docs/codex_setup.md

Все 39 инструментов

docs/tools.md

Готовые сценарии

docs/usage-flow.md

Wizard, Editor и QL

docs/route-policy.md

Safe Apply и readback

docs/safe-apply.md

Архитектура и API-покрытие

docs/architecture.md, docs/datalens/api_contract_coverage.md

Точная схема и полный публичный набор текущей установленной версии доступны через MCP tools/list.

Статус проекта

  • Независимый проект, не относящийся к официальным продуктам Yandex или Yandex Cloud.

  • Статус Python-пакета: Alpha.

  • Для реальных записей рекомендуется выбирать специальные целевые объекты и проверять результат.

  • Ветка main может содержать изменения из Unreleased, ещё не вошедшие в опубликованную версию.

  • Источник точного набора инструментов — tools/list текущей установленной версии; стандартная поверхность версии 0.4.0 содержит 39 инструментов.

Разработка

python3 -m venv .venv
.venv/bin/python -m pip install -e '.[test]'
python3 scripts/check_docs_consistency.py
python3 scripts/run_quick_checks.py
python3 scripts/run_offline_acceptance.py

Offline acceptance не использует реальные учётные данные DataLens и не выполняет live-запись.

Лицензия и источники

Код и оригинальная документация проекта распространяются по Apache License 2.0. Справочные данные, адаптированные из документации Yandex Cloud, сопровождаются атрибуцией по CC BY 4.0. Официальные страницы перечислены в docs/sources.md, полные уведомления — в THIRD_PARTY_NOTICES.md.

Install Server
A
license - permissive license
C
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • An MCP server for Arcjet - the runtime security platform that ships with your AI code.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ADIKANT/datalens-dev-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server