Aiven

официальный

Управляйте своими проектами Aiven и взаимодействуйте с сервисами PostgreSQL®, Apache Kafka®, ClickHouse® и OpenSearch®

Что можно делать с Aiven MCP?

  • Список и просмотр проектов Aiven — Используйте aiven_project_list и aiven_project_get для просмотра проектов и их деталей.
  • Управление сервисами Aiven — Создавайте, обновляйте или получайте сервисы с помощью aiven_service_create, aiven_service_update и aiven_service_get.
  • Работа с темами и коннекторами Kafka — Просматривайте, создавайте, обновляйте, удаляйте темы, отправляйте/получайте сообщения и управляйте коннекторами Kafka Connect.
  • Выполнение SQL на сервисах PostgreSQL — Выполняйте запросы только для чтения с помощью aiven_pg_read или операторы записи с помощью aiven_pg_write.
  • Развертывание и повторное развертывание приложений — Используйте aiven_application_deploy и aiven_application_redeploy для управления Docker-приложениями на Aiven.
  • Поиск в документации Aiven — Запрашивайте официальную документацию на естественном языке через aiven_docs_search (только на хостинг-сервере).

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

Aiven MCP Server

Сервер Model Context Protocol (MCP) для облачной платформы данных Aiven.

Управляйте PostgreSQL, Apache Kafka, приложениями и другими сервисами Aiven напрямую из AI-ассистентов, таких как Claude, Cursor и VS Code Copilot.

[!WARNING] Используйте с осторожностью. Этот MCP-сервер может создавать, изменять и удалять сервисы и данные Aiven от вашего имени. AI-агенты могут выполнять деструктивные действия (удаление баз данных, удаление сервисов, отправка сообщений) на основе своей интерпретации ваших запросов. Вы несете полную ответственность за действия, совершенные с помощью этого инструмента.

Разрешения: Доступ регулируется правами пользователя Aiven, связанными с аутентифицированной учетной записью. MCP-сервер может выполнять только те действия, которые разрешены вашему пользователю Aiven.

Безопасность AI-агентов: AI-агентам могут потребоваться учетные данные доступа (строки подключения к базе данных, токены потоковой передачи) для действий от вашего имени. Проверяйте, что делает ваш агент, особенно в производственных средах. Следуйте политикам безопасности вашей организации и проводите оценку рисков, прежде чем предоставлять AI-агентам доступ к конфиденциальным ресурсам.

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

Вариант 1: Удаленный (размещен Aiven)

MCP-сервер размещен по адресу https://mcp.aiven.live/mcp. Ваш MCP-клиент предложит вам авторизоваться в Aiven.

Claude Code

claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"

Cursor

Install MCP Server

Или добавьте вручную в настройки Cursor MCP:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}

VS Code / Copilot

Добавьте в .vscode/mcp.json в вашем рабочем пространстве:

{
  "servers": {
    "aiven-mcp": {
      "type": "http",
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}

Режим только для чтения (Удаленный)

Включите режим только для чтения, добавив ?read_only=true к URL. Все операции записи будут исключены из MCP:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?read_only=true"
    }
  }
}

Ограниченные инструменты (Удаленный)

Уменьшите поверхность инструментов, доступную вашему AI-агенту, добавив ?services_scope= к URL. Полезно, когда вы работаете только с подмножеством сервисов Aiven и хотите сохранить контекст агента сфокусированным. Комбинируйте значения через запятую. core (обнаружение проектов/сервисов) всегда включен неявно.

Допустимые области: all, core, pg, kafka, application, integrations. Используйте all, чтобы явно загрузить все инструменты (аналогично отсутствию параметра). all нельзя комбинировать с другими областями.

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?services_scope=kafka"
    }
  }
}

Вы также можете комбинировать с read_only:

https://mcp.aiven.live/mcp?services_scope=pg&read_only=true

Исключения записи в режиме только для чтения (Удаленный)

При read_only=true добавьте ?write_allowlist=, чтобы повторно включить определенные инструменты записи, сохраняя все остальное только для чтения. Полезно, когда вам нужен в основном доступ на чтение, но все же требуется разрешить одно действие записи, например создание тем Kafka. Комбинируйте несколько имен инструментов через запятую. Игнорируется, когда read_only не включен.

https://mcp.aiven.live/mcp?read_only=true&write_allowlist=aiven_kafka_topic_create

Клиенты Marketplace (Удаленный)

Если вы подписались на Aiven через облачный marketplace, добавьте ваш marketplace как сегмент пути, чтобы вход использовал правильную консоль:

MarketplaceСегмент пути
AWS Marketplacehttps://mcp.aiven.live/mcp/aws
Azure Marketplacehttps://mcp.aiven.live/mcp/azure
Google Cloud Marketplacehttps://mcp.aiven.live/mcp/gcp
{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp/<marketplace>"
    }
  }
}

Сегмент пути комбинируется с указанными выше параметрами запроса, например https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true.

Вариант 2: stdio (локальный)

Запустите сервер локально как дочерний процесс вашего MCP-клиента. Требуется Node.js 18+.

Вы должны предоставить свой API-токен Aiven через переменную окружения AIVEN_TOKEN. Создайте токен здесь.

Claude Code

claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven

Cursor, VS Code -- добавьте в конфигурацию вашего MCP-клиента:

{
  "mcpServers": {
    "aiven-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-aiven"],
      "env": {
        "AIVEN_TOKEN": "your-token-here"
      }
    }
  }
}

Расположение файлов конфигурации:

  • Cursor: Настройки Cursor > MCP Servers
  • VS Code: .vscode/mcp.json в вашем рабочем пространстве

Вариант 3: Локальная разработка

Запустите локальную сборку сервера (полезно для разработки и тестирования):

pnpm install && pnpm generate:api-types && pnpm generate && pnpm build && AIVEN_TOKEN="<YOUR_TOKEN>" MCP_TRANSPORT="http" PORT=3000 node dist/index.js

Сервер по умолчанию слушает порт 3000. Подключите ваш MCP-клиент к http://localhost:3000/mcp.

Чтобы направить удаленное развертывание на пользовательский хост (например, вашу локальную сборку), установите MCP_HOST:

MCP_HOST=http://localhost:3000 node dist/index.js

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

ПеременнаяОбязательнаПо умолчаниюОписание
AIVEN_TOKENтолько для stdio--API-токен Aiven (создайте его здесь)
AIVEN_READ_ONLYНетfalseУстановите в true, чтобы предоставить только инструменты для чтения
AIVEN_SERVICES_SCOPEНет--Разделенный запятыми список областей для предоставления (например, kafka, pg,kafka или all). Допустимые: all, core, pg, kafka, application, integrations. core всегда включен. Отсутствие переменной или установка all загружает все инструменты.
AIVEN_ALLOW_SECRETSНетfalseУстановите в true, чтобы предоставить инструмент aiven_service_connection_info, который возвращает актуальные учетные данные (пароли, URI подключения, сертификаты) в диалог. Отключено при AIVEN_READ_ONLY=true.
AIVEN_WRITE_ALLOWLISTНет--Разделенный запятыми список имен инструментов для повторного включения при AIVEN_READ_ONLY=true (например, aiven_kafka_topic_create). Игнорируется, если режим только для чтения не включен.
MCP_HOSTНетhttps://mcp.aiven.liveПереопределить хост защищенного ресурса OAuth
MCP_TRANSPORTНетstdioУстановите в http, чтобы запустить HTTP-сервер вместо stdio
MCP_HTTP_RATE_LIMIT_MAXНет1000Максимальное количество запросов за окно на POST /mcp (HTTP-транспорт), на токен носителя. Ограничение скорости по IP клиента ожидается на уровне Cloudflare.
MCP_HTTP_RATE_LIMIT_WINDOW_MSНет60000Длина окна в миллисекундах для MCP_HTTP_RATE_LIMIT_MAX.
EXTRA_PROTECTIONНетfalseУстановите в true при HTTP-развертываниях, чтобы требовать действительный заголовок X-Edge-Auth для каждого запроса, кроме GET /health. См. Развертывание пограничной защиты ниже.
MCP_EDGE_AUTH_SECRETКогда EXTRA_PROTECTION=true--Общий секрет; должен совпадать со значением, которое Cloudflare внедряет как X-Edge-Auth через Transform Rules.

В удаленном (HTTP) режиме AIVEN_TOKEN не требуется. Ваш MCP-клиент отправляет ваш токен как токен носителя с каждым запросом.

Производственный HTTP-трафик ограничивается по скорости на двух уровнях: Cloudflare применяет ограничение на IP клиента (настраивается в панели управления Cloudflare), а этот сервер применяет MCP_HTTP_RATE_LIMIT_* на токен носителя на POST /mcp.

Развертывание пограничной защиты

Когда EXTRA_PROTECTION=true, любое несоответствие между MCP_EDGE_AUTH_SECRET и значением, которое Cloudflare внедряет как X-Edge-Auth, приводит к тому, что каждый запрос возвращает 403 (кроме GET /health). Оба значения являются переменными окружения/конфигурации на противоположных сторонах соединения, поэтому единственный путь восстановления — исправить секрет и выполнить повторное развертывание или обновить Cloudflare.

Включайте в следующем порядке:

  1. Правило Cloudflare Transform Rule — Добавьте правило, которое устанавливает X-Edge-Auth (и, если используется для инструментов PG, X-Client-IP) для трафика к источнику MCP. Запишите значение секрета, которое вы настраиваете.
  2. MCP_EDGE_AUTH_SECRET — Разверните сервер с этой переменной окружения, установленной в тот же секрет, что и в Transform Rule. Пока оставьте EXTRA_PROTECTION не установленным или false; убедитесь, что источник все еще принимает трафик.
  3. EXTRA_PROTECTION=true — Включайте только после того, как шаги 1–2 запущены и согласованы. Подтвердите, что обычный MCP-запрос успешен, а прямой доступ к источнику без X-Edge-Auth отклоняется.
  4. Ротация секрета — Обновите Cloudflare и MCP_EDGE_AUTH_SECRET вместе (или ненадолго установите EXTRA_PROTECTION=false), выполните повторное развертывание, затем снова включите. Никогда не меняйте только одну сторону, пока флаг включен.

Если EXTRA_PROTECTION=true при запуске и MCP_EDGE_AUTH_SECRET отсутствует, процесс немедленно завершается с ошибкой.

Пока отклонения продолжаются, сервер регистрирует предупреждение о неверной конфигурации не чаще одного раза в 15 минут (сбрасывается после запроса с действительным X-Edge-Auth), так что несоответствие секрета видно в журналах без записи строки для каждого отклоненного запроса.

Инструменты

Основные

ИнструментОписание
aiven_project_listСписок проектов
aiven_project_getПолучить детали проекта
aiven_list_project_cloudsСписок облачных платформ для проекта
aiven_project_vpc_listСписок VPC для проекта
aiven_service_listСписок сервисов
aiven_service_type_plansСписок планов с доступностью в облаках
aiven_service_plan_pricingПолучить цены для плана в конкретном облаке
aiven_service_createСоздать сервис
aiven_service_getПолучить информацию о сервисе
aiven_service_updateОбновить сервис (план, конфигурация, состояние питания)
aiven_service_metrics_fetchПолучить метрики для управляемых сервисов данных
aiven_service_application_metrics_getПолучить метрики для сервисов приложений
aiven_project_get_service_logsПолучить записи журнала сервиса
aiven_service_query_activityПолучить текущие запросы для сервиса
aiven_project_get_event_logsПолучить записи журнала событий проекта

Kafka

ИнструментОписание
aiven_kafka_topic_listСписок тем Kafka
aiven_kafka_topic_createСоздать тему Kafka
aiven_kafka_topic_getПолучить информацию о теме Kafka
aiven_kafka_topic_updateОбновить тему Kafka
aiven_kafka_topic_deleteУдалить тему Kafka
aiven_kafka_topic_message_listПрочитать сообщения из темы Kafka
aiven_kafka_topic_message_produceОтправить сообщения в тему Kafka
aiven_kafka_connect_available_connectorsСписок доступных типов коннекторов
aiven_kafka_connect_listСписок запущенных коннекторов
aiven_kafka_connect_create_connectorСоздать коннектор
aiven_kafka_connect_edit_connectorРедактировать коннектор
aiven_kafka_connect_get_connector_statusПолучить статус коннектора
aiven_kafka_connect_pause_connectorПриостановить коннектор
aiven_kafka_connect_resume_connectorВозобновить коннектор
aiven_kafka_connect_restart_connectorПерезапустить коннектор
aiven_kafka_connect_delete_connectorУдалить коннектор
aiven_kafka_schema_registry_subjectsСписок субъектов Schema Registry
aiven_kafka_schema_registry_subject_version_getПолучить версию субъекта Schema Registry

PostgreSQL

ИнструментОписание
aiven_pg_service_available_extensionsСписок доступных расширений
aiven_pg_service_query_statisticsПолучить статистику запросов
aiven_pg_bouncer_createСоздать пул соединений PgBouncer
aiven_pg_bouncer_updateОбновить пул соединений PgBouncer
aiven_pg_bouncer_deleteУдалить пул соединений PgBouncer
aiven_pg_readВыполнить SQL-запрос только для чтения
aiven_pg_writeВыполнить SQL-оператор записи (INSERT, UPDATE, DELETE, CREATE TABLE и т.д.)
aiven_pg_optimize_queryОптимизация запросов с помощью AI (EverSQL)

Приложения

ИнструментОписание
aiven_application_deployРазвернуть Docker-приложение в Aiven
aiven_application_redeployПересобрать и повторно развернуть существующее приложение
aiven_vcs_integration_listСписок подключенных аккаунтов VCS (GitHub)
aiven_vcs_integration_repository_listСписок репозиториев для интеграции с VCS

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

ИнструментОписание
aiven_docs_searchПоиск в официальной документации Aiven на естественном языке. Доступен только на размещенном сервере (https://mcp.aiven.live/mcp) — не предоставляется в самостоятельно развернутых средах.

Участие в разработке

См. CONTRIBUTING.md для настройки среды разработки, локального запуска и добавления новых инструментов.

Лицензия

Apache-2.0