Keboola

ทางการ

สร้างเวิร์กโฟลว์ข้อมูล การผสานรวม และการวิเคราะห์ที่แข็งแกร่งบนแพลตฟอร์มที่ใช้งานง่ายเพียงแพลตฟอร์มเดียว

GitHub
86
ลองใช้ MCP นี้ผู้สนับสนุน

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

  • ตารางจัดเก็บคิวรี — ให้ผู้ช่วยของคุณสำรวจ buckets และ tables หรือรันคิวรี SQL เพื่อค้นหาลูกค้าอันดับต้นๆ ตามรายได้
  • สร้าง SQL transformations — อธิบาย transformation ในภาษาธรรมชาติ เช่น การ join ตารางลูกค้าและตารางคำสั่งซื้อ แล้วให้ระบบสร้างให้คุณ
  • จัดการ components และ jobs — แสดงรายการ extractors และ writers เริ่มงานดึงข้อมูล และดึงรายละเอียดการดำเนินการสำหรับ pipelines ของคุณ
  • สร้าง workflow flows — สร้างและจัดการ Conditional หรือ Orchestrator Flows เพื่อทำให้ขั้นตอนข้อมูลหลายขั้นตอนเป็นอัตโนมัติ
  • ปรับใช้ data apps — สร้างและจัดการ Streamlit Data Apps ที่แสดงผลลัพธ์คิวรีเหนือข้อมูล storage ของคุณ
  • ทำงานใน dev branches — จำกัดการดำเนินการทั้งหมดไว้ใน development branch เพื่อทดสอบการเปลี่ยนแปลงอย่างปลอดภัยโดยไม่กระทบต่อ production

เอกสาร

Ask DeepWiki

Keboola MCP Server

เชื่อมต่อ AI agents, MCP clients (Cursor, Claude, Windsurf, VS Code ...) และผู้ช่วย AI อื่นๆ เข้ากับ Keboola เปิดเผยข้อมูล การแปลงข้อมูล คำสั่ง SQL และการเรียกใช้งาน jobs—โดยไม่ต้องเขียนโค้ดเชื่อมต่อเพิ่มเติม ส่งมอบข้อมูลที่ถูกต้องให้กับ agents ในเวลาที่ต้องการและสถานที่ที่ต้องการ

ภาพรวม

Keboola MCP Server เป็นสะพานเชื่อมแบบ open-source ระหว่างโปรเจกต์ Keboola ของคุณกับเครื่องมือ AI สมัยใหม่ มันเปลี่ยนคุณสมบัติของ Keboola—เช่นการเข้าถึง storage, การแปลงข้อมูลด้วย SQL, และการเรียกใช้งาน jobs—ให้เป็นเครื่องมือที่เรียกใช้ได้สำหรับ Claude, Cursor, CrewAI, LangChain, Amazon Q และอื่นๆ

คุณสมบัติ

ด้วย AI Agent และ MCP Server คุณสามารถ:

  • Storage: คิวรีตารางโดยตรงและจัดการคำอธิบายตารางหรือ bucket
  • Components: สร้าง ดูรายการ และตรวจสอบ extractors, writers, data apps และการกำหนดค่า transformation
  • SQL: สร้าง SQL transformations ด้วยภาษาธรรมชาติ
  • Jobs: รัน components และ transformations และดึงรายละเอียดการทำงานของ jobs
  • Flows: สร้างและจัดการไปป์ไลน์งานด้วย Conditional Flows และ Orchestrator Flows
  • Data Apps: สร้าง ปรับใช้ และจัดการ Keboola Streamlit Data Apps ที่แสดงคิวรีของคุณบนข้อมูล storage
  • Metadata: ค้นหา อ่าน และอัปเดตเอกสารโปรเจกต์และ metadata ของวัตถุด้วยภาษาธรรมชาติ
  • Dev Branches: ทำงานอย่างปลอดภัยใน development branches นอก production ซึ่งการดำเนินการทั้งหมดจะจำกัดอยู่ใน branch ที่เลือก

🚀 เริ่มต้นอย่างรวดเร็ว: Remote MCP Server (วิธีที่ง่ายที่สุด)

วิธีที่ง่ายที่สุดในการใช้ Keboola MCP Server คือผ่าน Remote MCP Server ของเรา โซลูชันแบบโฮสต์นี้ช่วยลดความจำเป็นในการตั้งค่าในเครื่อง การกำหนดค่า หรือการติดตั้ง

Remote MCP Server คืออะไร?

เซิร์ฟเวอร์ระยะไกลของเราถูกโฮสต์บนทุก Keboola stack แบบ multi-tenant และรองรับการยืนยันตัวตนแบบ OAuth คุณสามารถเชื่อมต่อได้จากผู้ช่วย AI ใดก็ได้ที่รองรับการเชื่อมต่อ Streamable HTTP แบบระยะไกลและการยืนยันตัวตนแบบ OAuth

วิธีเชื่อมต่อ

  1. รับ URL ของเซิร์ฟเวอร์ระยะไกลของคุณ: ไปที่การตั้งค่าโปรเจกต์ Keboola ของคุณ → แท็บ MCP Server
  2. คัดลอก URL ของเซิร์ฟเวอร์: มันจะมีลักษณะเหมือน https://mcp.<YOUR_REGION>.keboola.com/mcp
  3. กำหนดค่าผู้ช่วย AI ของคุณ: วาง URL ลงในการตั้งค่า MCP ของผู้ช่วย AI ของคุณ
  4. ยืนยันตัวตน: คุณจะได้รับแจ้งให้เข้าสู่ระบบด้วยบัญชี Keboola ของคุณ โปรเจกต์ที่จะทำงานจะถูกเลือกในภายหลัง ในการสนทนา (เช่น "รายการโปรเจกต์ Keboola ของฉัน" / "ใช้โปรเจกต์ X")

Clients ที่รองรับ

  • Cursor: ใช้ปุ่ม "Install In Cursor" ในการตั้งค่า MCP Server ของโปรเจกต์ของคุณหรือคลิก ปุ่มนี้ Install MCP Server
  • Claude Desktop: เพิ่มการผสานรวมผ่าน Settings → Integrations
  • Claude Code: ติดตั้งโดยใช้ claude mcp add --transport http keboola <URL> (ดูรายละเอียดด้านล่าง)
  • Windsurf: กำหนดค่าด้วย URL ของเซิร์ฟเวอร์ระยะไกล
  • Make: กำหนดค่าด้วย URL ของเซิร์ฟเวอร์ระยะไกล
  • MCP clients อื่นๆ: กำหนดค่าด้วย URL ของเซิร์ฟเวอร์ระยะไกล

การตั้งค่า Claude Code

Claude Code เป็นเครื่องมืออินเทอร์เฟซบรรทัดคำสั่งที่ช่วยให้คุณโต้ตอบกับ Claude โดยใช้เทอร์มินัลของคุณ คุณสามารถติดตั้งการผสานรวม Keboola MCP Server ได้ด้วยคำสั่งง่ายๆ

การติดตั้ง:

รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ โดยแทนที่ <YOUR_REGION> ด้วยภูมิภาค Keboola ของคุณ:

claude mcp add --transport http keboola https://mcp.<YOUR_REGION>.keboola.com/mcp

คำสั่งเฉพาะภูมิภาค:

ภูมิภาคคำสั่งติดตั้ง
US Virginia AWSclaude mcp add --transport http keboola https://mcp.keboola.com/mcp
US Virginia GCPclaude mcp add --transport http keboola https://mcp.us-east4.gcp.keboola.com/mcp
EU Frankfurt AWSclaude mcp add --transport http keboola https://mcp.eu-central-1.keboola.com/mcp
EU Ireland Azureclaude mcp add --transport http keboola https://mcp.north-europe.azure.keboola.com/mcp
EU Frankfurt GCPclaude mcp add --transport http keboola https://mcp.europe-west3.gcp.keboola.com/mcp

การใช้งาน:

เมื่อติดตั้งแล้ว คุณสามารถใช้ Keboola MCP Server ใน Claude Code ได้โดยพิมพ์ /mcp ในการสนทนาของคุณและเลือกเครื่องมือ Keboola ที่คุณต้องการใช้

การยืนยันตัวตน:

เมื่อคุณใช้ Keboola MCP Server ใน Claude Code ครั้งแรก หน้าต่างเบราว์เซอร์จะเปิดขึ้นเพื่อแจ้งให้คุณ:

  1. เข้าสู่ระบบด้วยบัญชี Keboola ของคุณ
  2. อนุญาตการเชื่อมต่อ

หลังจากการยืนยันตัวตน คุณสามารถเริ่มใช้เครื่องมือ Keboola ได้โดยตรงจาก Claude Code การเลือกโปรเจกต์จะเกิดขึ้นในภายหลัง ในการสนทนา—เพียงแค่ถาม Claude ว่าโปรเจกต์ Keboola ใดที่จะใช้

สำหรับคำแนะนำการตั้งค่าโดยละเอียดและ URL เฉพาะภูมิภาค ดู เอกสารการตั้งค่า Remote Server ของเรา

การใช้ Development Branches

คุณสามารถทำงานอย่างปลอดภัยใน Keboola development branches โดยไม่กระทบต่อข้อมูล production ของคุณ MCP Servers ที่โฮสต์ระยะไกลจะเคารพพารามิเตอร์ KBC_BRANCH_ID และจะจำกัดการดำเนินการทั้งหมดไว้ใน branch ที่ระบุ คุณสามารถค้นหา development branch ID ได้ใน URL เมื่อนำทางไปยัง development branch ใน UI ตัวอย่างเช่น: https://connection.us-east4.gcp.keboola.com/admin/projects/PROJECT_ID/branch/BRANCH_ID/dashboard ต้องรวม branch ID ไว้ในแต่ละคำขอโดยใช้ header X-Branch-Id: <branchId> มิฉะนั้น MCP Server จะใช้ production branch เป็นค่าเริ่มต้น ควรจัดการโดย AI client หรือสภาพแวดล้อมที่จัดการการเชื่อมต่อเซิร์ฟเวอร์

การอนุญาตเครื่องมือและการควบคุมการเข้าถึง

เมื่อใช้การส่งข้อมูลแบบ HTTP (Streamable HTTP) คุณสามารถควบคุมว่าเครื่องมือใดบ้างที่พร้อมใช้งานสำหรับ clients โดยใช้ HTTP headers ซึ่งมีประโยชน์สำหรับการจำกัดความสามารถของ AI agents หรือบังคับใช้นโยบายการปฏิบัติตามข้อกำหนด

Authorization Headers

Headerคำอธิบายตัวอย่าง
X-Allowed-Toolsรายการเครื่องมือที่อนุญาต คั่นด้วยเครื่องหมายจุลภาคget_configs,get_buckets,query_data
X-Disallowed-Toolsรายการเครื่องมือที่จะแยกออก คั่นด้วยเครื่องหมายจุลภาคcreate_config,run_job
X-Read-Only-Modeจำกัดเฉพาะเครื่องมือแบบอ่านอย่างเดียวtrue, 1, หรือ yes

พฤติกรรมการกรอง

ตัวกรองจะถูกนำไปใช้ตามลำดับ: อนุญาต → การตัดกันแบบอ่านอย่างเดียว → การแยกออกที่ไม่ได้รับอนุญาต Headers ว่างเปล่า = ไม่มีการจำกัด

เครื่องมือแบบอ่านอย่างเดียว

เครื่องมือแบบอ่านอย่างเดียวคือเครื่องมือที่ถูกระบุด้วย readOnlyHint=True เครื่องมือเหล่านี้เพียงดึงข้อมูลโดยไม่ทำการเปลี่ยนแปลงใดๆ กับโปรเจกต์ Keboola ของคุณ สำหรับรายการเครื่องมือแบบอ่านอย่างเดียวปัจจุบัน ดูไฟล์ TOOLS.md ซึ่งเป็นภาพรวมที่สร้างอัตโนมัติของชุดเครื่องมือจริง

ตัวอย่าง: การเข้าถึงแบบอ่านอย่างเดียว

X-Read-Only-Mode: true

สำหรับเอกสารโดยละเอียด ดู developers.keboola.com/integrate/mcp/#tool-authorization-and-access-control


การตั้งค่า Local MCP Server (วิธีแบบกำหนดเองหรือสำหรับพัฒนา)

รัน MCP server บนเครื่องของคุณเองเพื่อการควบคุมเต็มรูปแบบและการพัฒนาที่ง่ายดาย เลือกวิธีนี้เมื่อคุณต้องการปรับแต่งเครื่องมือ แก้ไขข้อบกพร่องในเครื่อง หรือทำซ้ำอย่างรวดเร็ว คุณจะติดตั้งเซิร์ฟเวอร์ ยืนยันตัวตน (การเข้าสู่ระบบเบราว์เซอร์ครั้งเดียว—ไม่ต้องวาง token) และเริ่มต้นใช้งาน วิธีนี้ให้ความยืดหยุ่นสูงสุด (เครื่องมือที่กำหนดเอง การบันทึกในเครื่อง การทำซ้ำแบบออฟไลน์) แต่ต้องมีการตั้งค่าด้วยตนเองและคุณจัดการการอัปเดตและความลับด้วยตัวเอง

เซิร์ฟเวอร์รองรับตัวเลือก transport หลายแบบ ซึ่งสามารถเลือกได้โดยการระบุอาร์กิวเมนต์ --transport <transport> เมื่อเริ่มต้นเซิร์ฟเวอร์:

  • stdio - ค่าเริ่มต้นเมื่อไม่ได้ระบุ --transport มาตรฐานอินพุต/เอาต์พุต โดยทั่วไปใช้สำหรับการปรับใช้ในเครื่องกับ client เดียว
  • streamable-http - รันเซิร์ฟเวอร์ระยะไกลผ่าน HTTP ด้วยช่องสัญญาณสตรีมมิ่งแบบสองทิศทาง ช่วยให้ client และเซิร์ฟเวอร์แลกเปลี่ยนข้อความอย่างต่อเนื่อง เชื่อมต่อผ่าน /mcp (เช่น http://localhost:8000/mcp)
  • http-compat - นามแฝงสำหรับ streamable-http เก็บไว้เพื่อความเข้ากันได้ย้อนหลัง

ในการทำงานกับโปรเจกต์ Keboola ของคุณ เซิร์ฟเวอร์ต้องการสองสิ่ง: Keboola Region ของคุณ (KBC_STORAGE_API_URL) และวิธีการ ยืนยันตัวตน วิธีที่แนะนำคือการ เข้าสู่ระบบ ผ่านเบราว์เซอร์ครั้งเดียว—คุณไม่ต้องสร้าง คัดลอก หรือวาง token เลือกตั้งค่า KBC_BRANCH_ID เพื่อทำงานภายใน development branch

ตัวแปรบางตัวไม่ได้ถูกนำมาจาก request headers:

  • KBC_STORAGE_API_URL: เซิร์ฟเวอร์ที่เริ่มต้นด้วย Storage API URL ของตัวเอง (พารามิเตอร์ --api-url หรือตัวแปรสภาพแวดล้อม KBC_STORAGE_API_URL) จะให้บริการเฉพาะ Keboola stack นั้นเท่านั้น header X-Storage-Api-Url ที่ขอ host อื่นจะถูกละเว้น (มีการบันทึกคำเตือน)—เซิร์ฟเวอร์จะใช้ URL ของตัวเองสำหรับคำขอ เริ่มต้นเซิร์ฟเวอร์โดยไม่มี Storage API URL ของตัวเองหากคุณต้องการให้แต่ละคำขอเลือก stack ของตัวเอง
  • KBC_KUBERNETES_TOKEN_PATH (เฉพาะเซิร์ฟเวอร์ที่ปรับใช้แล้ว ดู docs/kubernetes-sa-auth.md): อ่านจากสภาพแวดล้อมเท่านั้น ไม่เคยอ่านจาก header
  • KBC_WORKSPACE_ID / KBC_WORKSPACE_SCHEMA: แนวคิดเดียวกันกับ Storage API URL ด้านบน—เซิร์ฟเวอร์ที่เริ่มต้นด้วย workspace pin ของตัวเอง (ผ่านตัวแปรใดตัวแปรหนึ่ง หรือ --workspace-id) จะเก็บ pin นั้นไว้สำหรับทุกคำขอ header X-Workspace-Id หรือ X-Workspace-Schema ที่ขอ workspace อื่นจะถูกละเว้น (มีการบันทึกคำเตือน) เซิร์ฟเวอร์ที่ไม่มี pin ของตัวเอง (กรณีผู้ใช้หลายคนที่ใช้ร่วมกัน) จะยังคงรับ pin จากคำขอ ต่อคำขอ ตามที่อธิบายด้านล่าง

การเข้าสู่ระบบ

ลงชื่อเข้าใช้ครั้งเดียวด้วยเบราว์เซอร์ของคุณ เซิร์ฟเวอร์จะเก็บเซสชันและรีเฟรชโดยอัตโนมัติ ดังนั้นจึงไม่มี token ที่ต้องจัดการ:

uvx keboola_mcp_server login --api-url https://connection.YOUR_REGION.keboola.com

สิ่งนี้จะเปิดเบราว์เซอร์ของคุณเพื่อลงชื่อเข้าใช้ Keboola จากนั้นบันทึกเซสชันทั้ง stack ไปยัง ~/.keboola/mcp/credentials.json (อ่านได้เฉพาะคุณเท่านั้น หนึ่งรายการต่อ stack) หลังจากนั้น เริ่มต้นเซิร์ฟเวอร์โดยตั้งค่าเฉพาะ KBC_STORAGE_API_URL—ไม่ต้องใช้ token โปรเจกต์ที่จะทำงานจะถูกเลือกในภายหลัง ในการสนทนา (get_accessible_projects / set_project_scope) ไม่ใช่ระหว่างการเข้าสู่ระบบ

คำสั่งสิ่งที่ทำ
login --api-url <url>ลงชื่อเข้าใช้ stack
login --forceลงชื่อเข้าใช้อีกครั้ง / สลับบัญชี
login --show-tokenพิมพ์ token เซสชันปัจจุบัน (การแก้ไขข้อบกพร่อง)
logout [--api-url <url>] [--all]ลบเซสชันที่เก็บไว้สำหรับ stack (หรือทุก stack)

เมื่อคุณเริ่มต้นเซิร์ฟเวอร์ผ่าน stdio ในเทอร์มินัลแบบโต้ตอบ โดยไม่มีเซสชันที่เก็บไว้ มันจะรันการเข้าสู่ระบบเบราว์เซอร์นี้โดยอัตโนมัติในการเริ่มต้นครั้งแรก MCP clients (Claude, Cursor, …) เปิดตัวเซิร์ฟเวอร์ในพื้นหลังซึ่งเบราว์เซอร์ไม่สามารถเปิดได้ ดังนั้นให้รัน login ด้วยตัวเองก่อน

การเริ่มต้นโดยไม่มีบัญชี Keboola

คุณยังสามารถเริ่มต้นเซิร์ฟเวอร์ด้วยเฉพาะ KBC_STORAGE_API_URL และไม่มีข้อมูลประจำตัวใดๆ มันจะเริ่มต้นใน bootstrap mode: เครื่องมือที่ต้องการการเข้าถึง Keboola จะอธิบายวิธีรับข้อมูลประจำตัว และเครื่องมือหนึ่งทำงานได้โดยไม่ต้องใช้—create_project มันสร้างโปรเจกต์ Keboola ใหม่ ลงชื่อเซสชันเข้าไป และส่งคืน URL การยืนยัน การเปิด URL นั้นในเบราว์เซอร์และลงชื่อเข้าใช้จะทำให้โปรเจกต์เป็นของคุณถาวร จนกว่าจะถึงเวลานั้นมันเป็นชั่วคราวและ Keboola อาจเรียกคืนได้ และเมื่อคุณยืนยันแล้ว เซสชันที่เครื่องมือสร้างขึ้นจะถูกเพิกถอนและคุณดำเนินการต่อด้วย login ของคุณเอง

สิ่งนี้ต้องใช้ stack ที่เปิดใช้งาน agent provisioning มิฉะนั้นเครื่องมือจะรายงานว่าไม่พร้อมใช้งาน

การยืนยันตัวตนโดยไม่ใช้เบราว์เซอร์

สำหรับ containers หรือ CI ที่ไม่สามารถเข้าสู่ระบบผ่านเบราว์เซอร์ได้ ให้ระบุ access หรือ personal access token ของ Keboola โดยตรง—ตั้งค่า KBC_STORAGE_TOKEN (env var) หรือส่ง header X-StorageAPI-Token—พร้อมกับ KBC_PROJECT_ID (หรือ header X-KBC-ProjectId) เพื่อเลือกโปรเจกต์ บน HTTP transports สิ่งเหล่านี้สามารถระบุได้ต่อคำขอเป็น headers ดังนั้นแต่ละคำขอจึงมีข้อมูลประจำตัวของตัวเอง

KBC_WORKSPACE_ID

ปักหมุดคิวรีไปยัง workspace ที่มีอยู่แล้วโดยเฉพาะด้วย ID แทนการค้นหาตาม schema ด้านบน และมีความสำคัญเหนือกว่า KBC_WORKSPACE_SCHEMA เมื่อตั้งค่าทั้งสอง นี่คือตัวเลือกที่ Data App / kai-agent caller ระบุ เป็น header X-Workspace-Id เพื่อให้ Kai ที่ฝังอยู่ในแอปนั้นคิวรีผ่าน workspace ของตัวเองเท่านั้น

ตั้งค่าผ่านตัวแปรสภาพแวดล้อม KBC_WORKSPACE_ID, แฟล็ก CLI --workspace-id, หรือ (ต่อคำขอ สำหรับการปรับใช้ผู้ใช้หลายคน) header X-Workspace-Id

KBC_STORAGE_API_URL (Keboola Region)

URL API ของ Keboola Region ของคุณขึ้นอยู่กับภูมิภาคการปรับใช้ของคุณ คุณสามารถระบุภูมิภาคของคุณได้โดยดูที่ URL ในเบราว์เซอร์เมื่อเข้าสู่ระบบโปรเจกต์ Keboola ของคุณ:

ภูมิภาคAPI URL
AWS North Americahttps://connection.keboola.com
AWS Europehttps://connection.eu-central-1.keboola.com
Google Cloud EUhttps://connection.europe-west3.gcp.keboola.com
Google Cloud UShttps://connection.us-east4.gcp.keboola.com
Azure EUhttps://connection.north-europe.azure.keboola.com

KBC_BRANCH_ID (ไม่บังคับ)

เพื่อดำเนินการกับ สาขาการพัฒนา Keboola เฉพาะ ให้ตั้งค่า ID สาขาโดยใช้พารามิเตอร์ KBC_BRANCH_ID เซิร์ฟเวอร์ MCP จะจำกัดการทำงานให้อยู่ในสาขาที่ระบุ เพื่อให้แน่ใจว่าการเปลี่ยนแปลงทั้งหมดยังคงแยกออกจากกันและไม่ส่งผลกระทบต่อสาขาการผลิต

  • หากไม่ได้ระบุ เซิร์ฟเวอร์จะใช้สาขาการผลิตเป็นค่าเริ่มต้น
  • สำหรับงานพัฒนา ให้ตั้งค่า KBC_BRANCH_ID เป็น ID ตัวเลขของสาขาของคุณ (เช่น 123456) คุณสามารถค้นหา ID สาขาการพัฒนาได้ใน URL เมื่อนำทางไปยังสาขาการพัฒนาในอินเทอร์เฟซผู้ใช้ ตัวอย่างเช่น: https://connection.us-east4.gcp.keboola.com/admin/projects/PROJECT_ID/branch/BRANCH_ID/dashboard
  • บนการเชื่อมต่อระยะไกล คุณสามารถแทนที่คำขอแต่ละรายการได้ด้วย HTTP header X-Branch-Id: <branchId> หรือ KBC_BRANCH_ID: <branchId>

การติดตั้ง

ตรวจสอบให้แน่ใจว่าคุณมี:

  • ติดตั้ง Python 3.10+ แล้ว
  • การเข้าถึงโปรเจกต์ Keboola ที่มีสิทธิ์ผู้ดูแลระบบ
  • ไคลเอนต์ MCP ที่คุณต้องการ (Claude, Cursor ฯลฯ)

หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง uv แล้ว ไคลเอนต์ MCP จะใช้มันเพื่อดาวน์โหลดและรัน Keboola MCP Server โดยอัตโนมัติ การติดตั้ง uv:

macOS/Linux:

#if homebrew is not installed on your machine use:
# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install using Homebrew
brew install uv

Windows:

# Using the installer script
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# Or using pip
pip install uv

# Or using winget
winget install --id=astral-sh.uv -e

สำหรับตัวเลือกการติดตั้งเพิ่มเติม ดู เอกสาร uv อย่างเป็นทางการ

การรัน Keboola MCP Server

มีสี่วิธีในการใช้ Keboola MCP Server ขึ้นอยู่กับความต้องการของคุณ:

ตัวเลือก A: โหมดรวม (แนะนำ)

ในโหมดนี้ Claude หรือ Cursor จะเริ่มเซิร์ฟเวอร์ MCP ให้คุณโดยอัตโนมัติ

  1. เข้าสู่ระบบครั้งเดียว ในเทอร์มินัลเพื่อเก็บเซสชันไว้ (ไคลเอนต์จะเปิดเซิร์ฟเวอร์ในพื้นหลัง ซึ่งเบราว์เซอร์ไม่สามารถเปิดได้):
    uvx keboola_mcp_server login --api-url https://connection.YOUR_REGION.keboola.com
    
  2. กำหนดค่าไคลเอนต์ MCP ของคุณ (Claude/Cursor) ด้วยการตั้งค่าด้านล่าง — จำเป็นต้องใช้เฉพาะ KBC_STORAGE_API_URL เท่านั้น
  3. ไคลเอนต์จะเปิดเซิร์ฟเวอร์ MCP โดยอัตโนมัติเมื่อจำเป็น

การกำหนดค่า Claude Desktop

  1. ไปที่ Claude (มุมซ้ายบนของหน้าจอ) -> การตั้งค่า → นักพัฒนา → แก้ไขการกำหนดค่า (หากคุณไม่เห็น claude_desktop_config.json ให้สร้างขึ้นมา)
  2. เพิ่มการกำหนดค่าต่อไปนี้:
  3. รีสตาร์ท Claude desktop เพื่อให้การเปลี่ยนแปลงมีผล
{
  "mcpServers": {
    "keboola": {
      "command": "uvx",
      "args": ["keboola_mcp_server --transport <transport>"],
      "env": {
        "KBC_STORAGE_API_URL": "https://connection.YOUR_REGION.keboola.com",
        "KBC_BRANCH_ID": "your_branch_id_optional"
      }
    }
  }
}

ตำแหน่งไฟล์การกำหนดค่า:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

การกำหนดค่า Cursor

  1. ไปที่ การตั้งค่า → MCP
  2. คลิก "+ เพิ่ม Global MCP Server ใหม่"
  3. กำหนดค่าด้วยการตั้งค่าเหล่านี้:
{
  "mcpServers": {
    "keboola": {
      "command": "uvx",
      "args": ["keboola_mcp_server --transport <transport>"],
      "env": {
        "KBC_STORAGE_API_URL": "https://connection.YOUR_REGION.keboola.com",
        "KBC_BRANCH_ID": "your_branch_id_optional"
      }
    }
  }
}

หมายเหตุ: ใช้ชื่อที่สั้นและสื่อความหมายสำหรับเซิร์ฟเวอร์ MCP เนื่องจากชื่อเครื่องมือเต็มรวมถึงชื่อเซิร์ฟเวอร์และต้องอยู่ภายใต้ ~60 ตัวอักษร ชื่อที่ยาวกว่าอาจถูกกรองออกใน Cursor และจะไม่แสดงให้ Agent เห็น

การกำหนดค่า Cursor สำหรับ Windows WSL

เมื่อรันเซิร์ฟเวอร์ MCP จาก Windows Subsystem for Linux ด้วย Cursor AI ให้ใช้การกำหนดค่านี้:

{
  "mcpServers": {
    "keboola":{
      "command": "wsl.exe",
      "args": [
          "bash",
          "-c '",
          "export KBC_STORAGE_API_URL=https://connection.YOUR_REGION.keboola.com &&",
          "export KBC_BRANCH_ID=your_branch_id_optional &&",
          "/snap/bin/uvx keboola_mcp_server --transport <transport>",
          "'"
      ]
    }
  }
}

ตัวเลือก B: โหมดการพัฒนาท้องถิ่น

สำหรับนักพัฒนาที่ทำงานกับโค้ดเซิร์ฟเวอร์ MCP เอง:

  1. โคลนที่เก็บและตั้งค่าสภาพแวดล้อมท้องถิ่น
  2. กำหนดค่า Claude/Cursor ให้ใช้เส้นทาง Python ในเครื่องของคุณ:
{
  "mcpServers": {
    "keboola": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": [
        "-m",
        "keboola_mcp_server --transport <transport>"
      ],
      "env": {
        "KBC_STORAGE_API_URL": "https://connection.YOUR_REGION.keboola.com",
        "KBC_BRANCH_ID": "your_branch_id_optional"
      }
    }
  }
}

ตัวเลือก C: โหมด CLI ด้วยตนเอง (สำหรับการทดสอบเท่านั้น)

คุณสามารถรันเซิร์ฟเวอร์ด้วยตนเองในเทอร์มินัลเพื่อการทดสอบหรือดีบัก:

# Sign in once (stores a session under ~/.keboola/mcp), then start the server.
export KBC_STORAGE_API_URL=https://connection.YOUR_REGION.keboola.com
uvx keboola_mcp_server login --api-url "$KBC_STORAGE_API_URL"

uvx keboola_mcp_server --transport streamable-http

หมายเหตุ: โหมดนี้主要用于การดีบักหรือทดสอบ สำหรับการใช้งานปกติกับ Claude หรือ Cursor คุณไม่จำเป็นต้องรันเซิร์ฟเวอร์ด้วยตนเอง

หมายเหตุ: เซิร์ฟเวอร์จะใช้ Streamable HTTP transport และฟังที่ localhost:8000 สำหรับการเชื่อมต่อขาเข้าที่ /mcp คุณสามารถใช้พารามิเตอร์ --port และ --host เพื่อให้ฟังที่อื่น

ตัวเลือก D: การใช้ Docker

คอนเทนเนอร์ไม่สามารถเปิดเบราว์เซอร์ได้ ดังนั้นให้ตรวจสอบสิทธิ์ด้วยโทเค็น (ดู การตรวจสอบสิทธิ์โดยไม่ใช้เบราว์เซอร์): ตั้งค่า KBC_STORAGE_TOKEN เป็นโทเค็นการเข้าถึง/โทเค็นการเข้าถึงส่วนบุคคลของ Keboola และ KBC_PROJECT_ID เป็นโปรเจกต์เป้าหมาย (ผ่าน HTTP คุณสามารถส่ง header X-StorageAPI-Token / X-KBC-ProjectId ต่อคำขอและละเว้นสิ่งเหล่านี้ได้)

docker pull keboola/mcp-server:latest

docker run \
  --name keboola_mcp_server \
  --rm \
  -it \
  -p 127.0.0.1:8000:8000 \
  -e KBC_STORAGE_API_URL="https://connection.YOUR_REGION.keboola.com" \
  -e KBC_STORAGE_TOKEN="YOUR_KEBOOLA_TOKEN" \
  -e KBC_PROJECT_ID="YOUR_PROJECT_ID" \
  -e KBC_BRANCH_ID="YOUR_BRANCH_ID_OPTIONAL" \
  keboola/mcp-server:latest \
  --transport streamable-http \
  --host 0.0.0.0

หมายเหตุ: เซิร์ฟเวอร์จะใช้ Streamable HTTP transport และฟังที่ localhost:8000 สำหรับการเชื่อมต่อขาเข้าที่ /mcp คุณสามารถเปลี่ยน -p เพื่อแมปพอร์ตของคอนเทนเนอร์ไปที่อื่น

ฉันจำเป็นต้องเริ่มเซิร์ฟเวอร์ด้วยตนเองหรือไม่?

สถานการณ์ต้องรันด้วยตนเองหรือไม่?ใช้การตั้งค่านี้
ใช้ Claude/Cursorไม่กำหนดค่า MCP ในการตั้งค่าแอป
พัฒนา MCP ในเครื่องไม่ (Claude เริ่มให้)ชี้การกำหนดค่าไปที่เส้นทาง python
ทดสอบ CLI ด้วยตนเองใช่ใช้เทอร์มินัลเพื่อรัน
ใช้ Dockerใช่รันคอนเทนเนอร์ docker

การใช้ MCP Server

เมื่อไคลเอนต์ MCP ของคุณ (Claude/Cursor) ได้รับการกำหนดค่าและรันแล้ว คุณสามารถเริ่มสอบถามข้อมูล Keboola ของคุณได้:

ตรวจสอบการตั้งค่าของคุณ

คุณสามารถเริ่มต้นด้วยคำสั่งง่ายๆ เพื่อยืนยันว่าทุกอย่างทำงาน:

What buckets and tables are in my Keboola project?

ตัวอย่างสิ่งที่คุณสามารถทำได้

การสำรวจข้อมูล:

  • "ตารางใดบ้างที่มีข้อมูลลูกค้า?"
  • "รันคำสั่งเพื่อค้นหาลูกค้า 10 อันดับแรกตามรายได้"

การวิเคราะห์ข้อมูล:

  • "วิเคราะห์ข้อมูลการขายของฉันตามภูมิภาคสำหรับไตรมาสที่ผ่านมา"
  • "ค้นหาความสัมพันธ์ระหว่างอายุลูกค้าและความถี่ในการซื้อ"

ไปป์ไลน์ข้อมูล:

  • "สร้างการแปลง SQL ที่รวมตารางลูกค้าและตารางคำสั่งซื้อ"
  • "เริ่มงานแยกข้อมูลสำหรับคอมโพเนนต์ Salesforce ของฉัน"

ความเข้ากันได้

การสนับสนุนไคลเอนต์ MCP

ไคลเอนต์ MCPสถานะการสนับสนุนวิธีการเชื่อมต่อ
Claude (Desktop & Web)✅ รองรับstdio
Cursor✅ รองรับstdio
Windsurf, Zed, Replit✅ รองรับstdio
Codeium, Sourcegraph✅ รองรับStreamable HTTP
ไคลเอนต์ MCP ที่กำหนดเอง✅ รองรับStreamable HTTP หรือ stdio

เครื่องมือที่รองรับ

หมายเหตุ: เอเจนต์ AI ของคุณจะปรับให้เข้ากับเครื่องมือใหม่โดยอัตโนมัติ

สำหรับรายการเครื่องมือที่มีอยู่ทั้งหมดพร้อมคำอธิบายโดยละเอียด พารามิเตอร์ และตัวอย่างการใช้งาน ดู TOOLS.md

การแก้ไขปัญหา

ปัญหาทั่วไป

ปัญหาวิธีแก้ไข
ข้อผิดพลาดการตรวจสอบสิทธิ์รัน keboola_mcp_server login อีกครั้ง (หรือหากตรวจสอบสิทธิ์ด้วยโทเค็น ให้ตรวจสอบโทเค็นและ KBC_PROJECT_ID)
หมดเวลาการเชื่อมต่อตรวจสอบการเชื่อมต่อเครือข่าย

การพัฒนา

การติดตั้ง

การตั้งค่าพื้นฐาน:

uv sync --extra dev

ด้วยการตั้งค่าพื้นฐาน คุณสามารถใช้ uv run tox เพื่อรันการทดสอบและตรวจสอบสไตล์โค้ด

การตั้งค่าที่แนะนำ:

uv sync --extra dev --extra tests --extra integtests --extra codestyle

ด้วยการตั้งค่าที่แนะนำ แพ็กเกจสำหรับการทดสอบและการตรวจสอบสไตล์โค้ดจะถูกติดตั้ง ซึ่งช่วยให้ IDE เช่น VsCode หรือ Cursor ตรวจสอบโค้ดหรือรันการทดสอบระหว่างการพัฒนา

การทดสอบการรวมระบบ

เพื่อรันการทดสอบการรวมระบบในเครื่อง ให้ใช้ uv run tox -e integtests หมายเหตุ: คุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้:

  • INTEGTEST_POOL_STORAGE_API_URL
  • INTEGTEST_STORAGE_TOKENS
  • INTEGTEST_STORAGE_TOKEN_STORAGE_BRANCHES

เพื่อให้ได้ค่าเหล่านี้ คุณต้องมีโปรเจกต์ Keboola เฉพาะสำหรับการทดสอบการรวมระบบ แต่ละเซสชันการทดสอบจะสร้างเวิร์กสเปซแบบอ่านอย่างเดียวของตัวเอง ดังนั้นไม่จำเป็นต้องกำหนดค่า สคีมาเวิร์กสเปซ ดู integtests/README.md สำหรับคำแนะนำการตั้งค่าโดยละเอียดและเอกสารการออกแบบ

การอัปเดต uv.lock

อัปเดตไฟล์ uv.lock หากคุณเพิ่มหรือลบการพึ่งพา พิจารณาอัปเดตล็อกด้วยเวอร์ชันการพึ่งพาที่ใหม่กว่า เมื่อสร้างรีลีส (uv lock --upgrade)

การอัปเดตเอกสารเครื่องมือ

เมื่อคุณทำการเปลี่ยนแปลงคำอธิบายเครื่องมือใดๆ (docstrings ในฟังก์ชันเครื่องมือ) คุณต้องสร้างไฟล์เอกสาร TOOLS.md ใหม่เพื่อสะท้อนการเปลี่ยนแปลงเหล่านี้:

uv run python -m src.keboola_mcp_server.generate_tool_docs

การเผยแพร่

เรา ไม่ ตัดรีลีสสำหรับทุก PR ที่รวม การทำงานจะลงบน trunk (main) อย่างต่อเนื่อง และเราเผยแพร่เป็นระยะเมื่อการเปลี่ยนแปลงได้รับการทดสอบซ้ำร่วมกัน — เพื่อหลีกเลี่ยงการทำลายการตั้งค่าที่ทำงานอยู่ของผู้ใช้

รีลีสทำโดยการผลัก แท็ก git หนึ่งหรือสองแท็ก:

  • vX.Y.Z — รีลีสเซิร์ฟเวอร์ MCP (เสมอ)
  • agent-vX.Y.Z — รีลีส In Platform Agent (เฉพาะเมื่อมีการเผยแพร่เอเจนต์ด้วย)

แท็กใดแท็กหนึ่งจะทริกเกอร์ CI ของ release.yml ซึ่งสร้างและเผยแพร่ Docker image KaiBench รันเฉพาะบนแท็ก vX.Y.Z การผลิต (ไม่ใช่ agent-vX.Y.Z และไม่ใช่ -dev. พรีรีลีส) ใช้ ทักษะ release-notes — มันเตรียมบันทึกรีลีสและ PR ร่าง และแนะนำขั้นตอนการแท็ก ทั้ง vX.Y.Z และ agent-vX.Y.Z

การสนับสนุนและข้อเสนอแนะ

⭐ วิธีหลักในการขอความช่วยเหลือ รายงานบั๊ก หรือขอฟีเจอร์คือ การเปิด issue บน GitHub ⭐

ทีมพัฒนาติดตาม issues อย่างแข็งขันและจะตอบกลับโดยเร็วที่สุด สำหรับข้อมูลทั่วไปเกี่ยวกับ Keboola โปรดใช้ทรัพยากรด้านล่าง

ทรัพยากร

เชื่อมต่อ