datalens-dev-mcp
This server is a local MCP (Model Context Protocol) server for AI-assisted development of Yandex DataLens dashboards, providing tools for reading, planning, validating, and safely applying changes to DataLens objects.
Connection & Diagnostics
Check runtime flags, auth, config, and route status (secret-safe)
Retrieve resolved local MCP config and source metadata
Perform minimal live auth probes without exposing secrets
Reading DataLens Objects
List workbooks, get workbook entries, fetch entry relation graphs
Read any supported DataLens object (dashboards, charts, datasets, connections, etc.)
Snapshot dashboard graphs and sanitized object artifacts
Planning & Authoring
Plan creation and updates of DataLens objects (dashboards, charts, datasets, connections) via wizard-first and Advanced Editor tools
Plan dashboard tab append/replace while preserving others
Plan guarded dataset updates with GUID preservation
Create guarded safe-apply and publish-from-saved plans
Reconcile planned creates against existing workbook objects without unintended deletions
Validation
Validate object payloads, routes, relations, selectors, layout, and SQL
Validate Advanced Editor HTML/JS runtime contracts before save or publish
Validate dashboard consumers against source availability matrices
Classify source/runtime errors without exposing secrets
Safe Apply & Publishing
Execute guarded safe-apply plans (only when enabled and approved), with fresh reads, revision preservation, save, readback, and publish steps
Create readback summaries, deployment reports, and static/readback/runtime validation evidence reports
Project Workflow Management
Detect, plan, dry-run, and apply manifest-backed project live workflows
Create and manage project manifests
Plan and validate maintenance updates with guarded execution
Source Availability
Build source availability matrices for dashboards
Validate consumers and plan source availability corrections
Diagnostics & Reference
Run SQL, grain, graph, and performance diagnostics with artifact-backed evidence
Access source-traced DataLens docs, recipes, formulas, error messages, and capability references
API Catalog
List curated DataLens API methods and retrieve their schemas
Provides tools for inspecting, planning, validating, and managing Yandex DataLens dashboards, charts, datasets, and connections through the DataLens API, enabling AI-assisted dashboard development within Yandex Cloud.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@datalens-dev-mcplist workbooks in my organization"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 вручную после неопределённого результата.
Режимы работы
Формулировка задачи определяет точку остановки; изучать названия всех инструментов для выбора режима не требуется.
Запрос | Что происходит |
Аудит, проверка, диагностика | Только чтение и локальные отчёты |
| План и проверки без записи |
| 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. После успешной проверки можно искать объекты, читать их связи или использовать один из готовых сценариев.
Безопасность изменений
Перед записью сервер:
повторно читает актуальную сохранённую версию;
проверяет точный тип и ID цели;
сверяет ревизию и ожидаемые поля;
накладывает только требуемое изменение и сохраняет нетронутые поля;
валидирует payload и связанные условия;
после save читает и проверяет saved-версию;
строит publish только из проверенного saved state;
после 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.
Документация
Тема | Руководство |
Все документы | |
Доступ, IAM-токен и роли | |
Подключение Codex | |
Все 39 инструментов | |
Готовые сценарии | |
Wizard, Editor и QL | |
Safe Apply и readback | |
Архитектура и API-покрытие |
|
Точная схема и полный публичный набор текущей установленной версии доступны через 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.pyOffline acceptance не использует реальные учётные данные DataLens и не выполняет live-запись.
Лицензия и источники
Код и оригинальная документация проекта распространяются по Apache License 2.0. Справочные данные, адаптированные из документации Yandex Cloud, сопровождаются атрибуцией по CC BY 4.0. Официальные страницы перечислены в docs/sources.md, полные уведомления — в THIRD_PARTY_NOTICES.md.
Maintenance
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
- Alicense-qualityCmaintenanceAn MCP server for Apache Superset that enables AI models to manage dashboards, create charts with auto-detection, and execute SQL queries programmatically. It utilizes stateless HTTP transport to ensure compatibility with integration tools like Open WebUI.Last updated108MIT
- Flicense-qualityBmaintenanceModel Context Protocol (MCP) server that gives AI assistants a safe, correct data-analyst capability over business metrics - without raw SQL improvisation.Last updated
- Alicense-qualityCmaintenanceMCP server for AI-assisted Python debugging using debugpy and Debug Adapter Protocol, enabling AI agents to run tests, set breakpoints, and inspect variables via natural language.Last updated8MIT
- Alicense-qualityDmaintenanceA Python MCP server for Metabase that enables AI assistants to query databases, manage dashboards, and interact with your Metabase instance.Last updatedMIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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