Aiven
ทางการนำทางโปรเจกต์ Aiven ของคุณและโต้ตอบกับบริการ PostgreSQL®, Apache Kafka®, ClickHouse® และ OpenSearch®
คุณทำอะไรได้บ้างด้วย Aiven MCP?
- แสดงรายการและตรวจสอบโปรเจกต์ Aiven — ใช้
aiven_project_listและaiven_project_getเพื่อเรียกดูโปรเจกต์และดูรายละเอียด - จัดการบริการ Aiven — สร้าง อัปเดต หรือดึงข้อมูลบริการด้วย
aiven_service_create,aiven_service_updateและaiven_service_get - ทำงานกับหัวข้อและตัวเชื่อมต่อ Kafka — แสดงรายการ สร้าง อัปเดต ลบหัวข้อ ผลิต/บริโภคข้อความ และจัดการตัวเชื่อมต่อ Kafka Connect
- รัน SQL บนบริการ PostgreSQL — ดำเนินการค้นหาแบบอ่านอย่างเดียวด้วย
aiven_pg_readหรือคำสั่งเขียนด้วยaiven_pg_write - ปรับใช้และปรับใช้แอปพลิเคชันอีกครั้ง — ใช้
aiven_application_deployและaiven_application_redeployเพื่อจัดการแอป Dockerized บน Aiven - ค้นหาเอกสาร Aiven — ค้นหาเอกสารทางการด้วยภาษาธรรมชาติผ่าน
aiven_docs_search(เฉพาะเซิร์ฟเวอร์ที่โฮสต์)
เอกสาร
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
หรือเพิ่มด้วยตนเองในการตั้งค่า 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"
}
}
}
โหมดอ่านอย่างเดียว (ระยะไกล)
เปิดใช้งานโหมดอ่านอย่างเดียวโดยเพิ่ม ?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
ลูกค้า Marketplace (ระยะไกล)
หากคุณสมัครใช้บริการ Aiven ผ่านคลาวด์มาร์เก็ตเพลส ให้เพิ่มมาร์เก็ตเพลสของคุณเป็นส่วนของพาธเพื่อให้การลงชื่อเข้าใช้ใช้คอนโซลที่ถูกต้อง:
| 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+
คุณต้องระบุโทเค็น 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 ดู การเปิดตัวการป้องกัน Edge ด้านล่าง |
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
การเปิดตัวการป้องกัน Edge
เมื่อ EXTRA_PROTECTION=true ความไม่ตรงกันใดๆ ระหว่าง MCP_EDGE_AUTH_SECRET และค่าที่ Cloudflare แทรกเป็น X-Edge-Auth ทำให้ ทุกคำขอส่งคืน 403 (ยกเว้น GET /health) ทั้งสองค่าเป็นสภาพแวดล้อม/การกำหนดค่าที่อยู่ฝั่งตรงข้ามของสาย ดังนั้นเส้นทางการกู้คืนเพียงอย่างเดียวคือการแก้ไขความลับและปรับใช้ใหม่หรืออัปเดต Cloudflare
เปิดใช้งานตามลำดับนี้:
- กฎการแปลง Cloudflare — เพิ่มกฎที่ตั้งค่า
X-Edge-Auth(และหากใช้สำหรับเครื่องมือ PG,X-Client-IP) ในการรับส่งข้อมูลไปยังต้นทาง MCP จดบันทึกค่าความลับที่คุณกำหนดค่า MCP_EDGE_AUTH_SECRET— ปรับใช้เซิร์ฟเวอร์ด้วยตัวแปรสภาพแวดล้อมนี้ที่ตั้งค่าเป็นความลับ เดียวกัน กับกฎการแปลง ปล่อย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_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 | แสดงรายการ subject ของ Schema Registry |
aiven_kafka_schema_registry_subject_version_get | รับเวอร์ชัน subject ของ 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_deploy | ปรับใช้แอปพลิเคชันที่ทำเป็น Docker ไปยัง Aiven |
aiven_application_redeploy | สร้างใหม่และปรับใช้แอปพลิเคชันที่มีอยู่อีกครั้ง |
aiven_vcs_integration_list | แสดงรายการบัญชี VCS (GitHub) ที่เชื่อมต่อ |
aiven_vcs_integration_repository_list | แสดงรายการที่เก็บสำหรับการผสานรวม VCS |
เอกสารประกอบ
| เครื่องมือ | คำอธิบาย |
|---|---|
aiven_docs_search | ค้นหาเอกสารประกอบอย่างเป็นทางการของ Aiven ด้วยภาษาธรรมชาติ มีให้ใช้งานบนเซิร์ฟเวอร์ที่โฮสต์เท่านั้น (https://mcp.aiven.live/mcp) — ไม่เปิดเผยในการปรับใช้แบบโฮสต์เอง |
การมีส่วนร่วม
ดู CONTRIBUTING.md สำหรับการตั้งค่าการพัฒนา การรันภายในเครื่อง และการเพิ่มเครื่องมือใหม่