datalens-mcp
MCP-сервер для публичного API Yandex DataLens: 70 инструментов для дашбордов, чартов, датасетов и подключений
Установка
npm install
npm run build
claude mcp add datalens -- node /path/to/datalens-mcp/dist/index.jsВыполняется в клоне репозитория, затем задайте переменные окружения.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Оборачивает почти весь публичный API Yandex DataLens в 70 MCP-инструментов, сгенерированных из официальной спецификации OpenAPI. Агент читает и создает дашборды, чарты, датасеты, подключения, воркбуки и права доступа. Инструменты удаления намеренно отсутствуют, а режим DATALENS_READ_ONLY=1 оставляет только чтение. Составной инструмент clone_entry копирует объекты на стороне сервера.
Для кого. Аналитикам и BI-разработчикам, которые строят отчетность в Yandex DataLens.
Подходит, если
- Разобраться в структуре чужого воркбука, дашборда или датасета
- Склонировать дашборд или чарт и перенаправить его на новый датасет
- Провести аудит прав доступа и подключений
- Массово переносить объекты между воркбуками
Не подходит, если
- Нужно удалять объекты: сервер этого не умеет
- Нужно править существующий датасет на месте: API DataLens сейчас отклоняет такие изменения
Пример запроса к агенту
Покажи все дашборды в воркбуке продаж и перечисли, на каких датасетах построены их чартыОграничения
Нужен IAM-токен, он живет около 12 часов и читается один раз при старте, поэтому после обновления сервер надо перезапустить. OAuth-токены Яндекса не поддерживаются. Правка существующих датасетов упирается в ошибку DATASET_REVISION_MISMATCH на стороне API, вместо этого используется clone_entry. Создание и изменение дашбордов и чартов DataLens помечает как экспериментальное. Политика подтверждений носит рекомендательный характер, жесткую защиту дает только режим только для чтения.
Как отключить. Выполните claude mcp remove datalens или удалите блок datalens из ~/.claude.json.
MCP
- Транспорт
- stdio
- Авторизация
- API-ключ
| Переменные окружения | |
|---|---|
| DATALENS_IAM_TOKEN обязательная, секрет | IAM-токен из yc iam create-token, живет около 12 часов |
| DATALENS_ORG_ID обязательная | ID организации DataLens для заголовка x-dl-org-id |
| DATALENS_READ_ONLY | 1 регистрирует только инструменты чтения |
| DATALENS_USE_YC_TOKEN | 1 получает токен через yc при запуске скрипта datalens-launch.sh |
| DATALENS_API_BASE | Адрес API для self-hosted DataLens |
Проверка безопасности
- Нужен IAM-токен Yandex Cloud
- Инструменты создают и меняют объекты, в том числе права доступа и публичные встраивания
- Большие ответы с конфигурацией подключений сохраняются во временные файлы
Коротко о README
Сервер работает по stdio и делит 70 инструментов на чтение, создание и изменение с разными уровнями подтверждения. Инструменты генерируются из спецификации OpenAPI и проверяются аудитом соответствия. В README описаны авторизация через IAM-токен, автообновление токена через yc, обработка больших ответов и подключение к Claude Code. Отдельно разобраны ограничения API DataLens для датасетов и экспериментальных объектов.
Частые вопросы
Как не обновлять IAM-токен вручную?
Запускайте сервер через bin/datalens-launch.sh с DATALENS_USE_YC_TOKEN=1: скрипт получает свежий токен через yc CLI при каждом старте.
Что происходит с очень большими ответами?
Если результат больше DATALENS_MAX_RESPONSE_CHARS, полный JSON пишется во временный файл, а инструмент возвращает путь к нему.
Работает ли с self-hosted DataLens?
Да, адрес задается DATALENS_API_BASE и должен быть https, http разрешен для localhost или с DATALENS_ALLOW_INSECURE_BASE=1.
Похожие
166 скиллов для научных задач: биоинформатика, хемоинформатика, клинические данные, геоданные и доступ к 100+ базам
Утилита Postgres Professional для резервного копирования и восстановления PostgreSQL с инкрементальными бэкапами и PITR
MCP SQLite Server (npx)
MCP SQLite Server
MCP-сервер для работы с базой SQLite на Node.js, запускается через npx без Python и uvx
Скиллы MPSTATS
Claude Code Skills — MPSTATS
Официальные скиллы MPSTATS: аналитика Wildberries, Ozon и Яндекс Маркета и генерация визуала для карточек через API