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
Или добавьте вручную в настройки 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 Marketplace | https://mcp.aiven.live/mcp/aws |
| Azure Marketplace | https://mcp.aiven.live/mcp/azure |
| Google Cloud Marketplace | https://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.
Включайте в этом порядке:
- Cloudflare Transform Rule — Добавьте правило, которое устанавливает
X-Edge-Auth(и, если используется для инструментов PG,X-Client-IP) для трафика к источнику MCP. Запишите значение секрета, которое вы настраиваете. MCP_EDGE_AUTH_SECRET— Разверните сервер с этой переменной окружения, установленной в тот же секрет, что и в Transform Rule. Пока оставьтеEXTRA_PROTECTIONнеустановленной илиfalse; убедитесь, что источник по-прежнему принимает трафик.EXTRA_PROTECTION=true— Включайте только после того, как шаги 1–2 работают и совпадают. Убедитесь, что обычный MCP-запрос выполняется успешно, а прямой доступ к источнику безX-Edge-Authотклоняется.- Ротация секрета — Обновляйте 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 для настройки разработки, локального запуска и добавления новых инструментов.