Aiven

ทางการ

นำทางโปรเจกต์ Aiven ของคุณและโต้ตอบกับบริการ PostgreSQL®, Apache Kafka®, ClickHouse® และ OpenSearch®

GitHub
27
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย Aiven MCP?

  • จัดการบริการ Aiven — ให้ผู้ช่วยของคุณแสดงรายการ สร้าง อัปเดต หรือลบบริการผ่าน aiven_service_create, aiven_service_update และ aiven_service_list
  • ทำงานกับ Kafka topics — ให้ผู้ช่วยของคุณสร้าง อ่าน หรือส่งข้อความไปยัง topics โดยใช้ aiven_kafka_topic_create และ aiven_kafka_topic_message_produce
  • รันคำสั่ง PostgreSQL — ให้ผู้ช่วยของคุณดำเนินการคำสั่ง SQL แบบอ่านอย่างเดียวหรือเขียนได้ด้วย aiven_pg_read และ aiven_pg_write หรือปรับแต่งคำสั่งให้เหมาะสมผ่าน aiven_pg_optimize_query
  • จัดการ Kafka connectors — ให้ผู้ช่วยของคุณสร้าง หยุดชั่วคราว ดำเนินการต่อ หรือลบ connectors โดยใช้ aiven_kafka_connect_create_connector และเครื่องมือที่เกี่ยวข้อง
  • ปรับใช้แอปพลิเคชัน — ให้ผู้ช่วยของคุณสร้างหรือปรับใช้แอปพลิเคชันใหม่จาก repository ด้วย aiven_application_create และ aiven_application_redeploy
  • ค้นหาเอกสาร Aiven — ให้ผู้ช่วยของคุณค้นหาคำตอบในเอกสารทางการโดยใช้ aiven_docs_search (เฉพาะเซิร์ฟเวอร์ที่โฮสต์)

เอกสาร

เซิร์ฟเวอร์ Aiven MCP

เซิร์ฟเวอร์ Model Context Protocol (MCP) สำหรับแพลตฟอร์มข้อมูลคลาวด์ Aiven

จัดการ PostgreSQL, Apache Kafka, แอปพลิเคชัน และบริการ Aiven อื่นๆ ได้โดยตรงจากผู้ช่วย AI เช่น Claude, Cursor และ VS Code Copilot

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

หรือเพิ่มด้วยตนเองในการตั้งค่า MCP ของ Cursor:

{
  "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"
    }
  }
}

โหมดอ่านอย่างเดียว (ระยะไกล)

เปิดใช้งานโหมดอ่านอย่างเดียวโดยเพิ่ม ?read_only=true ลงใน URL การดำเนินการเขียนทั้งหมดจะถูกแยกออกจาก MCP:

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

เครื่องมือที่จำกัดขอบเขต (ระยะไกล)

ลดพื้นผิวเครื่องมือที่เปิดเผยต่อเอเจนต์ AI ของคุณโดยเพิ่ม ?services_scope= ลงใน URL มีประโยชน์เมื่อคุณทำงานกับบริการ 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+

คุณต้องระบุโทเค็น API ของ Aiven ผ่านตัวแปรสภาพแวดล้อม AIVEN_TOKEN สร้างโทเค็นที่นี่

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--โทเค็น API ของ Aiven (สร้างที่นี่)
AIVEN_READ_ONLYไม่falseตั้งเป็น true เพื่อเปิดเผยเฉพาะเครื่องมืออ่านอย่างเดียว
AIVEN_SERVICES_SCOPEไม่--ขอบเขตที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดเผย (เช่น kafka, pg,kafka, หรือ all) ถูกต้อง: all, core, pg, kafka, application, integrations core จะรวมอยู่เสมอ การละเว้นตัวแปรหรือตั้งค่า 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) ต่อโทเค็นแบร์เรอร์ การจำกัดอัตรา IP ของไคลเอนต์คาดว่าจะเกิดขึ้นที่ Cloudflare
MCP_HTTP_RATE_LIMIT_WINDOW_MSไม่60000ความยาวหน้าต่างในหน่วยมิลลิวินาทีสำหรับ MCP_HTTP_RATE_LIMIT_MAX
EXTRA_PROTECTIONไม่falseตั้งเป็น true ในการปรับใช้ HTTP เพื่อกำหนดให้มีส่วนหัว X-Edge-Auth ที่ถูกต้องในทุกคำขอยกเว้น GET /health ดู การเปิดตัวการป้องกันขอบ ด้านล่าง
MCP_EDGE_AUTH_SECRETเมื่อ EXTRA_PROTECTION=true--ความลับที่ใช้ร่วมกัน ต้องตรงกับค่าที่ Cloudflare ฉีดเป็น X-Edge-Auth ผ่านกฎการแปลง

ในโหมดระยะไกล (HTTP) ไม่จำเป็นต้องใช้ AIVEN_TOKEN ไคลเอนต์ MCP ของคุณส่งโทเค็นของคุณเป็นโทเค็นแบร์เรอร์กับทุกคำขอ

การรับส่งข้อมูล HTTP ในการผลิตถูกจำกัดอัตราในสองชั้น: Cloudflare บังคับใช้ขีดจำกัดต่อ IP ไคลเอนต์ (กำหนดค่าในแดชบอร์ด Cloudflare) และเซิร์ฟเวอร์นี้บังคับใช้ MCP_HTTP_RATE_LIMIT_* ต่อโทเค็นแบร์เรอร์บน POST /mcp

การเปิดตัวการป้องกันขอบ

เมื่อ EXTRA_PROTECTION=true ความไม่ตรงกันใดๆ ระหว่าง MCP_EDGE_AUTH_SECRET และค่าที่ Cloudflare ฉีดเป็น X-Edge-Auth ทำให้ ทุกคำขอส่งคืน 403 (ยกเว้น GET /health) ทั้งสองค่าเป็นสภาพแวดล้อม/การกำหนดค่าที่อยู่คนละด้านของสาย ดังนั้นเส้นทางการกู้คืนเพียงอย่างเดียวคือแก้ไขความลับและปรับใช้ใหม่หรืออัปเดต Cloudflare

เปิดใช้งานตามลำดับนี้:

  1. กฎการแปลง Cloudflare — เพิ่มกฎที่ตั้งค่า X-Edge-Auth (และหากใช้สำหรับเครื่องมือ PG, X-Client-IP) ในการรับส่งข้อมูลไปยังต้นทาง MCP บันทึกค่าความลับที่คุณกำหนดค่า
  2. MCP_EDGE_AUTH_SECRET — ปรับใช้เซิร์ฟเวอร์ด้วยตัวแปรสภาพแวดล้อมนี้ตั้งเป็นความลับ เดียวกัน กับกฎการแปลง ปล่อย 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_queryการปรับแต่งคำสั่งที่ขับเคลื่อนด้วย AI (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รายการสาขาที่เก็บและ SHA คอมมิตปัจจุบัน
aiven_vcs_integration_repository_container_manifest_files_listค้นหา Containerfile, Dockerfile และ Compose manifest ที่เป็นไปได้
aiven_vcs_integration_repository_scan_container_manifestรับการกำหนดค่าบริการ Aiven ที่เป็นไปได้จาก Containerfile, Dockerfile หรือส่วนที่รองรับของไฟล์ Compose

เอกสารประกอบ

เครื่องมือคำอธิบาย
aiven_docs_searchค้นหาเอกสารประกอบอย่างเป็นทางการของ Aiven ในภาษาธรรมชาติ มีเฉพาะบนเซิร์ฟเวอร์ที่โฮสต์ (https://mcp.aiven.live/mcp) — ไม่เปิดเผยในการปรับใช้ที่โฮสต์เอง

การมีส่วนร่วม

ดู CONTRIBUTING.md สำหรับการตั้งค่าการพัฒนา การรันภายในเครื่อง และการเพิ่มเครื่องมือใหม่

ใบอนุญาต

Apache-2.0