# Aiven MCP

Connects an AI assistant to Aiven services such as PostgreSQL, Apache Kafka, and applications. Use it to inspect or manage resources from chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 28
- Author: Aiven-Open
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Aiven-Open/mcp-aiven
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/aiven-mcp

## What it does

Aiven MCP lets an AI assistant operate on services in the Aiven cloud platform. It covers PostgreSQL, Apache Kafka, applications, and service discovery, with actions limited by the permissions of the authenticated Aiven account. The server can create, change, or remove services and data.

You can use Aiven’s hosted endpoint at `https://mcp.aiven.live/mcp`, or run the server locally with `npx -y mcp-aiven`. The local stdio setup needs Node.js 18+ and an Aiven API token in `AIVEN_TOKEN`. Without that variable, the local server will not start.

The hosted mode can expose read-only tools, restrict tools by `services_scope`, and allow selected write operations through an allowlist. It can also return live service credentials when secret access is enabled, so review agent actions before using it with sensitive resources.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}`
- Environment variables: `AIVEN_TOKEN`, `AIVEN_READ_ONLY`, `AIVEN_SERVICES_SCOPE`, `AIVEN_ALLOW_SECRETS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add --env AIVEN_TOKEN=<AIVEN_TOKEN> --env AIVEN_READ_ONLY=<AIVEN_READ_ONLY> --env AIVEN_SERVICES_SCOPE=<AIVEN_SERVICES_SCOPE> --env AIVEN_ALLOW_SECRETS=<AIVEN_ALLOW_SECRETS> --transport stdio aiven-mcp -- npx -y mcp-aiven
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http mcp 'https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}'
```

### Codex

1. **Platform CLI**
```bash
codex mcp add aiven-mcp --env AIVEN_TOKEN=<AIVEN_TOKEN> --env AIVEN_READ_ONLY=<AIVEN_READ_ONLY> --env AIVEN_SERVICES_SCOPE=<AIVEN_SERVICES_SCOPE> --env AIVEN_ALLOW_SECRETS=<AIVEN_ALLOW_SECRETS> -- npx -y mcp-aiven
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
codex mcp add aiven-mcp --url 'https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}'
```

### Cursor

1. **Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "aiven-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-aiven"
            ],
            "env": {
                "AIVEN_TOKEN": "<AIVEN_TOKEN>",
                "AIVEN_READ_ONLY": "<AIVEN_READ_ONLY>",
                "AIVEN_SERVICES_SCOPE": "<AIVEN_SERVICES_SCOPE>",
                "AIVEN_ALLOW_SECRETS": "<AIVEN_ALLOW_SECRETS>"
            }
        }
    }
}
```
Replace <…> with your own values

2. **Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "aiven-mcp": {
            "url": "https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}"
        }
    }
}
```

### GitHub Copilot

1. **Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "aiven-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mcp-aiven"
            ],
            "env": {
                "AIVEN_TOKEN": "<AIVEN_TOKEN>",
                "AIVEN_READ_ONLY": "<AIVEN_READ_ONLY>",
                "AIVEN_SERVICES_SCOPE": "<AIVEN_SERVICES_SCOPE>",
                "AIVEN_ALLOW_SECRETS": "<AIVEN_ALLOW_SECRETS>"
            }
        }
    }
}
```
Replace <…> with your own values

2. **Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "aiven-mcp": {
            "type": "http",
            "url": "https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}"
        }
    }
}
```

### Gemini CLI

1. **Platform CLI**
```bash
gemini mcp add -e AIVEN_TOKEN=<AIVEN_TOKEN> -e AIVEN_READ_ONLY=<AIVEN_READ_ONLY> -e AIVEN_SERVICES_SCOPE=<AIVEN_SERVICES_SCOPE> -e AIVEN_ALLOW_SECRETS=<AIVEN_ALLOW_SECRETS> aiven-mcp npx -y mcp-aiven
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
gemini mcp add -t http aiven-mcp 'https://mcp.aiven.live/mcp?read_only={read_only}&services_scope={services_scope}&allow_secrets={allow_secrets}'
```

## When to use it
- provision a PostgreSQL service in Aiven
- manage Apache Kafka topics
- deploy applications through Aiven
- inspect Aiven projects and services
- limit an agent to selected write actions

## Example prompts
- Create a PostgreSQL service in my Aiven project and show its connection details.
- List the Apache Kafka topics in this service and create a new topic.
- Use read-only mode and show the Aiven services available to me.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
