Aiven

oficial

Navega por tus proyectos de Aiven e interactúa con los servicios de PostgreSQL®, Apache Kafka®, ClickHouse® y OpenSearch®

¿Qué puedes hacer con Aiven MCP?

  • Gestionar servicios de Aiven — Pídele a tu asistente que liste, cree, actualice o elimine servicios mediante aiven_service_create, aiven_service_update y aiven_service_list.
  • Trabajar con temas de Kafka — Haz que tu asistente cree, lea o produzca mensajes en temas usando aiven_kafka_topic_create y aiven_kafka_topic_message_produce.
  • Ejecutar consultas de PostgreSQL — Permite que tu asistente ejecute sentencias SQL de solo lectura o escritura con aiven_pg_read y aiven_pg_write, u optimice consultas mediante aiven_pg_optimize_query.
  • Gestionar conectores de Kafka — Pídele a tu asistente que cree, pause, reanude o elimine conectores usando aiven_kafka_connect_create_connector y herramientas relacionadas.
  • Desplegar aplicaciones — Haz que tu asistente cree o vuelva a desplegar aplicaciones desde un repositorio con aiven_application_create y aiven_application_redeploy.
  • Buscar documentación de Aiven — Pídele a tu asistente que encuentre respuestas en la documentación oficial usando aiven_docs_search (solo servidor alojado).

Documentación

Servidor MCP de Aiven

Un servidor de Model Context Protocol (MCP) para la plataforma de datos en la nube de Aiven.

Gestiona PostgreSQL, Apache Kafka, aplicaciones y otros servicios de Aiven directamente desde asistentes de IA como Claude, Cursor y VS Code Copilot.

[!WARNING] Úsalo con cuidado. Este servidor MCP puede crear, modificar y eliminar servicios y datos de Aiven en tu nombre. Los agentes de IA pueden ejecutar acciones destructivas (eliminar bases de datos, borrar servicios, producir mensajes) basándose en su interpretación de tus indicaciones. Eres totalmente responsable de las acciones realizadas a través de esta herramienta.

Permisos: El acceso está gobernado por los permisos de usuario de Aiven asociados con la cuenta autenticada. El servidor MCP solo puede realizar acciones que tu usuario de Aiven tenga permitido hacer.

Seguridad del agente de IA: Los agentes de IA pueden necesitar credenciales de acceso (cadenas de conexión a bases de datos, tokens de streaming) para actuar en tu nombre. Revisa lo que tu agente está haciendo, especialmente en entornos de producción. Sigue las políticas de seguridad de tu organización y realiza una evaluación de riesgos antes de dar acceso a agentes de IA a recursos sensibles.

Inicio rápido

Opción 1: Remoto (alojado por Aiven)

El servidor MCP está alojado en https://mcp.aiven.live/mcp. Tu cliente MCP te pedirá que te autorices en Aiven.

Claude Code

claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"

Cursor

Install MCP Server

O agrégalo manualmente a la configuración de MCP de Cursor:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}

VS Code / Copilot

Agrégalo a .vscode/mcp.json en tu espacio de trabajo:

{
  "servers": {
    "aiven-mcp": {
      "type": "http",
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}

Modo de solo lectura (remoto)

Habilita el modo de solo lectura agregando ?read_only=true a la URL. Todas las operaciones de escritura se excluirán del MCP:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?read_only=true"
    }
  }
}

Herramientas con alcance limitado (remoto)

Reduce la superficie de herramientas expuesta a tu agente de IA agregando ?services_scope= a la URL. Es útil cuando solo trabajas con un subconjunto de servicios de Aiven y quieres mantener el contexto del agente enfocado. Combina valores con comas. core (descubrimiento de proyectos/servicios) siempre se incluye implícitamente.

Ámbitos válidos: all, core, pg, kafka, application, integrations. Usa all para cargar explícitamente todas las herramientas (igual que omitir el parámetro). all no se puede combinar con otros ámbitos.

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?services_scope=kafka"
    }
  }
}

También puedes combinarlo con read_only:

https://mcp.aiven.live/mcp?services_scope=pg&read_only=true

Excepciones de escritura en modo de solo lectura (remoto)

Cuando read_only=true, agrega ?write_allowlist= para volver a habilitar herramientas de escritura específicas mientras mantienes todo lo demás en solo lectura. Es útil cuando quieres acceso mayormente de lectura pero aún necesitas permitir una acción de escritura, por ejemplo crear temas de Kafka. Combina varios nombres de herramientas con comas. Se ignora cuando read_only no está habilitado.

https://mcp.aiven.live/mcp?read_only=true&write_allowlist=aiven_kafka_topic_create

Clientes de marketplace (remoto)

Si te suscribiste a Aiven a través de un marketplace en la nube, agrega tu marketplace como un segmento de ruta para que el inicio de sesión use la consola correcta:

MarketplaceSegmento de ruta
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>"
    }
  }
}

El segmento de ruta se combina con los parámetros de consulta anteriores, por ejemplo https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true.

Opción 2: stdio (local)

Ejecuta el servidor localmente como un proceso hijo de tu cliente MCP. Requiere Node.js 18+.

Debes proporcionar tu token de API de Aiven mediante la variable de entorno AIVEN_TOKEN. Crea un token aquí.

Claude Code

claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven

Cursor, VS Code — agrégalo a la configuración de tu cliente MCP:

{
  "mcpServers": {
    "aiven-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-aiven"],
      "env": {
        "AIVEN_TOKEN": "your-token-here"
      }
    }
  }
}

Ubicaciones de archivos de configuración:

  • Cursor: Configuración de Cursor > Servidores MCP
  • VS Code: .vscode/mcp.json en tu espacio de trabajo

Opción 3: Desarrollo local

Ejecuta una compilación local del servidor (útil para desarrollo y pruebas):

pnpm install && pnpm generate:api-types && pnpm generate && pnpm build && AIVEN_TOKEN="<YOUR_TOKEN>" MCP_TRANSPORT="http" PORT=3000 node dist/index.js

El servidor escucha en el puerto 3000 por defecto. Conecta tu cliente MCP a http://localhost:3000/mcp.

Para apuntar una implementación remota a un host personalizado (por ejemplo, tu compilación local), establece MCP_HOST:

MCP_HOST=http://localhost:3000 node dist/index.js

Variables de entorno

VariableRequeridaPredeterminadoDescripción
AIVEN_TOKENsolo stdio--Token de API de Aiven (crea uno aquí)
AIVEN_READ_ONLYNofalseEstablécelo en true para exponer solo herramientas de solo lectura
AIVEN_SERVICES_SCOPENo--Ámbitos separados por comas para exponer (por ejemplo, kafka, pg,kafka o all). Válidos: all, core, pg, kafka, application, integrations. core siempre se incluye. Omitir la variable o establecer all carga todas las herramientas.
AIVEN_ALLOW_SECRETSNofalseEstablécelo en true para exponer la herramienta aiven_service_connection_info, que devuelve credenciales en vivo (contraseñas, URI de conexión, certificados) a la conversación. Deshabilitada mientras AIVEN_READ_ONLY=true.
AIVEN_WRITE_ALLOWLISTNo--Nombres de herramientas separados por comas para volver a habilitar mientras AIVEN_READ_ONLY=true (por ejemplo, aiven_kafka_topic_create). Se ignora cuando el modo de solo lectura no está habilitado.
MCP_HOSTNohttps://mcp.aiven.liveAnula el host del recurso protegido de OAuth
MCP_TRANSPORTNostdioEstablécelo en http para iniciar un servidor HTTP en lugar de stdio
MCP_HTTP_RATE_LIMIT_MAXNo1000Máximo de solicitudes por ventana en POST /mcp (transporte HTTP), por token de portador. Se espera limitación de velocidad por IP de cliente en Cloudflare.
MCP_HTTP_RATE_LIMIT_WINDOW_MSNo60000Duración de la ventana en milisegundos para MCP_HTTP_RATE_LIMIT_MAX.
EXTRA_PROTECTIONNofalseEstablécelo en true en implementaciones HTTP para requerir un encabezado X-Edge-Auth válido en cada solicitud excepto GET /health. Consulta Implementación de protección de borde a continuación.
MCP_EDGE_AUTH_SECRETCuando EXTRA_PROTECTION=true--Secreto compartido; debe coincidir con el valor que Cloudflare inyecta como X-Edge-Auth mediante reglas de transformación.

En modo remoto (HTTP), AIVEN_TOKEN no es necesario. Tu cliente MCP envía tu token como un token de portador con cada solicitud.

El tráfico HTTP de producción está limitado en dos capas: Cloudflare aplica un límite por IP de cliente (configurado en el panel de Cloudflare), y este servidor aplica MCP_HTTP_RATE_LIMIT_* por token de portador en POST /mcp.

Implementación de protección de borde

Cuando EXTRA_PROTECTION=true, cualquier discrepancia entre MCP_EDGE_AUTH_SECRET y el valor que Cloudflare inyecta como X-Edge-Auth hace que cada solicitud devuelva 403 (excepto GET /health). Ambos valores son entorno/configuración en lados opuestos de la conexión, por lo que la única vía de recuperación es corregir el secreto y volver a implementar o actualizar Cloudflare.

Habilítalo en este orden:

  1. Regla de transformación de Cloudflare — Agrega una regla que establezca X-Edge-Auth (y, si se usa para herramientas de PG, X-Client-IP) en el tráfico hacia el origen de MCP. Anota el valor del secreto que configures.
  2. MCP_EDGE_AUTH_SECRET — Implementa el servidor con esta variable de entorno establecida al mismo secreto que la regla de transformación. Deja EXTRA_PROTECTION sin establecer o en false por ahora; verifica que el origen aún acepte tráfico.
  3. EXTRA_PROTECTION=true — Habilítalo solo después de que los pasos 1–2 estén activos y coincidan. Confirma que una solicitud MCP normal tenga éxito y que el acceso directo al origen sin X-Edge-Auth sea rechazado.
  4. Rotación de secretos — Actualiza Cloudflare y MCP_EDGE_AUTH_SECRET juntos (o establece brevemente EXTRA_PROTECTION=false), vuelve a implementar y luego vuelve a habilitar. Nunca rote un solo lado mientras la bandera esté activa.

Si EXTRA_PROTECTION=true al inicio y MCP_EDGE_AUTH_SECRET falta, el proceso sale inmediatamente con un error.

Mientras continúen los rechazos, el servidor registra una advertencia de configuración incorrecta como máximo una vez cada 15 minutos (se restablece después de una solicitud con X-Edge-Auth válido), por lo que una discrepancia de secreto es visible en los registros sin una línea por solicitud rechazada.

Herramientas

Núcleo

HerramientaDescripción
aiven_project_listListar proyectos
aiven_project_getObtener detalles del proyecto
aiven_list_project_cloudsListar plataformas en la nube para un proyecto
aiven_project_vpc_listListar VPC para un proyecto
aiven_service_listListar servicios
aiven_service_type_plansListar planes con disponibilidad en la nube
aiven_service_plan_pricingObtener precios para un plan en una nube específica
aiven_service_createCrear un servicio
aiven_service_getObtener información del servicio
aiven_service_updateActualizar un servicio (plan, configuración, estado de energía)
aiven_service_metrics_fetchObtener métricas para servicios de datos gestionados
aiven_service_application_metrics_getObtener métricas para servicios de aplicaciones
aiven_project_get_service_logsObtener entradas de registro del servicio
aiven_service_query_activityObtener consultas actuales para un servicio
aiven_project_get_event_logsObtener entradas del registro de eventos del proyecto

Kafka

HerramientaDescripción
aiven_kafka_topic_listListar temas de Kafka
aiven_kafka_topic_createCrear un tema de Kafka
aiven_kafka_topic_getObtener información del tema de Kafka
aiven_kafka_topic_updateActualizar un tema de Kafka
aiven_kafka_topic_deleteEliminar un tema de Kafka
aiven_kafka_topic_message_listLeer mensajes de un tema de Kafka
aiven_kafka_topic_message_produceProducir mensajes en un tema de Kafka
aiven_kafka_connect_available_connectorsListar tipos de conectores disponibles
aiven_kafka_connect_listListar conectores en ejecución
aiven_kafka_connect_create_connectorCrear un conector
aiven_kafka_connect_edit_connectorEditar un conector
aiven_kafka_connect_get_connector_statusObtener estado del conector
aiven_kafka_connect_pause_connectorPausar un conector
aiven_kafka_connect_resume_connectorReanudar un conector
aiven_kafka_connect_restart_connectorReiniciar un conector
aiven_kafka_connect_delete_connectorEliminar un conector
aiven_kafka_schema_registry_subjectsListar sujetos del Registro de Esquemas
aiven_kafka_schema_registry_subject_version_getObtener versión del sujeto del Registro de Esquemas

PostgreSQL

HerramientaDescripción
aiven_pg_service_available_extensionsListar extensiones disponibles
aiven_pg_service_query_statisticsObtener estadísticas de consultas
aiven_pg_bouncer_createCrear un grupo de conexiones de PgBouncer
aiven_pg_bouncer_updateActualizar un grupo de conexiones de PgBouncer
aiven_pg_bouncer_deleteEliminar un grupo de conexiones de PgBouncer
aiven_pg_readEjecutar una consulta SQL de solo lectura
aiven_pg_writeEjecutar una declaración SQL de escritura (INSERT, UPDATE, DELETE, CREATE TABLE, etc.)
aiven_pg_optimize_queryOptimización de consultas impulsada por IA (EverSQL)

Aplicaciones

HerramientaDescripción
aiven_application_createCrear e implementar inicialmente una aplicación Containerfile/Dockerfile; devuelve 409 si el servicio ya existe
aiven_application_redeployReconstruir una aplicación existente desde su repositorio configurado sin cambiar la configuración del servicio
aiven_vcs_integration_listListar cuentas de VCS conectadas (GitHub)
aiven_vcs_integration_repository_listListar repositorios para una integración de VCS
aiven_vcs_integration_repository_branch_listListar ramas del repositorio y sus SHAs de confirmación actuales
aiven_vcs_integration_repository_container_manifest_files_listEncontrar manifiestos candidatos de Containerfile, Dockerfile y Compose
aiven_vcs_integration_repository_scan_container_manifestDerivar configuraciones candidatas de servicios de Aiven a partir de un Containerfile, Dockerfile o partes compatibles de un archivo Compose

Documentación

HerramientaDescripción
aiven_docs_searchBuscar la documentación oficial de Aiven en lenguaje natural. Solo disponible en el servidor alojado (https://mcp.aiven.live/mcp) — no se expone en implementaciones autohospedadas.

Contribuciones

Consulta CONTRIBUTING.md para la configuración de desarrollo, ejecución local y adición de nuevas herramientas.

Licencia

Apache-2.0