Aiven

официальный

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

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

  • Управление сервисами Aiven — перечисление, создание, обновление и получение сведений или метрик для PostgreSQL, Kafka и других сервисов Aiven в ваших проектах.
  • Работа с Kafka — перечисление, создание, обновление и удаление топиков, чтение или отправка сообщений, а также управление коннекторами Kafka Connect и субъектами Schema Registry.
  • Выполнение запросов PostgreSQL — выполнение SQL-запросов только для чтения или операторов записи, получение статистики запросов и управление пулами соединений PgBouncer.
  • Развёртывание приложений — создание и повторное развёртывание приложений Containerfile/Dockerfile и подключение репозиториев GitHub через интеграции VCS.
  • Поиск по документации Aiven — поиск по официальной документации Aiven на естественном языке (только на размещённом сервере).
  • Ограничение доступа — включение режима только для чтения, ограничение инструментов определёнными типами сервисов или добавление отдельных инструментов записи в список разрешённых.

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

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

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

{
  "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, opensearch. Используйте all, чтобы явно загрузить все инструменты (то же самое, что опустить параметр). all нельзя комбинировать с другими областями. opensearch подчиняется тем же правилам, что и kafka или pg (базовые инструменты плюс инструменты категории OpenSearch); специфичных для OpenSearch инструментов пока нет, поэтому сейчас он предоставляет только базовые.

{
  "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 Settings > 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, opensearch. core включается неявно для ограниченных типов сервисов. opensearch пока не имеет выделенных инструментов (только базовые, пока не добавлены инструменты OpenSearch). Если переменная не задана или установлена в 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-транспорт), на bearer-токен. Ограничение частоты по 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-клиент отправляет ваш токен как Bearer-токен с каждым запросом.

Производственный HTTP-трафик ограничивается по частоте на двух уровнях: Cloudflare применяет ограничение на IP клиента (настраивается в панели Cloudflare), а этот сервер применяет MCP_HTTP_RATE_LIMIT_* на bearer-токен на 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_type_getПолучить версии движка по умолчанию и доступные для типа сервиса
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Оптимизация запросов на основе ИИ (EverSQL)

Приложения

ИнструментОписание
aiven_application_createСоздать и первоначально развернуть приложение Containerfile/Dockerfile; возвращает 409, если сервис уже существует
aiven_application_redeployПересобрать существующее приложение из его настроенного репозитория без изменения конфигурации сервиса
aiven_vcs_integration_initializeЗапустить браузерный процесс подключения учётной записи GitHub
aiven_vcs_integration_listСписок подключённых учётных записей VCS (GitHub)
aiven_vcs_integration_repository_listСписок репозиториев для интеграции VCS
aiven_vcs_integration_repository_branch_listСписок веток репозитория и их текущих SHA коммитов
aiven_vcs_integration_repository_container_manifest_files_listНайти кандидатов Containerfile, Dockerfile и манифестов Compose
aiven_vcs_integration_repository_scan_container_manifestВывести кандидатов конфигураций сервисов Aiven из Containerfile, Dockerfile или поддерживаемых частей файла Compose

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

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

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

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

Лицензия

Apache-2.0