Aiven

官方

瀏覽您的 Aiven 專案,並與 PostgreSQL®、Apache Kafka®、ClickHouse® 及 OpenSearch® 服務互動

你可以用 Aiven MCP 做什麼?

  • 管理 Aiven 服務 — 請您的助理透過 aiven_service_createaiven_service_updateaiven_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) 伺服器。

直接從 Claude、Cursor 和 VS Code Copilot 等 AI 助理管理 PostgreSQL、Apache Kafka、應用程式及其他 Aiven 服務。

[!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(專案/服務探索)始終隱含包含。

有效範圍:allcorepgkafkaapplicationintegrations。使用 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 客戶(遠端)

如果您透過雲端 Marketplace 訂閱 Aiven,請將您的 marketplace 新增為路徑區段,以便登入使用正確的主控台:

Marketplace路徑區段
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_TOKEN僅 stdio--Aiven API 權杖(在此建立
AIVEN_READ_ONLYfalse設定為 true 以僅暴露唯讀工具
AIVEN_SERVICES_SCOPE--以逗號分隔的範圍以暴露(例如 kafkapg,kafkaall)。有效值:allcorepgkafkaapplicationintegrationscore 始終包含。省略變數或設定 all 會載入每個工具。
AIVEN_ALLOW_SECRETSfalse設定為 true 以暴露 aiven_service_connection_info 工具,該工具會將即時憑證(密碼、連線 URI、憑證)傳回對話中。當 AIVEN_READ_ONLY=true 時停用。
AIVEN_WRITE_ALLOWLIST--以逗號分隔的工具名稱,在 AIVEN_READ_ONLY=true 時重新啟用(例如 aiven_kafka_topic_create)。當唯讀模式未啟用時忽略。
MCP_HOSThttps://mcp.aiven.live覆寫 OAuth 受保護資源主機
MCP_TRANSPORTstdio設定為 http 以啟動 HTTP 伺服器而非 stdio
MCP_HTTP_RATE_LIMIT_MAX1000POST /mcp(HTTP 傳輸)上每個視窗的最大請求數,每個 bearer 權杖。用戶端 IP 速率限制預期在 Cloudflare 進行。
MCP_HTTP_RATE_LIMIT_WINDOW_MS60000MCP_HTTP_RATE_LIMIT_MAX 的視窗長度(毫秒)。
EXTRA_PROTECTIONfalse在 HTTP 部署上設定為 true 以要求每個請求(除了 GET /health 之外)都有有效的 X-Edge-Auth 標頭。請參閱下方的 Edge 保護部署
MCP_EDGE_AUTH_SECRETEXTRA_PROTECTION=true--共用密鑰;必須與 Cloudflare 透過 Transform Rules 注入為 X-Edge-Auth 的值相符。

在遠端(HTTP)模式下,不需要 AIVEN_TOKEN。您的 MCP 用戶端會將您的權杖作為 Bearer 權杖隨每個請求傳送。

生產 HTTP 流量在兩層進行速率限制:Cloudflare 強制執行每個用戶端 IP 的限制(在 Cloudflare 儀表板中設定),而此伺服器在 POST /mcp 上對每個 bearer 權杖強制執行 MCP_HTTP_RATE_LIMIT_*

Edge 保護部署

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_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_queryAI 驅動的查詢最佳化(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列出儲存庫分支及其目前的 commit SHA
aiven_vcs_integration_repository_container_manifest_files_list尋找候選的 Containerfile、Dockerfile 和 Compose 清單
aiven_vcs_integration_repository_scan_container_manifest從 Containerfile、Dockerfile 或 Compose 檔案的支援部分推導候選的 Aiven 服務設定

文件

工具說明
aiven_docs_search以自然語言搜尋官方 Aiven 文件。僅在託管伺服器(https://mcp.aiven.live/mcp)上可用 -- 不會在自架部署中暴露。

貢獻

請參閱 CONTRIBUTING.md 了解開發設定、本機執行以及新增工具。

授權

Apache-2.0