Aiven
chính thứcĐiều hướng các dự án Aiven của bạn và tương tác với các dịch vụ PostgreSQL®, Apache Kafka®, ClickHouse® và OpenSearch®
Bạn có thể làm gì với Aiven MCP?
- Duyệt và kiểm tra dịch vụ — Liệt kê dự án, dịch vụ, gói, đám mây, VPC và thông tin chi tiết về dịch vụ trên tài khoản Aiven của bạn.
- Quản lý Kafka — Liệt kê, tạo, cập nhật và xóa chủ đề, đọc hoặc tạo thông điệp, đồng thời quản lý trình kết nối và các chủ đề trong Schema Registry.
- Truy vấn PostgreSQL — Chạy câu lệnh SQL chỉ đọc hoặc ghi, xem thống kê truy vấn và các tiện ích mở rộng hiện có, đồng thời quản lý các nhóm PgBouncer.
- Triển khai ứng dụng — Tạo và triển khai lại ứng dụng Containerfile/Dockerfile, xác minh tên miền tùy chỉnh và kết nối kho lưu trữ GitHub.
- Kiểm tra chỉ số và nhật ký — Lấy chỉ số dịch vụ, hoạt động truy vấn, nhật ký dịch vụ và nhật ký sự kiện dự án.
- Tìm kiếm tài liệu Aiven — Tìm kiếm tài liệu chính thức của Aiven bằng ngôn ngữ tự nhiên (chỉ trên máy chủ được lưu trữ).
Tài liệu
Aiven MCP Server
Máy chủ Model Context Protocol (MCP) dành cho nền tảng dữ liệu đám mây Aiven.
Quản lý PostgreSQL, Apache Kafka, ứng dụng và các dịch vụ Aiven khác trực tiếp từ các trợ lý AI như Claude, Cursor và VS Code Copilot.
[!WARNING] Hãy thận trọng khi sử dụng. Máy chủ MCP này có thể tạo, sửa đổi và xóa các dịch vụ cũng như dữ liệu Aiven thay mặt bạn. Các tác nhân AI có thể thực hiện những hành động phá hoại (xóa cơ sở dữ liệu, xóa dịch vụ, gửi thông điệp) dựa trên cách diễn giải lời nhắc của bạn. Bạn hoàn toàn chịu trách nhiệm về các hành động được thực hiện thông qua công cụ này.
Quyền: Quyền truy cập được quản lý theo quyền của người dùng Aiven gắn với tài khoản đã xác thực. Máy chủ MCP chỉ có thể thực hiện những hành động mà người dùng Aiven của bạn được phép thực hiện.
Bảo mật tác nhân AI: Tác nhân AI có thể cần thông tin xác thực truy cập (chuỗi kết nối cơ sở dữ liệu, mã thông báo truyền dữ liệu) để hành động thay mặt bạn. Hãy xem xét những gì tác nhân đang thực hiện, đặc biệt trong môi trường production. Tuân thủ các chính sách bảo mật của tổ chức và đánh giá rủi ro trước khi cấp cho tác nhân AI quyền truy cập vào tài nguyên nhạy cảm.
Bắt đầu nhanh
Tùy chọn 1: Từ xa (do Aiven lưu trữ)
Máy chủ MCP được lưu trữ tại https://mcp.aiven.live/mcp. Ứng dụng MCP của bạn sẽ yêu cầu bạn cấp quyền trên Aiven.
Claude Code
claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"
Cursor
Hoặc thêm thủ công vào cài đặt MCP của Cursor:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp"
}
}
}
VS Code / Copilot
Thêm vào .vscode/mcp.json trong workspace của bạn:
{
"servers": {
"aiven-mcp": {
"type": "http",
"url": "https://mcp.aiven.live/mcp"
}
}
}
Chế độ chỉ đọc (từ xa)
Bật chế độ chỉ đọc bằng cách thêm ?read_only=true vào URL. Tất cả thao tác ghi sẽ bị loại khỏi MCP:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?read_only=true"
}
}
}
Công cụ theo phạm vi (từ xa)
Thu hẹp tập hợp công cụ mà tác nhân AI của bạn có thể sử dụng bằng cách thêm ?services_scope= vào URL. Tùy chọn này hữu ích khi bạn chỉ làm việc với một nhóm nhỏ dịch vụ Aiven và muốn giữ ngữ cảnh của tác nhân tập trung. Kết hợp các giá trị bằng dấu phẩy. core (khám phá dự án/dịch vụ) luôn được bao gồm ngầm định.
Các phạm vi hợp lệ: all, core, pg, kafka, application, integrations, opensearch. Dùng all để tải rõ ràng mọi công cụ (giống như bỏ qua tham số). Không thể kết hợp all với các phạm vi khác. opensearch tuân theo cùng quy tắc như kafka hoặc pg (công cụ cốt lõi cộng với công cụ thuộc danh mục OpenSearch); hiện chưa có công cụ dành riêng cho OpenSearch, nên phạm vi này hiện chỉ cung cấp các công cụ cốt lõi.
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?services_scope=kafka"
}
}
}
Bạn cũng có thể kết hợp với read_only:
https://mcp.aiven.live/mcp?services_scope=pg&read_only=true
Ngoại lệ ghi trong chế độ chỉ đọc (từ xa)
Khi read_only=true, hãy thêm ?write_allowlist= để bật lại một số công cụ ghi cụ thể trong khi vẫn giữ
mọi thứ khác ở chế độ chỉ đọc. Tùy chọn này hữu ích khi bạn chủ yếu cần quyền chỉ đọc nhưng vẫn muốn cho phép một
thao tác ghi, chẳng hạn như tạo chủ đề Kafka. Kết hợp nhiều tên công cụ bằng dấu phẩy. Bị bỏ qua
khi read_only chưa được bật.
https://mcp.aiven.live/mcp?read_only=true&write_allowlist=aiven_kafka_topic_create
Khách hàng Marketplace (từ xa)
Nếu bạn đăng ký Aiven thông qua một marketplace trên nền tảng đám mây, hãy thêm marketplace của bạn làm một đoạn đường dẫn để quá trình đăng nhập sử dụng đúng bảng điều khiển:
| Marketplace | Đoạn đường dẫn |
|---|---|
| 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>"
}
}
}
Đoạn đường dẫn có thể kết hợp với các tham số truy vấn ở trên, ví dụ https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true.
Tùy chọn 2: stdio (cục bộ)
Chạy máy chủ cục bộ dưới dạng tiến trình con của ứng dụng MCP. Yêu cầu Node.js 18+.
Bạn phải cung cấp mã thông báo API Aiven thông qua biến môi trường AIVEN_TOKEN. Tạo mã thông báo tại đây.
Claude Code
claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven
Cursor, VS Code -- thêm vào cấu hình ứng dụng MCP của bạn:
{
"mcpServers": {
"aiven-mcp": {
"command": "npx",
"args": ["-y", "mcp-aiven"],
"env": {
"AIVEN_TOKEN": "your-token-here"
}
}
}
}
Vị trí tệp cấu hình:
- Cursor: Cursor Settings > MCP Servers
- VS Code:
.vscode/mcp.jsontrong workspace của bạn
Tùy chọn 3: Phát triển cục bộ
Chạy bản dựng cục bộ của máy chủ (hữu ích cho việc phát triển và kiểm thử):
pnpm install && pnpm generate:api-types && pnpm generate && pnpm build && AIVEN_TOKEN="<YOUR_TOKEN>" MCP_TRANSPORT="http" PORT=3000 node dist/index.js
Theo mặc định, máy chủ lắng nghe trên cổng 3000. Kết nối ứng dụng MCP của bạn với http://localhost:3000/mcp.
Để trỏ một bản triển khai từ xa đến máy chủ tùy chỉnh (ví dụ: bản dựng cục bộ của bạn), hãy đặt MCP_HOST:
MCP_HOST=http://localhost:3000 node dist/index.js
Biến môi trường
| Biến | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|
AIVEN_TOKEN | Chỉ stdio | -- | Mã thông báo API Aiven (tạo tại đây) |
AIVEN_READ_ONLY | Không | false | Đặt thành true để chỉ cung cấp các công cụ chỉ đọc |
AIVEN_SERVICES_SCOPE | Không | -- | Các phạm vi cần cung cấp, phân tách bằng dấu phẩy (ví dụ: kafka, pg,kafka hoặc all). Hợp lệ: all, core, pg, kafka, application, integrations, opensearch. core được bao gồm ngầm định cho các loại dịch vụ thuộc phạm vi đã chọn. opensearch chưa có công cụ riêng (chỉ có công cụ cốt lõi cho đến khi bổ sung công cụ OpenSearch). Bỏ qua biến này hoặc đặt thành all sẽ tải mọi công cụ. |
AIVEN_ALLOW_SECRETS | Không | false | Đặt thành true để cung cấp công cụ aiven_service_connection_info, công cụ này đưa thông tin xác thực trực tiếp (mật khẩu, URI kết nối, chứng chỉ) vào cuộc hội thoại. Bị tắt khi AIVEN_READ_ONLY=true. |
AIVEN_WRITE_ALLOWLIST | Không | -- | Các tên công cụ cần bật lại, phân tách bằng dấu phẩy, khi AIVEN_READ_ONLY=true (ví dụ: aiven_kafka_topic_create). Bị bỏ qua khi chế độ chỉ đọc chưa được bật. |
MCP_HOST | Không | https://mcp.aiven.live | Ghi đè máy chủ tài nguyên được bảo vệ bằng OAuth |
MCP_TRANSPORT | Không | stdio | Đặt thành http để khởi chạy máy chủ HTTP thay vì stdio |
MCP_HTTP_RATE_LIMIT_MAX | Không | 1000 | Số yêu cầu tối đa trong mỗi khoảng thời gian trên POST /mcp (truyền tải HTTP), tính theo mã thông báo bearer. Dự kiến Cloudflare sẽ giới hạn tốc độ theo địa chỉ IP của máy khách. |
MCP_HTTP_RATE_LIMIT_WINDOW_MS | Không | 60000 | Độ dài khoảng thời gian tính bằng mili giây cho MCP_HTTP_RATE_LIMIT_MAX. |
EXTRA_PROTECTION | Không | false | Đặt thành true trên các bản triển khai HTTP để yêu cầu tiêu đề X-Edge-Auth hợp lệ trong mọi yêu cầu, ngoại trừ GET /health. Xem phần Triển khai bảo vệ biên bên dưới. |
MCP_EDGE_AUTH_SECRET | Khi EXTRA_PROTECTION=true | -- | Bí mật dùng chung; phải khớp với giá trị Cloudflare chèn vào dưới dạng X-Edge-Auth thông qua Transform Rules. |
Ở chế độ từ xa (HTTP), không cần AIVEN_TOKEN. Ứng dụng MCP của bạn gửi mã thông báo dưới dạng mã thông báo Bearer trong mỗi yêu cầu.
Lưu lượng HTTP production được giới hạn tốc độ qua hai lớp: Cloudflare áp dụng giới hạn theo địa chỉ IP của từng máy khách (được cấu hình trong bảng điều khiển Cloudflare), còn máy chủ này áp dụng MCP_HTTP_RATE_LIMIT_* cho mỗi mã thông báo bearer trên POST /mcp.
Triển khai bảo vệ biên
Khi EXTRA_PROTECTION=true, mọi trường hợp không khớp giữa MCP_EDGE_AUTH_SECRET và giá trị Cloudflare chèn vào dưới dạng X-Edge-Auth sẽ khiến mọi yêu cầu trả về 403 (ngoại trừ GET /health). Hai giá trị này là cấu hình/môi trường ở hai phía khác nhau của kết nối, vì vậy cách duy nhất để khắc phục là sửa bí mật rồi triển khai lại hoặc cập nhật Cloudflare.
Bật theo thứ tự sau:
- Cloudflare Transform Rule — Thêm quy tắc đặt
X-Edge-Auth(vàX-Client-IPnếu dùng cho công cụ PG) cho lưu lượng đến MCP origin. Ghi lại giá trị bí mật bạn cấu hình. MCP_EDGE_AUTH_SECRET— Triển khai máy chủ với biến môi trường này được đặt thành cùng một bí mật như trong Transform Rule. Tạm thời đểEXTRA_PROTECTIONchưa được đặt hoặc đặt thànhfalse; xác minh rằng origin vẫn chấp nhận lưu lượng.EXTRA_PROTECTION=true— Chỉ bật sau khi các bước 1–2 đã được áp dụng và khớp nhau. Xác nhận một yêu cầu MCP thông thường thành công và truy cập trực tiếp vào origin mà không cóX-Edge-Authbị từ chối.- Xoay vòng bí mật — Cập nhật đồng thời Cloudflare và
MCP_EDGE_AUTH_SECRET(hoặc tạm thời đặtEXTRA_PROTECTION=false), triển khai lại rồi bật lại. Không bao giờ chỉ xoay vòng một phía khi cờ đang bật.
Nếu EXTRA_PROTECTION=true khi khởi động mà thiếu MCP_EDGE_AUTH_SECRET, tiến trình sẽ thoát ngay lập tức kèm thông báo lỗi.
Khi các yêu cầu bị từ chối liên tục, máy chủ ghi cảnh báo cấu hình sai tối đa 15 phút một lần (được đặt lại sau một yêu cầu có X-Edge-Auth hợp lệ), nhờ đó có thể nhận biết bí mật không khớp trong nhật ký mà không phải ghi một dòng cho mỗi yêu cầu bị từ chối.
Công cụ
Cốt lõi
| Công cụ | Mô tả |
|---|---|
aiven_project_list | Liệt kê dự án |
aiven_project_get | Lấy thông tin chi tiết dự án |
aiven_list_project_clouds | Liệt kê nền tảng đám mây cho một dự án |
aiven_project_vpc_list | Liệt kê VPC cho một dự án |
aiven_service_list | Liệt kê dịch vụ |
aiven_service_type_plans | Liệt kê gói dịch vụ cùng các đám mây khả dụng |
aiven_service_type_get | Lấy phiên bản engine mặc định và khả dụng cho một loại dịch vụ |
aiven_service_plan_pricing | Lấy giá của một gói dịch vụ trên một đám mây cụ thể |
aiven_service_create | Tạo dịch vụ |
aiven_service_get | Lấy thông tin dịch vụ |
aiven_service_update | Cập nhật dịch vụ (gói dịch vụ, cấu hình, trạng thái nguồn) |
aiven_service_metrics_fetch | Lấy chỉ số cho các dịch vụ dữ liệu được quản lý |
aiven_service_application_metrics_get | Lấy chỉ số cho các dịch vụ ứng dụng |
aiven_project_get_service_logs | Lấy các mục nhật ký dịch vụ |
aiven_service_query_activity | Lấy các truy vấn hiện tại của dịch vụ |
aiven_project_get_event_logs | Lấy các mục nhật ký sự kiện của dự án |
Kafka
| Công cụ | Mô tả |
|---|---|
aiven_kafka_topic_list | Liệt kê chủ đề Kafka |
aiven_kafka_topic_create | Tạo chủ đề Kafka |
aiven_kafka_topic_get | Lấy thông tin chủ đề Kafka |
aiven_kafka_topic_update | Cập nhật chủ đề Kafka |
aiven_kafka_topic_delete | Xóa chủ đề Kafka |
aiven_kafka_topic_message_list | Đọc thông điệp từ chủ đề Kafka |
aiven_kafka_topic_message_produce | Gửi thông điệp vào chủ đề Kafka |
aiven_kafka_connect_available_connectors | Liệt kê các loại connector khả dụng |
aiven_kafka_connect_list | Liệt kê các connector đang chạy |
aiven_kafka_connect_create_connector | Tạo connector |
aiven_kafka_connect_edit_connector | Chỉnh sửa connector |
aiven_kafka_connect_get_connector_status | Lấy trạng thái connector |
aiven_kafka_connect_pause_connector | Tạm dừng connector |
aiven_kafka_connect_resume_connector | Tiếp tục connector |
aiven_kafka_connect_restart_connector | Khởi động lại connector |
aiven_kafka_connect_delete_connector | Xóa connector |
aiven_kafka_schema_registry_subjects | Liệt kê các subject của Schema Registry |
aiven_kafka_schema_registry_subject_version_get | Lấy phiên bản subject của Schema Registry |
PostgreSQL
| Công cụ | Mô tả |
|---|---|
aiven_pg_service_available_extensions | Liệt kê các extension khả dụng |
aiven_pg_service_query_statistics | Lấy thống kê truy vấn |
aiven_pg_bouncer_create | Tạo nhóm kết nối PgBouncer |
aiven_pg_bouncer_update | Cập nhật nhóm kết nối PgBouncer |
aiven_pg_bouncer_delete | Xóa nhóm kết nối PgBouncer |
aiven_pg_read | Chạy truy vấn SQL chỉ đọc |
aiven_pg_write | Chạy câu lệnh SQL ghi (INSERT, UPDATE, DELETE, CREATE TABLE, v.v.) |
aiven_pg_optimize_query | Tối ưu hóa truy vấn bằng AI (EverSQL) |
Ứng dụng
| Công cụ | Mô tả |
|---|---|
aiven_application_create | Tạo và triển khai lần đầu ứng dụng Containerfile/Dockerfile; trả về 409 nếu dịch vụ đã tồn tại |
aiven_application_redeploy | Dựng lại ứng dụng hiện có từ kho lưu trữ đã cấu hình mà không thay đổi cấu hình dịch vụ |
aiven_application_custom_domain_verify | Kiểm tra lại bản ghi CNAME của tên miền tùy chỉnh ứng dụng; kết quả sẽ xuất hiện sau đó trong aiven_service_get |
aiven_vcs_integration_initialize | Bắt đầu quy trình trên trình duyệt để kết nối tài khoản GitHub |
aiven_vcs_integration_list | Liệt kê các tài khoản VCS (GitHub) đã kết nối |
aiven_vcs_integration_repository_list | Liệt kê kho lưu trữ cho một tích hợp VCS |
aiven_vcs_integration_repository_branch_list | Liệt kê các nhánh kho lưu trữ và SHA commit hiện tại của chúng |
aiven_vcs_integration_repository_container_manifest_files_list | Tìm các tệp kê khai Containerfile, Dockerfile và Compose phù hợp |
aiven_vcs_integration_repository_scan_container_manifest | Suy ra các cấu hình dịch vụ Aiven tiềm năng từ Containerfile, Dockerfile hoặc các phần được hỗ trợ của tệp Compose |
Tài liệu
| Công cụ | Mô tả |
|---|---|
aiven_docs_search | Tìm kiếm tài liệu chính thức của Aiven bằng ngôn ngữ tự nhiên. Chỉ khả dụng trên máy chủ được lưu trữ (https://mcp.aiven.live/mcp) — không được cung cấp trong các bản triển khai tự lưu trữ. |
Đóng góp
Xem CONTRIBUTING.md để biết cách thiết lập môi trường phát triển, chạy cục bộ và thêm công cụ mới.