Aiven

официальный

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

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

  • Управление сервисами Aiven — Попросите ассистента перечислить, создать, обновить или удалить сервисы с помощью aiven_service_create, aiven_service_update и aiven_service_list.
  • Работа с темами Kafka — Попросите ассистента создавать, читать или отправлять сообщения в темы, используя aiven_kafka_topic_create и aiven_kafka_topic_message_produce.
  • Выполнение запросов PostgreSQL — Позвольте ассистенту выполнять SQL-операторы только для чтения или записи с помощью aiven_pg_read и aiven_pg_write, или оптимизировать запросы через aiven_pg_optimize_query.
  • Управление коннекторами Kafka — Попросите ассистента создавать, приостанавливать, возобновлять или удалять коннекторы с помощью aiven_kafka_connect_create_connector и связанных инструментов.
  • Развертывание приложений — Попросите ассистента создавать или повторно развертывать приложения из репозитория с помощью aiven_application_create и aiven_application_redeploy.
  • Поиск в документации 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

Или добавьте вручную в настройки 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. Используйте 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 через облачный маркетплейс, добавьте свой маркетплейс как сегмент пути, чтобы вход в систему использовал правильную консоль:

МаркетплейсСегмент пути
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. 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-транспорт), на токен 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_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_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