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