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