Aiven

공식

Aiven 프로젝트를 탐색하고 PostgreSQL®, Apache Kafka®, ClickHouse® 및 OpenSearch® 서비스와 상호작용하세요.

Aiven MCP(으)로 무엇을 할 수 있나요?

  • Aiven 서비스 관리 — 어시스턴트에게 aiven_service_create, aiven_service_update, aiven_service_list를 통해 서비스를 나열, 생성, 업데이트 또는 삭제하도록 요청하세요.
  • Kafka 토픽 작업 — 어시스턴트가 aiven_kafka_topic_createaiven_kafka_topic_message_produce를 사용하여 토픽을 생성, 읽거나 메시지를 생성하도록 하세요.
  • PostgreSQL 쿼리 실행 — 어시스턴트가 aiven_pg_readaiven_pg_write로 읽기 전용 또는 쓰기 SQL 문을 실행하거나, aiven_pg_optimize_query로 쿼리를 최적화하도록 하세요.
  • Kafka 커넥터 관리 — 어시스턴트에게 aiven_kafka_connect_create_connector 및 관련 도구를 사용하여 커넥터를 생성, 일시 중지, 재개 또는 삭제하도록 요청하세요.
  • 애플리케이션 배포 — 어시스턴트가 aiven_application_createaiven_application_redeploy로 저장소에서 애플리케이션을 생성하거나 재배포하도록 하세요.
  • Aiven 문서 검색 — 어시스턴트에게 aiven_docs_search(호스팅 서버 전용)를 사용하여 공식 문서에서 답변을 찾도록 요청하세요.

문서

Aiven MCP 서버

Aiven 클라우드 데이터 플랫폼을 위한 Model Context Protocol(MCP) 서버입니다.

PostgreSQL, Apache Kafka, 애플리케이션 및 기타 Aiven 서비스를 Claude, Cursor, VS Code Copilot과 같은 AI 어시스턴트에서 직접 관리하세요.

[!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

Install MCP Server

또는 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"
    }
  }
}

읽기 전용 모드(원격)

URL에 ?read_only=true을 추가하여 읽기 전용 모드를 활성화하세요. 모든 쓰기 작업은 MCP에서 제외됩니다:

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

범위 제한 도구(원격)

URL에 ?services_scope=을 추가하여 AI 에이전트에 노출되는 도구 표면을 줄이세요. 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

마켓플레이스 고객(원격)

클라우드 마켓플레이스를 통해 Aiven을 구독한 경우 올바른 콘솔에서 로그인할 수 있도록 마켓플레이스를 경로 세그먼트로 추가하세요:

마켓플레이스경로 세그먼트
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>"
    }
  }
}

경로 세그먼트는 위의 쿼리 매개변수와 결합됩니다(예: https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true).

옵션 2: stdio(로컬)

MCP 클라이언트의 하위 프로세스로 서버를 로컬에서 실행하세요. Node.js 18+가 필요합니다.

AIVEN_TOKEN 환경 변수를 통해 Aiven API 토큰을 제공해야 합니다. 여기에서 토큰 생성.

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 서버
  • 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_TOKENstdio 전용--Aiven API 토큰(여기에서 생성)
AIVEN_READ_ONLY아니요falsetrue으로 설정하면 읽기 전용 도구만 노출
AIVEN_SERVICES_SCOPE아니요--노출할 쉼표로 구분된 범위(예: kafka, pg,kafka, 또는 all). 유효: all, core, pg, kafka, application, integrations. core은 항상 포함됩니다. 변수를 생략하거나 all으로 설정하면 모든 도구가 로드됩니다.
AIVEN_ALLOW_SECRETS아니요falsetrue으로 설정하면 대화에 실시간 자격 증명(비밀번호, 연결 URI, 인증서)을 반환하는 aiven_service_connection_info 도구가 노출됩니다. AIVEN_READ_ONLY=true 동안 비활성화됩니다.
AIVEN_WRITE_ALLOWLIST아니요--AIVEN_READ_ONLY=true 동안 다시 활성화할 쉼표로 구분된 도구 이름(예: aiven_kafka_topic_create). 읽기 전용 모드가 활성화되지 않은 경우 무시됩니다.
MCP_HOST아니요https://mcp.aiven.liveOAuth 보호 리소스 호스트 재정의
MCP_TRANSPORT아니요stdiohttp으로 설정하면 stdio 대신 HTTP 서버 시작
MCP_HTTP_RATE_LIMIT_MAX아니요1000POST /mcp(HTTP 전송)에서 베어러 토큰당 최대 요청 수. 클라이언트 IP 속도 제한은 Cloudflare에서 예상됩니다.
MCP_HTTP_RATE_LIMIT_WINDOW_MS아니요60000MCP_HTTP_RATE_LIMIT_MAX의 창 길이(밀리초).
EXTRA_PROTECTION아니요falseHTTP 배포에서 true으로 설정하면 GET /health을 제외한 모든 요청에 유효한 X-Edge-Auth 헤더가 필요합니다. 아래 엣지 보호 롤아웃을 참조하세요.
MCP_EDGE_AUTH_SECRETEXTRA_PROTECTION=true일 때--공유 비밀. Cloudflare가 Transform Rules를 통해 X-Edge-Auth으로 주입하는 값과 일치해야 합니다.

원격(HTTP) 모드에서는 AIVEN_TOKEN이 필요하지 않습니다. MCP 클라이언트가 각 요청과 함께 토큰을 Bearer 토큰으로 전송합니다.

프로덕션 HTTP 트래픽은 두 계층에서 속도가 제한됩니다: Cloudflare는 클라이언트 IP당 제한(Cloudflare 대시보드에서 구성)을 적용하고, 이 서버는 POST /mcp에서 베어러 토큰당 MCP_HTTP_RATE_LIMIT_*을 적용합니다.

엣지 보호 롤아웃

EXTRA_PROTECTION=true일 때 MCP_EDGE_AUTH_SECRET과 Cloudflare가 X-Edge-Auth으로 주입하는 값 사이에 불일치가 있으면 모든 요청이 403을 반환합니다(GET /health 제외). 두 값 모두 와이어 반대편의 환경/구성이므로 유일한 복구 방법은 비밀을 수정하고 재배포하거나 Cloudflare를 업데이트하는 것입니다.

다음 순서로 활성화:

  1. Cloudflare Transform Rule — MCP 오리진으로의 트래픽에 X-Edge-Auth(및 PG 도구에 사용되는 경우 X-Client-IP)을 설정하는 규칙을 추가하세요. 구성한 비밀 값을 기록하세요.
  2. MCP_EDGE_AUTH_SECRET — 이 환경 변수를 Transform Rule과 동일한 비밀로 설정하여 서버를 배포하세요. 지금은 EXTRA_PROTECTION을 설정하지 않거나 false으로 두세요. 오리진이 여전히 트래픽을 수락하는지 확인하세요.
  3. EXTRA_PROTECTION=true — 1-2단계가 적용되고 일치한 후에만 활성화하세요. 일반 MCP 요청이 성공하고 X-Edge-Auth 없이 직접 오리진 액세스가 거부되는지 확인하세요.
  4. 비밀 회전 — 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_listKafka 토픽 목록
aiven_kafka_topic_createKafka 토픽 생성
aiven_kafka_topic_getKafka 토픽 정보 가져오기
aiven_kafka_topic_updateKafka 토픽 업데이트
aiven_kafka_topic_deleteKafka 토픽 삭제
aiven_kafka_topic_message_listKafka 토픽에서 메시지 읽기
aiven_kafka_topic_message_produceKafka 토픽에 메시지 생성
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_subjectsSchema Registry 주제 목록
aiven_kafka_schema_registry_subject_version_getSchema Registry 주제 버전 가져오기

PostgreSQL

도구설명
aiven_pg_service_available_extensions사용 가능한 확장 목록
aiven_pg_service_query_statistics쿼리 통계 가져오기
aiven_pg_bouncer_createPgBouncer 연결 풀 생성
aiven_pg_bouncer_updatePgBouncer 연결 풀 업데이트
aiven_pg_bouncer_deletePgBouncer 연결 풀 삭제
aiven_pg_read읽기 전용 SQL 쿼리 실행
aiven_pg_write쓰기 SQL 문 실행(INSERT, UPDATE, DELETE, CREATE TABLE 등)
aiven_pg_optimize_queryAI 기반 쿼리 최적화(EverSQL)

애플리케이션

도구설명
aiven_application_createContainerfile/Dockerfile 애플리케이션 생성 및 초기 배포. 서비스가 이미 존재하면 409를 반환합니다.
aiven_application_redeploy서비스 구성을 변경하지 않고 구성된 리포지토리에서 기존 애플리케이션 재빌드
aiven_vcs_integration_list연결된 VCS(GitHub) 계정 목록
aiven_vcs_integration_repository_listVCS 통합의 리포지토리 목록
aiven_vcs_integration_repository_branch_list리포지토리 브랜치 및 현재 커밋 SHA 목록
aiven_vcs_integration_repository_container_manifest_files_list후보 Containerfile, Dockerfile 및 Compose 매니페스트 찾기
aiven_vcs_integration_repository_scan_container_manifestContainerfile, Dockerfile 또는 Compose 파일의 지원되는 부분에서 후보 Aiven 서비스 구성 도출

문서

도구설명
aiven_docs_search자연어로 공식 Aiven 문서 검색. 호스팅 서버(https://mcp.aiven.live/mcp)에서만 사용 가능 — 자체 호스팅 배포에서는 노출되지 않습니다.

기여

개발 설정, 로컬 실행 및 새 도구 추가에 대한 자세한 내용은 CONTRIBUTING.md를 참조하세요.

라이선스

Apache-2.0