Aiven

ทางการ

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

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

  • จัดการบริการ Aiven — แสดงรายการ สร้าง อัปเดต และดึงรายละเอียดหรือเมตริกสำหรับ PostgreSQL, Kafka และบริการ Aiven อื่นๆ ทั่วโปรเจกต์ของคุณ
  • ทำงานกับ Kafka — แสดงรายการ สร้าง อัปเดต และลบหัวข้อ อ่านหรือสร้างข้อความ และจัดการตัวเชื่อมต่อ Kafka Connect และหัวข้อ Schema Registry
  • รันคิวรี PostgreSQL — รันคิวรี SQL แบบอ่านอย่างเดียวหรือคำสั่งเขียน ดึงสถิติคิวรี และจัดการพูลการเชื่อมต่อ PgBouncer
  • ปรับใช้แอปพลิเคชัน — สร้างและปรับใช้แอปพลิเคชัน Containerfile/Dockerfile ใหม่ และเชื่อมต่อที่เก็บ GitHub ผ่านการผสานรวม VCS
  • ค้นหาเอกสาร Aiven — ค้นหาเอกสาร Aiven อย่างเป็นทางการด้วยภาษาธรรมชาติ (เฉพาะเซิร์ฟเวอร์ที่โฮสต์)
  • จำกัดการเข้าถึง — เปิดโหมดอ่านอย่างเดียว จำกัดขอบเขตเครื่องมือให้เฉพาะประเภทบริการที่ระบุ หรืออนุญาตเครื่องมือเขียนทีละรายการ

เอกสาร

Aiven MCP Server

เซิร์ฟเวอร์ 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, 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 (รีโมท)

หากคุณสมัครใช้ 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 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--โทเค็น API ของ Aiven (สร้างได้ที่นี่)
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ตั้งเป็น true บนการติดตั้งใช้งาน HTTP เพื่อกำหนดให้มีเฮดเดอร์ X-Edge-Auth ที่ถูกต้องในทุกคำขอ ยกเว้น GET /health ดู การเปิดใช้งานการป้องกันขอบ ด้านล่าง
MCP_EDGE_AUTH_SECRETเมื่อ EXTRA_PROTECTION=true--ซีเคร็ตที่ใช้ร่วมกัน ต้องตรงกับค่าที่ Cloudflare ใส่เป็น X-Edge-Auth ผ่าน Transform Rules

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

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

การเปิดใช้งานการป้องกันขอบ

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

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

  1. Cloudflare Transform Rule — เพิ่มกฎที่ตั้งค่า X-Edge-Auth (และหากใช้สำหรับเครื่องมือ PG ให้ตั้ง X-Client-IP) บนทราฟฟิกที่ไปยังต้นทาง MCP จดบันทึกค่าซีเคร็ตที่คุณกำหนดค่า
  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_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 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