Apache Doris
ทางการMCP Server สำหรับ Apache Doris คลังข้อมูลแบบเรียลไทม์ที่ใช้สถาปัตยกรรม MPP
คุณทำอะไรได้บ้างด้วย Apache Doris MCP?
- สอบถามและวินิจฉัย Doris — ขอการดำเนินการสอบถาม, แผน
EXPLAIN, การวิเคราะห์โปรไฟล์ หรือการวินิจฉัยคิวรีที่ช้าผ่านโดเมนdoris_query - สำรวจแคตตาล็อกและสคีมา — ค้นหาฐานข้อมูล ตาราง และบริบทของตารางพร้อมรายละเอียดขนาดผ่านเครื่องมือย่อย
doris_catalog - ตรวจสอบสุขภาพคลัสเตอร์ — ตรวจสอบโหนด งาน เมตริก หน่วยความจำ แคช และสถานะการบีบอัดโดยใช้โดเมน
doris_cluster - จัดการไปป์ไลน์ข้อมูล — ตรวจสอบสถานะการนำเข้า มุมมองที่ถูกแมทีเรียไลซ์ ความสดใหม่ และการพึ่งพาผ่านเครื่องมือ
doris_pipeline - ค้นหาและวิเคราะห์ข้อมูล — รันการค้นหาแบบข้อความ เวกเตอร์ หรือแบบไฮบริด และตรวจสอบดัชนีผ่านโดเมน
doris_search - กำกับดูแลและตรวจสอบ — ตรวจสอบคุณภาพข้อมูล การจัดเก็บ ความสัมพันธ์ของข้อมูล บันทึกการตรวจสอบ และ UDF ด้วยความสามารถของ
doris_governance
เอกสาร
Apache Doris MCP Server
Apache Doris MCP Server เปิดเผยความสามารถแบบอ่านอย่างเดียวของ Apache Doris ให้แก่ MCP Host และ AI agents ผ่าน MCP 2026-07-28 เวอร์ชัน 1.0 แทนที่พื้นผิวเครื่องมือแบบกว้างแบนด้วยโดเมนที่เสถียรแปดโดเมนและความสามารถย่อยแบบเปิดเผยแบบค่อยเป็นค่อยไปห้าสิบห้ารายการ พร้อมทั้งทำให้ความพร้อมใช้งานรันไทม์ การอนุญาต อินพุตสคีมา เอาต์พุตสคีมา และพฤติกรรมความล้มเหลวชัดเจน
สถานะการเผยแพร่
เวอร์ชันแพ็คเกจคือ 1.0.0 ความเข้ากันได้ของโปรโตคอล MCP 2026-07-28 บน master เป็น Generally Available (GA) บน Streamable HTTP และ stdio ข้อความ GA นี้จำกัดเฉพาะความเข้ากันได้ของโปรโตคอล ตัวจำแนกแพ็คเกจ Python ยังคงเป็น Beta และข้อจำกัดการใช้งานที่บันทึกไว้ยังคงมีผล
ก่อนอัปเกรด โปรดอ่าน บันทึกการเผยแพร่ 1.0, คู่มือการย้าย 1.0 และ ทะเบียน 8 โดเมน/55 ความสามารถย่อยที่สร้างขึ้น บันทึกการเผยแพร่โดยละเอียดอยู่ที่ Issue #189
สถาปัตยกรรมโดยย่อ
MCP Host
-> stdio or Streamable HTTP
-> transport security and authentication
-> MCP protocol validation and authorization
-> stable domain discovery
-> route-aware Doris capability detection
-> exact child dispatch and read-only runtime
-> request-specific Doris route and RBAC
-> bounded, schema-validated result
โหมด hierarchical เริ่มต้นเปิดเผยโดเมนเหล่านี้:
| โดเมน | ความสามารถย่อย | ความรับผิดชอบ |
|---|---|---|
doris_catalog | 5 | แคตตาล็อก ฐานข้อมูล ตาราง บริบทตาราง ขนาด |
doris_query | 7 | คิวรี, explain, profile, การวินิจฉัย, สโลว์คิวรี, ADBC แบบชัดแจ้ง |
doris_cluster | 11 | โหนด งาน เมตริก หน่วยความจำ แคช compaction เวิร์กโหลด |
doris_pipeline | 5 | การนำเข้าข้อมูล materialized views ความสดใหม่ การพึ่งพา |
doris_search | 4 | การค้นหาข้อความ/เวกเตอร์/ไฮบริด, analyzers, ดัชนี, การวินิจฉัย |
doris_governance | 8 | คุณภาพ พื้นที่จัดเก็บ lineage การตรวจสอบ UDF การแมปการอนุญาต |
doris_lakehouse | 3 | แคตตาล็อกภายนอก ตาราง lakehouse Variant |
doris_semantic | 12 | การเชื่อมโยงกราวด์ Apache Ossie และการบริโภค MetricFlow แบบเลือกใช้ |
เรียกโดเมนด้วย {} เพื่อค้นพบความสามารถย่อยที่ได้รับอนุญาตและสคีมาที่แม่นยำ เรียกโดเมนเดียวกันอีกครั้งด้วย child_tool, arguments และ manifest_version ที่ส่งกลับมา Host ที่ไม่สามารถใช้การเปิดเผยแบบค่อยเป็นค่อยไปอาจตั้งค่า MCP_TOOL_EXPOSURE_MODE=flat ก่อนเริ่มต้น ซึ่งจะเปิดเผยความสามารถย่อย 55 รายการเดียวกันภายใต้ชื่อทางการที่ไม่ชนกัน และไม่ฟื้นคืนนามแฝงก่อนเวอร์ชัน 1.0
ดู สถาปัตยกรรม, วงจรชีวิตคำขอ และ โดเมนเครื่องมือ
เริ่มต้นอย่างรวดเร็ว
ข้อกำหนด:
- Python 3.12 หรือใหม่กว่า
- Apache Doris 2.0.0 หรือใหม่กว่า
- การเข้าถึงเครือข่ายไปยัง Doris FE MySQL endpoint โดยปกติคือพอร์ต
9030
ติดตั้งเวอร์ชันที่ปักหมุด:
pip install doris-mcp-server==1.0.0
doris-mcp-server เริ่มต้น Server doris-mcp-client เป็นไคลเอ็นต์แยกต่างหาก สองคำสั่งนี้ใช้แทนกันไม่ได้
กำหนดค่าเส้นทาง Doris:
export DORIS_HOST=127.0.0.1
export DORIS_PORT=9030
export DORIS_USER=mcp_reader
export DORIS_PASSWORD='replace-me'
export DORIS_DATABASE=information_schema
เริ่ม Streamable HTTP บน loopback:
doris-mcp-server \
--transport http \
--host 127.0.0.1 \
--port 3000
Endpoints:
- MCP:
POST http://127.0.0.1:3000/mcp - MCP แบบเดิม (เลือกใช้):
POST http://127.0.0.1:3000/mcp/legacy - liveness:
GET http://127.0.0.1:3000/live - readiness ที่รองรับ Doris:
GET http://127.0.0.1:3000/ready
Host ที่จำกัดเฉพาะ Streamable HTTP ในยุค handshake รวมถึง Dify 1.16.1 ที่มี MCP 2025-06-18 ต้องตั้งค่า ENABLE_LEGACY_HTTP_ADAPTER=true และเชื่อมต่อกับ /mcp/legacy อะแดปเตอร์เปลี่ยนเฉพาะขอบเขตโปรโตคอล โดยคงเครื่องมือ 1.0 เดียวกัน การอนุญาต ประตูความสามารถ และการดำเนินการแบบอ่านอย่างเดียว
หรือรัน stdio สำหรับ Host ในเครื่อง:
doris-mcp-server --transport stdio
ดู เริ่มต้นอย่างรวดเร็ว ฉบับสมบูรณ์และ คู่มือการผสานรวม Host
ขอบเขตความปลอดภัย
- แคตตาล็อก 1.0 ในตัวเป็นแบบอ่านอย่างเดียว
doris_adminถูกสงวนไว้และไม่ลงทะเบียน - โทเค็นแบบคงที่ JWT OAuth/OIDC ภายนอก และ OAuth ที่รองรับ Doris ได้รับการสนับสนุนภายใต้ขอบเขตการกำหนดค่าที่ตรวจสอบร่วมกัน
- การค้นพบโดเมนและการดำเนินการความสามารถย่อยใช้ตัวระบุการอนุญาตที่แม่นยำ
- Doris RBAC ยังคงเป็นผู้มีอำนาจขั้นสุดท้ายสำหรับวัตถุและข้อมูลที่มองเห็นได้
- รูปร่าง SQL ตัวระบุ พารามิเตอร์ หมดเวลา แถว ไบต์ และสคีมาผลลัพธ์ถูกจำกัดขอบเขตก่อนที่ข้อมูลจะออกจาก Server
- ความลับและข้อผิดพลาดแบ็กเอนด์ถูกปกปิดจากผลลัพธ์และบันทึกสาธารณะ
- HTTP ที่ไม่ใช่ loopback ต้องมีการรับรองความถูกต้อง เว้นแต่จะเปิดใช้งานการแทนที่การพัฒนาแบบอันตรายอย่างชัดแจ้ง
อ่าน โมเดลความปลอดภัยและการอนุญาต และ คู่มือการเข้าถึงแบบละเอียด Doris
ขอบเขตความน่าเชื่อถือ
Server ใช้แมนิเฟสต์และข้อผิดพลาดที่กำหนดได้ เคอร์เซอร์หมดอายุที่ลงนาม สแนปชอตความสามารถที่คำนึงถึงเส้นทาง การสำรองข้อมูลที่ล้าสมัยแบบจำกัดขอบเขต การกำหนดเส้นทางการเชื่อมต่อตามคำขอ การเฟลโอเวอร์หลาย FE การแยก liveness/readiness การตรวจสอบ Schema เอาต์พุต และการแพร่กระจายเทรซที่ทำความสะอาดแล้ว ความสามารถที่ไม่รองรับหรือกำหนดค่าผิดยังคงค้นพบได้ด้วย callable=false และล้มเหลวแบบปิดเมื่อถูกเรียก
ข้อจำกัดปัจจุบันรวมถึง OAuth ที่รองรับ Doris เฉพาะกระบวนการ ADBC แบบชัดแจ้งเท่านั้นที่ปิดใช้งานโดยค่าเริ่มต้นและล้มเหลวแบบปิดบนเส้นทางที่ผูกกับโทเค็น การเชื่อมโยงกราวด์ Ossie แบบอ่านอย่างเดียวที่เลือกใช้ ไซด์คาร์คอมไพเลอร์ MetricFlow ที่เลือกใช้ซึ่ง SQL ต้องดำเนินการผ่านรันไทม์คิวรี MCP ที่จำกัดขอบเขต และการจัดส่ง lineage แบบเนทีฟแบบพยายามเต็มที่ ดู ความน่าเชื่อถือและข้อจำกัด
เอกสารประกอบ
README หลักเป็นจุดเข้าอย่างตั้งใจ ระบบเอกสารสองภาษาถูกจัดทำดัชนีที่:
คู่มือหลัก:
- สถาปัตยกรรม
- คำขอและการไหลของข้อมูล
- โดเมนเครื่องมือ
- ความพร้อมใช้งานของความสามารถ
- เมทริกซ์ความสามารถเวอร์ชัน Doris
- การผสานรวม MetricFlow
- สัญญา MCP 2026-07-28
- โมเดลความปลอดภัย
- การปรับใช้งาน
- ความน่าเชื่อถือและข้อจำกัด
- การแก้ไขปัญหา
- เอกสารอ้างอิงการกำหนดค่า
- การผสานรวม Host
- ผู้ให้บริการเครื่องมือแบบกำหนดเอง
- การมีส่วนร่วม
การพัฒนา
git clone https://github.com/apache/doris-mcp-server.git
cd doris-mcp-server
uv sync --group dev
uv run pytest
สิ่งประดิษฐ์ที่สร้างขึ้นต้องคงความสอดคล้องกัน:
uv run python generate_tool_catalog.py --check
uv lock --check
สัญญาอนุญาต
Apache License 2.0 ดู LICENSE.txt และ NOTICE