dbt
ทางการเซิร์ฟเวอร์ MCP อย่างเป็นทางการสำหรับ dbt (เครื่องมือสร้างข้อมูล) ที่ให้การผสานรวมกับ dbt Core/Cloud CLI, การค้นพบเมทาดาทาของโปรเจกต์, ข้อมูลโมเดล, และความสามารถในการสอบถามเลเยอร์เชิงความหมาย
คุณทำอะไรได้บ้างด้วย Dbt MCP?
- วัดค่าด้วยเมตริก — ขอให้ผู้ช่วยรันการสอบถามเมตริกพร้อมการกรองและการจัดกลุ่มผ่าน
query_metricsหรือแสดงรายการเมตริกที่กำหนดไว้ด้วยlist_metrics - สำรวจสายสัมพันธ์ของโมเดล — ขอกราฟสายสัมพันธ์แบบมีขอบเขตพร้อมตัวกรองประเภท ความลึก และทิศทางโดยใช้
get_lineage - ตรวจสอบสุขภาพของโมเดล — ขอสถานะการรัน ผลการทดสอบ และความสดใหม่ของแหล่งข้อมูลต้นทางสำหรับโมเดลด้วย
get_model_health - รันคำสั่ง dbt — ให้ผู้ช่วยดำเนินการ
build,run,test,compileหรือshowกับโปรเจกต์ของคุณ - จัดการการรันงาน — ทริกเกอร์ ลองใหม่ ยกเลิก หรือตรวจสอบการรันงานของ dbt Platform และอาร์ติแฟกต์ของงานเหล่านั้น
- สร้างโค้ดต้นแบบ — สร้าง YAML ของโมเดล YAML ของแหล่งข้อมูล หรือ SQL ของโมเดล staging ด้วย
generate_model_yaml,generate_sourceและgenerate_staging_model
เอกสาร
เซิร์ฟเวอร์ dbt MCP
เซิร์ฟเวอร์ MCP (Model Context Protocol) นี้มีเครื่องมือต่างๆ สำหรับโต้ตอบกับ dbt คุณสามารถใช้เซิร์ฟเวอร์ MCP นี้เพื่อให้บริบทของโปรเจกต์ใน dbt Core, dbt Fusion และ dbt Platform แก่ AI agent ได้
อ่านเอกสารของเราที่นี่เพื่อเรียนรู้เพิ่มเติม บล็อกโพสต์นี้ให้รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่เป็นไปได้ด้วยเซิร์ฟเวอร์ dbt MCP
MCP Bundle แบบทดลอง
เราเผยแพร่ Model Context Protocol Bundle แบบทดลอง (dbt-mcp.mcpb) พร้อมกับการเผยแพร่แต่ละครั้ง เพื่อให้ไคลเอนต์ที่รองรับ MCPB สามารถนำเข้าเซิร์ฟเวอร์นี้ได้โดยไม่ต้องตั้งค่าเพิ่มเติม ดาวน์โหลด bundle จากไฟล์แนบของการเผยแพร่ล่าสุด และปฏิบัติตามเอกสาร mcpb CLI ของ Anthropic เพื่อติดตั้งหรือตรวจสอบ
ข้อเสนอแนะ
หากคุณมีความคิดเห็นหรือคำถาม โปรดสร้าง GitHub Issue หรือเข้าร่วมกับเราในชุมชน Slackในช่อง #tools-dbt-mcp
สถาปัตยกรรม
สถาปัตยกรรมของเซิร์ฟเวอร์ dbt MCP ช่วยให้ agent ของคุณเชื่อมต่อกับเครื่องมือต่างๆ ได้

เครื่องมือ
SQL
เครื่องมือสำหรับรันและสร้าง SQL บนโครงสร้างพื้นฐานของ dbt Platform
execute_sql: รัน SQL บนโครงสร้างพื้นฐานของ dbt Platform พร้อมรองรับ Semantic Layertext_to_sql: สร้าง SQL จากภาษาธรรมชาติโดยใช้บริบทของโปรเจกต์
Semantic Layer
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ dbt Semantic Layer คลิกที่นี่
get_dimension_values: รับค่าที่แตกต่างกันสำหรับ dimension; มีตัวเลือกในการจำกัดขอบเขตไปยังเมตริกที่ระบุget_dimensions: รับ dimension สำหรับเมตริกที่ระบุget_entities: รับ entity สำหรับเมตริกที่ระบุget_metrics_compiled_sql: ส่งคืน SQL ที่คอมไพล์แล้วสำหรับเมตริกโดยไม่รันคิวรีlist_metrics: ดึงเมตริกที่กำหนดไว้ทั้งหมดlist_saved_queries: ดึง saved query ทั้งหมดquery_metrics: รันคิวรีเมตริกพร้อมตัวเลือกการกรองและการจัดกลุ่ม
Discovery
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ dbt Discovery API คลิกที่นี่
get_all_macros: ดึง macro; มีตัวเลือกในการกรองตามแพ็กเกจหรือส่งคืนเฉพาะชื่อแพ็กเกจget_all_models: ดึงชื่อและคำอธิบายของโมเดลทั้งหมดget_all_sources: รับ source ทั้งหมดพร้อมสถานะความสดใหม่; มีตัวเลือกในการกรองตามชื่อ sourceget_exposure_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)get_exposures: รับ exposure ทั้งหมด (แดชบอร์ด แอป หรือการวิเคราะห์ปลายน้ำ)get_lineage: รับกราฟ lineage แบบมีขอบเขตพร้อมการกรองตามประเภท ความลึก และทิศทางget_macro_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)get_mart_models: ดึง mart model ทั้งหมดget_model_children: (เลิกใช้แล้ว — ใช้get_lineageแทน)get_model_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)get_model_health: รับสัญญาณสุขภาพ: สถานะการรัน ผลการทดสอบ และความสดใหม่ของ source ต้นน้ำget_model_parents: (เลิกใช้แล้ว — ใช้get_lineageแทน)get_model_performance: รับประวัติการรันสำหรับโมเดล; มีตัวเลือกในการรวมผลการทดสอบget_node_details: รับรายละเอียดทั้งหมดสำหรับทรัพยากร dbt ทุกประเภท (model, source, exposure, test, seed, snapshot, macro, semantic_model)get_related_models: ค้นหาโมเดลที่คล้ายกันโดยใช้การค้นหาเชิงความหมายget_seed_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)get_semantic_model_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)get_snapshot_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)get_source_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)get_test_details: (เลิกใช้แล้ว — ใช้get_node_detailsแทน)search: [Alpha] ค้นหาทรัพยากรทั่วทั้งโปรเจกต์ dbt (ยังไม่พร้อมใช้งานทั่วไป)search_public_mesh_models: ค้นหาโมเดล dbt Mesh แบบสาธารณะข้ามโปรเจกต์และยืนยันตัวตนของผู้ผลิต เพื่อให้คุณสร้าง cross-project ref ที่ผ่านการตรวจสอบได้ (เฉพาะการกำหนดค่าหลายโปรเจกต์)
dbt CLI
การอนุญาตให้ไคลเอนต์ของคุณใช้คำสั่ง dbt ผ่านเครื่องมือ MCP อาจแก้ไขโมเดลข้อมูล source และออบเจกต์ในคลังข้อมูลของคุณได้ ดำเนินการต่อเฉพาะเมื่อคุณไว้วางใจไคลเอนต์และเข้าใจผลกระทบที่อาจเกิดขึ้น
build: รันโมเดล การทดสอบ snapshot และ seed ตามลำดับ DAGclone: โคลนโหนดที่เลือกจากสถานะที่ระบุไปยัง schema เป้าหมายcompile: สร้าง SQL ที่รันได้จากโมเดล/การทดสอบ/การวิเคราะห์; มีประโยชน์สำหรับการตรวจสอบตรรกะ Jinjadocs: สร้างเอกสารสำหรับโปรเจกต์ dbtget_lineage_dev: ดึง lineage จาก manifest.json ภายในเครื่องพร้อมการกรองตามประเภทและความลึกget_node_details_dev: ดึงรายละเอียดโหนดจาก manifest.json ภายในเครื่อง (model, seed, snapshot, source)list: แสดงรายการทรัพยากรในโปรเจกต์ dbt ตามประเภทพร้อมรองรับ selectorparse: แยกวิเคราะห์และตรวจสอบไฟล์โปรเจกต์เพื่อความถูกต้องของไวยากรณ์run: รันโมเดลเพื่อสร้างวัสดุในฐานข้อมูลshow: รัน SQL กับฐานข้อมูลและส่งคืนผลลัพธ์test: รันการทดสอบเพื่อตรวจสอบความสมบูรณ์ของข้อมูลและโมเดล
Admin API
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ dbt Administrative API คลิกที่นี่
cancel_job_run: ยกเลิกงานที่กำลังรันget_job_details: รับการกำหนดค่างาน รวมถึง trigger ตารางเวลา และคำสั่ง dbtget_job_run_artifacts: ดาวน์โหลด artifact ที่ระบุจากการรันงาน; artifact ขนาดใหญ่จะส่งคืนข้อความแนะนำให้ลองใหม่ด้วย jq_filter; รองรับการกรองด้วย jq สำหรับการดึงข้อมูลแบบเจาะจงget_job_run_details: รับรายละเอียดการรัน รวมถึงสถานะ เวลา ขั้นตอน และ artifactget_job_run_error: รับรายละเอียดข้อผิดพลาดและ/หรือคำเตือนสำหรับการรันงาน; มีตัวเลือกในการรวมหรือแสดงเฉพาะคำเตือนlist_job_run_artifacts: แสดงรายการ artifact ที่มีอยู่จากการรันงานlist_jobs: แสดงรายการงานในบัญชี dbt Platform; มีตัวเลือกในการกรองตามโปรเจกต์หรือสภาพแวดล้อมlist_jobs_runs: แสดงรายการการรันงาน; มีตัวเลือกในการกรองตามงาน สถานะ หรือเรียงตามฟิลด์list_projects: แสดงรายการโปรเจกต์ทั้งหมดในบัญชี dbt Platformretry_job_run: ลองใหม่การรันงานที่ล้มเหลวtrigger_job_run: เรียกใช้การรันงาน; มีตัวเลือกในการแทนที่ git branch, schema หรือการตั้งค่าอื่นๆ
dbt Codegen
เครื่องมือเหล่านี้ช่วยทำให้การสร้างโค้ด boilerplate สำหรับไฟล์โปรเจกต์ dbt เป็นอัตโนมัติ
generate_model_yaml: สร้าง YAML ของโมเดลพร้อมคอลัมน์; มีตัวเลือกในการสืบทอดคำอธิบายจากต้นน้ำgenerate_source: สร้าง YAML ของ source โดยการตรวจสอบ schema ของฐานข้อมูล; มีตัวเลือกในการรวมคอลัมน์generate_staging_model: สร้าง SQL ของ staging model จากตาราง source
dbt LSP
ชุดเครื่องมือที่ใช้ประโยชน์จากเอนจิน Fusion สำหรับการคอมไพล์ SQL ขั้นสูงและการวิเคราะห์ lineage ระดับคอลัมน์
fusion.compile_sql: คอมไพล์ SQL ในบริบทของโปรเจกต์ผ่าน dbt Platformfusion.get_column_lineage: ติดตาม lineage ระดับคอลัมน์ผ่าน dbt Platformget_column_lineage: ติดตาม lineage ระดับคอลัมน์ภายในเครื่อง (ต้องใช้ dbt-lsp ผ่าน dbt Labs VSCE)
เอกสารผลิตภัณฑ์
เครื่องมือสำหรับค้นหาและดึงเนื้อหาจากเอกสาร dbt อย่างเป็นทางการที่ docs.getdbt.com
get_product_doc_pages: ดึงเนื้อหา Markdown ทั้งหมดของหน้า docs.getdbt.com หนึ่งหน้าหรือมากกว่าตามพาธหรือ URLsearch_product_docs: ค้นหา docs.getdbt.com สำหรับหน้าที่ตรงกับคิวรี; ส่งคืนชื่อเรื่อง URL และคำอธิบายที่จัดอันดับตามความเกี่ยวข้อง ใช้ get_product_doc_pages เพื่อดึงเนื้อหาทั้งหมด
ข้อมูลเมตาของเซิร์ฟเวอร์ MCP
เครื่องมือเหล่านี้ให้ข้อมูลเกี่ยวกับเซิร์ฟเวอร์ MCP เอง
get_mcp_server_branch: ส่งคืน git branch ปัจจุบันของเซิร์ฟเวอร์ dbt MCP ที่กำลังรันget_mcp_server_version: ส่งคืนเวอร์ชันปัจจุบันของเซิร์ฟเวอร์ dbt MCP
ตัวอย่าง
โดยทั่วไป คุณจะเชื่อมต่อเซิร์ฟเวอร์ dbt MCP กับผลิตภัณฑ์ agent เช่น Claude หรือ Cursor อย่างไรก็ตาม หากคุณสนใจในการสร้าง agent ของคุณเอง โปรดดูไดเรกทอรีตัวอย่างสำหรับวิธีเริ่มต้น
การพึ่งพา
การพึ่งพาถูกปักหมุดไว้ที่เวอร์ชันเฉพาะและไม่ได้รับการอัปเดตโดยอัตโนมัติ เฉพาะการอัปเดตการพึ่งพาที่เกี่ยวข้องกับความปลอดภัยเท่านั้นที่ถูกส่งผ่าน pull request แบบอัตโนมัติ
การมีส่วนร่วม
อ่าน CONTRIBUTING.md สำหรับคำแนะนำเกี่ยวกับวิธีเข้าร่วม!
ดูอินพุตของเครื่องมือและบริบทที่แก้ไขแล้วสำหรับการประกาศ selector และสัญญาของ context mapper