Aiven
官方瀏覽您的 Aiven 專案,並與 PostgreSQL®、Apache Kafka®、ClickHouse® 及 OpenSearch® 服務互動
你可以用 Aiven MCP 做什麼?
- 管理 Aiven 服務 — 在您的專案中列出、建立、更新 PostgreSQL、Kafka 及其他 Aiven 服務,或取得其詳細資訊或指標。
- 使用 Kafka — 列出、建立、更新及刪除主題,讀取或產生訊息,並管理 Kafka Connect 連接器與 Schema Registry 主體。
- 執行 PostgreSQL 查詢 — 執行唯讀 SQL 查詢或寫入陳述式,取得查詢統計資料,並管理 PgBouncer 連線集區。
- 部署應用程式 — 建立及重新部署 Containerfile/Dockerfile 應用程式,並透過 VCS 整合連接 GitHub 儲存庫。
- 搜尋 Aiven 文件 — 以自然語言搜尋官方 Aiven 文件(僅限託管伺服器)。
- 限制存取 — 啟用唯讀模式、將工具範圍限定於特定服務類型,或將個別寫入工具加入允許清單。
文件
Aiven MCP Server
一個用於 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
或手動新增至 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、opensearch。使用 all 可明確載入所有工具(等同於省略該參數)。all 無法與其他範圍合併使用。opensearch 遵循與 kafka 或 pg 相同的規則(核心加上 OpenSearch 類別工具);目前尚無 OpenSearch 專屬工具,因此它目前僅暴露核心工具。
{
"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 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+。
您必須透過 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 Settings > 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 | -- | Aiven API 權杖(在此建立) |
AIVEN_READ_ONLY | 否 | false | 設為 true 以僅暴露唯讀工具 |
AIVEN_SERVICES_SCOPE | 否 | -- | 以逗號分隔的範圍,用以暴露(例如 kafka、pg,kafka 或 all)。有效值:all、core、pg、kafka、application、integrations、opensearch。對於限定範圍的服務類型,core 會隱含包含。opensearch 尚無專屬工具(在新增 OpenSearch 工具之前僅有核心工具)。省略此變數或設為 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 傳輸)上,每個 bearer 權杖於每個時間窗內的最大請求數。用戶端 IP 速率限制預期在 Cloudflare 層執行。 |
MCP_HTTP_RATE_LIMIT_WINDOW_MS | 否 | 60000 | MCP_HTTP_RATE_LIMIT_MAX 的時間窗長度(毫秒)。 |
EXTRA_PROTECTION | 否 | false | 在 HTTP 部署上設為 true,以要求每個請求(GET /health 除外)都帶有有效的 X-Edge-Auth 標頭。請參閱下方的邊緣保護推出。 |
MCP_EDGE_AUTH_SECRET | 當 EXTRA_PROTECTION=true 時 | -- | 共用密鑰;必須與 Cloudflare 透過 Transform Rules 注入的 X-Edge-Auth 值相符。 |
在遠端(HTTP)模式下,不需要 AIVEN_TOKEN。您的 MCP 用戶端會在每個請求中將您的權杖作為 Bearer 權杖傳送。
正式環境的 HTTP 流量會在兩層進行速率限制:Cloudflare 會強制執行每個用戶端 IP 的限制(在 Cloudflare 儀表板中設定),而此伺服器會在 POST /mcp 上對每個 bearer 權杖強制執行 MCP_HTTP_RATE_LIMIT_*。
邊緣保護推出
當 EXTRA_PROTECTION=true 時,MCP_EDGE_AUTH_SECRET 與 Cloudflare 注入的 X-Edge-Auth 值之間的任何不符,都會導致每個請求傳回 403(GET /health 除外)。這兩個值分別是連線兩端的環境/設定,因此唯一的復原途徑是修正密鑰並重新部署,或更新 Cloudflare。
請依此順序啟用:
- Cloudflare Transform Rule — 新增一條規則,對前往 MCP 來源的流量設定
X-Edge-Auth(若用於 PG 工具,另設定X-Client-IP)。記下您所設定的密鑰值。 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_type_get | 取得服務類型的預設與可用引擎版本 |
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_create | 建立並初始部署 Containerfile/Dockerfile 應用程式;若服務已存在則傳回 409 |
aiven_application_redeploy | 從其設定的儲存庫重建現有應用程式,而不變更服務設定 |
aiven_vcs_integration_initialize | 啟動以瀏覽器為基礎的流程以連接 GitHub 帳戶 |
aiven_vcs_integration_list | 列出已連接的 VCS(GitHub)帳戶 |
aiven_vcs_integration_repository_list | 列出 VCS 整合的儲存庫 |
aiven_vcs_integration_repository_branch_list | 列出儲存庫分支及其目前的提交 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 以了解開發環境設定、在本機執行及新增工具。