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

English | 简体中文

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_catalog5แคตตาล็อก ฐานข้อมูล ตาราง บริบทตาราง ขนาด
doris_query7คิวรี, explain, profile, การวินิจฉัย, สโลว์คิวรี, ADBC แบบชัดแจ้ง
doris_cluster11โหนด งาน เมตริก หน่วยความจำ แคช compaction เวิร์กโหลด
doris_pipeline5การนำเข้าข้อมูล materialized views ความสดใหม่ การพึ่งพา
doris_search4การค้นหาข้อความ/เวกเตอร์/ไฮบริด, analyzers, ดัชนี, การวินิจฉัย
doris_governance8คุณภาพ พื้นที่จัดเก็บ lineage การตรวจสอบ UDF การแมปการอนุญาต
doris_lakehouse3แคตตาล็อกภายนอก ตาราง lakehouse Variant
doris_semantic12การเชื่อมโยงกราวด์ 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 หลักเป็นจุดเข้าอย่างตั้งใจ ระบบเอกสารสองภาษาถูกจัดทำดัชนีที่:

คู่มือหลัก:

การพัฒนา

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