1. บทนำ
ใน Codelab นี้ คุณจะได้ใช้ MCP Toolbox สำหรับฐานข้อมูลเพื่อให้ชุดข้อมูล BigQuery พร้อมใช้งาน
ใน Codelab นี้ คุณจะได้ใช้แนวทางแบบทีละขั้นตอนดังนี้
- ระบุชุดข้อมูล BigQuery ที่เฉพาะเจาะจง ("หมายเหตุประจำรุ่นของ Google Cloud") จากโปรแกรมชุดข้อมูล BigQuery สาธารณะ
- ตั้งค่า MCP Toolbox สำหรับฐานข้อมูลที่เชื่อมต่อกับชุดข้อมูล BigQuery
- พัฒนา Agent โดยใช้ Agent Development Kit (ADK) ซึ่งจะใช้ MCP Toolbox เพื่อตอบคำถามจากผู้ใช้เกี่ยวกับหมายเหตุประจำรุ่นของ Google Cloud
สิ่งที่คุณต้องทำ
- ตั้งค่า MCP Toolbox สำหรับฐานข้อมูลเพื่อแสดงหมายเหตุประจำรุ่นของ Google Cloud ซึ่งเป็นชุดข้อมูล BigQuery สาธารณะเป็นอินเทอร์เฟซ MCP ให้กับไคลเอ็นต์ MCP อื่นๆ (IDE, เครื่องมือ ฯลฯ)
สิ่งที่คุณจะได้เรียนรู้
- สำรวจชุดข้อมูลสาธารณะของ BigQuery แล้วเลือกชุดข้อมูลที่ต้องการ
- ตั้งค่า MCP Toolbox สำหรับฐานข้อมูลสำหรับชุดข้อมูลสาธารณะ BigQuery ที่เราต้องการทำให้พร้อมใช้งานสำหรับลูกค้า MCP
- ออกแบบและพัฒนา Agent โดยใช้ Agent Development Kit (ADK) เพื่อตอบคำค้นหาของผู้ใช้
- ทดสอบ Agent และ MCP Toolbox สำหรับฐานข้อมูลในสภาพแวดล้อมในเครื่อง
สิ่งที่คุณต้องมี
- เว็บเบราว์เซอร์ Chrome
- สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Python ในเครื่อง
2. ก่อนเริ่มต้น
สร้างโปรเจ็กต์
- ในคอนโซล Google Cloud ให้เลือกหรือสร้างโปรเจ็กต์ Google Cloud ในหน้าตัวเลือกโปรเจ็กต์
- ตรวจสอบว่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์เปิดใช้การเรียกเก็บเงินแล้ว ดูวิธีตรวจสอบว่าได้เปิดใช้การเรียกเก็บเงินในโปรเจ็กต์แล้วหรือไม่
- คุณจะใช้ Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานใน Google Cloud และโหลด bq ไว้ล่วงหน้า คลิกเปิดใช้งาน Cloud Shell ที่ด้านบนของคอนโซล Google Cloud

- เมื่อเชื่อมต่อกับ Cloud Shell แล้ว ให้ตรวจสอบว่าคุณได้รับการตรวจสอบสิทธิ์แล้วและตั้งค่าโปรเจ็กต์เป็นรหัสโปรเจ็กต์โดยใช้คำสั่งต่อไปนี้
gcloud auth list
- เรียกใช้คำสั่งต่อไปนี้ใน Cloud Shell เพื่อยืนยันว่าคำสั่ง gcloud รู้จักโปรเจ็กต์ของคุณ
gcloud config list project
- หากไม่ได้ตั้งค่าโปรเจ็กต์ ให้ใช้คำสั่งต่อไปนี้เพื่อตั้งค่า
gcloud config set project <YOUR_PROJECT_ID>
- เปิดใช้ API ที่จำเป็นผ่านคำสั่งที่แสดงด้านล่าง การดำเนินการนี้อาจใช้เวลาสักครู่ โปรดอดใจรอ
gcloud services enable cloudresourcemanager.googleapis.com \
servicenetworking.googleapis.com \
run.googleapis.com \
cloudbuild.googleapis.com \
cloudfunctions.googleapis.com \
aiplatform.googleapis.com \
sqladmin.googleapis.com \
compute.googleapis.com
เมื่อเรียกใช้คำสั่งสำเร็จ คุณควรเห็นข้อความที่คล้ายกับข้อความที่แสดงด้านล่าง
Operation "operations/..." finished successfully.
คุณสามารถใช้คอนโซลแทนคำสั่ง gcloud ได้โดยค้นหาแต่ละผลิตภัณฑ์หรือใช้ลิงก์นี้
หากพลาด API ใดไป คุณก็เปิดใช้ได้ทุกเมื่อในระหว่างการติดตั้งใช้งาน
โปรดดูคำสั่งและการใช้งาน gcloud ในเอกสารประกอบ
3. ชุดข้อมูลบันทึกประจำรุ่นของ Google และลูกค้า MCP
ก่อนอื่น เรามาดูบันทึกประจำรุ่นของ Google Cloud ที่มีการอัปเดตเป็นประจำในหน้าเว็บบันทึกประจำรุ่นอย่างเป็นทางการของ Google Cloud ซึ่งมีภาพหน้าจอด้านล่าง

คุณอาจสมัครรับข้อมูล URL ฟีด แต่จะเกิดอะไรขึ้นหากเราเพียงแค่ถามใน Agent Chat เกี่ยวกับหมายเหตุประจำรุ่นเหล่านี้ อาจเป็นคำค้นหาที่เรียบง่าย เช่น "อัปเดตข้อมูลเกี่ยวกับหมายเหตุประจำรุ่นของ Google Cloud ให้ฉันหน่อย"
4. MCP Toolbox สำหรับฐานข้อมูล
MCP Toolbox สำหรับฐานข้อมูลคือเซิร์ฟเวอร์ MCP แบบโอเพนซอร์สสำหรับฐานข้อมูล ซึ่งออกแบบมาโดยคำนึงถึงคุณภาพระดับองค์กรและระดับการใช้งานจริง ซึ่งช่วยให้คุณพัฒนาเครื่องมือได้ง่ายขึ้น เร็วขึ้น และปลอดภัยยิ่งขึ้นด้วยการจัดการความซับซ้อนต่างๆ เช่น การจัดกลุ่มการเชื่อมต่อ การตรวจสอบสิทธิ์ และอื่นๆ
กล่องเครื่องมือช่วยคุณสร้างเครื่องมือ Gen AI ที่ช่วยให้ตัวแทนเข้าถึงข้อมูลในฐานข้อมูลได้ กล่องเครื่องมือมีฟีเจอร์ต่อไปนี้
- การพัฒนาที่ง่ายขึ้น: ผสานรวมเครื่องมือกับเอเจนต์โดยใช้โค้ดไม่ถึง 10 บรรทัด นำเครื่องมือไปใช้ซ้ำระหว่างเอเจนต์หรือเฟรมเวิร์กหลายรายการ และติดตั้งใช้งานเครื่องมือเวอร์ชันใหม่ได้ง่ายขึ้น
- ประสิทธิภาพที่ดีขึ้น: แนวทางปฏิบัติแนะนำ เช่น การรวมการเชื่อมต่อ การตรวจสอบสิทธิ์ และอื่นๆ
- การรักษาความปลอดภัยที่ดียิ่งขึ้น: การตรวจสอบสิทธิ์แบบผสานรวมเพื่อการเข้าถึงข้อมูลที่ปลอดภัยยิ่งขึ้น
- ความสามารถในการสังเกตแบบครบวงจร: เมตริกและการติดตามที่พร้อมใช้งานพร้อมการรองรับ OpenTelemetry ในตัว
- Toolbox ช่วยให้เชื่อมต่อฐานข้อมูลกับผู้ช่วย AI ที่ใช้ MCP ได้อย่างง่ายดาย แม้ว่าผู้ช่วย AI นั้นจะอยู่ใน IDE ก็ตาม
Toolbox อยู่ระหว่างเฟรมเวิร์กการจัดระเบียบของแอปพลิเคชันกับฐานข้อมูล โดยมี Control Plane ที่ใช้ในการแก้ไข แจกจ่าย หรือเรียกใช้เครื่องมือ ซึ่งจะช่วยให้คุณจัดการเครื่องมือได้ง่ายขึ้นด้วยการจัดหาตำแหน่งส่วนกลางสำหรับจัดเก็บและอัปเดตเครื่องมือ ทำให้คุณแชร์เครื่องมือระหว่างตัวแทนและแอปพลิเคชัน รวมถึงอัปเดตเครื่องมือเหล่านั้นได้โดยไม่ต้องติดตั้งแอปพลิเคชันใหม่

สรุปได้ง่ายๆ ว่า
- MCP Toolbox พร้อมใช้งานเป็นไบนารี อิมเมจคอนเทนเนอร์ หรือคุณจะสร้างจากแหล่งที่มาก็ได้
- โดยจะแสดงชุดเครื่องมือที่คุณกำหนดค่าผ่านไฟล์ tools.yaml เครื่องมือนี้สามารถใช้เชื่อมต่อกับแหล่งข้อมูลได้ คุณจะเห็นแหล่งข้อมูลต่างๆ ที่รองรับ เช่น AlloyDB, BigQuery เป็นต้น
- เนื่องจากตอนนี้กล่องเครื่องมือนี้รองรับ MCP แล้ว คุณจึงมีปลายทางของเซิร์ฟเวอร์ MCP โดยอัตโนมัติ ซึ่ง Agent (IDE) สามารถใช้ได้ หรือคุณจะใช้ปลายทางนี้ขณะพัฒนาแอปพลิเคชัน Agent โดยใช้เฟรมเวิร์กต่างๆ เช่น Agent Development Kit (ADK) ก็ได้
ในบล็อกโพสต์นี้ เราจะมุ่งเน้นที่ส่วนที่ไฮไลต์ไว้ด้านล่าง

โดยสรุป เราจะสร้างการกำหนดค่าใน MCP Toolbox สำหรับฐานข้อมูลที่ทราบวิธีเชื่อมต่อกับชุดข้อมูล BigQuery จากนั้นเราจะพัฒนา Agent โดยใช้ Agent Development Kit (ADK) ซึ่งจะผสานรวมกับปลายทาง MCP Toolbox และช่วยให้เราส่งคำค้นหาที่เป็นภาษาธรรมชาติเพื่อถามเกี่ยวกับชุดข้อมูลได้ ลองนึกถึงแอปพลิเคชันแบบเอเจนต์ที่คุณกำลังพัฒนาซึ่งรู้วิธีสื่อสารกับชุดข้อมูล BigQuery และเรียกใช้การค้นหาบางอย่าง
5. หมายเหตุประจำรุ่นของชุดข้อมูล BigQuery สำหรับ Google Cloud
โปรแกรมชุดข้อมูลสาธารณะของ Google Cloud เป็นโปรแกรมที่จัดหาชุดข้อมูลต่างๆ ให้กับแอปพลิเคชันของคุณ ชุดข้อมูลดังกล่าวชุดหนึ่งคือฐานข้อมูลหมายเหตุประจำรุ่นของ Google Cloud ชุดข้อมูลนี้จะให้ข้อมูลเดียวกันกับหน้าเว็บหมายเหตุประจำรุ่นอย่างเป็นทางการของ Google Cloud และพร้อมใช้งานเป็นชุดข้อมูลที่ค้นหาได้แบบสาธารณะ

ในการทดสอบ ฉันเพียงแค่ตรวจสอบชุดข้อมูลโดยการเรียกใช้การค้นหาอย่างง่ายที่แสดงด้านล่าง
SELECT
product_name,description,published_at
FROM
`bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
WHERE
DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY product_name,description,published_at
ORDER BY published_at DESC
ซึ่งจะแสดงรายการระเบียนจากชุดข้อมูลหมายเหตุประจำรุ่นที่เผยแพร่ในช่วง 7 วันที่ผ่านมา
แทนที่ด้วยชุดข้อมูลอื่นๆ ที่คุณเลือก รวมถึงคําค้นหาและพารามิเตอร์ที่เกี่ยวข้องที่คุณต้องการ ตอนนี้สิ่งที่เราต้องทำคือตั้งค่านี้เป็นแหล่งข้อมูลและเครื่องมือใน MCP Toolbox สำหรับฐานข้อมูล มาดูวิธีกัน
6. การติดตั้ง MCP Toolbox สำหรับฐานข้อมูล
เปิดเทอร์มินัลในเครื่องของคุณและสร้างโฟลเดอร์ชื่อ mcp-toolbox
mkdir mcp-toolbox
ไปที่โฟลเดอร์ mcp-toolbox ผ่านคำสั่งที่แสดงด้านล่าง
cd mcp-toolbox
ติดตั้ง MCP Toolbox สำหรับฐานข้อมูลเวอร์ชันไบนารีผ่านสคริปต์ที่ระบุไว้ด้านล่าง คำสั่งด้านล่างนี้ใช้สำหรับ Linux แต่หากคุณใช้ Mac หรือ Windows โปรดตรวจสอบว่าคุณดาวน์โหลดไบนารีที่ถูกต้อง ดูหน้าเผยแพร่สำหรับระบบปฏิบัติการและสถาปัตยกรรมของคุณ แล้วดาวน์โหลดไบนารีที่ถูกต้อง
export VERSION=1.13.1
curl -L -o toolbox https://storage.googleapis.com/mcp-toolbox-for-databases/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
ตอนนี้เรามีกล่องเครื่องมือเวอร์ชันไบนารีพร้อมใช้งานแล้ว ขั้นตอนถัดไปคือการกำหนดค่ากล่องเครื่องมือด้วยแหล่งข้อมูลและการกำหนดค่าอื่นๆ
7. การกำหนดค่า MCP Toolbox สำหรับฐานข้อมูล
ตอนนี้เราต้องกำหนดชุดข้อมูลและเครื่องมือ BigQuery ในไฟล์ tools.yaml ที่จำเป็นสำหรับ MCP Toolbox สำหรับฐานข้อมูล ไฟล์ tools.yaml เป็นวิธีหลักในการกำหนดค่า Toolbox
สร้างไฟล์ชื่อ tools.yaml ในโฟลเดอร์เดียวกัน เช่น mcp-toolbox โดยมีเนื้อหาดังที่แสดงด้านล่าง
คุณใช้โปรแกรมแก้ไข nano ที่มีอยู่ใน Cloud Shell ได้ คำสั่ง nano มีดังนี้ "nano tools.yaml"
อย่าลืมแทนที่ค่า YOUR_PROJECT_ID ด้วยรหัสโปรเจ็กต์ Google Cloud
kind: source
name: my-bq-source
type: bigquery
project: YOUR_PROJECT_ID
---
kind: tool
name: search_release_notes_bq
type: bigquery-sql
source: my-bq-source
description: Use this tool to get information on Google Cloud Release Notes.
statement: |
SELECT
product_name,description,published_at
FROM
`bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
WHERE
DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY product_name,description,published_at
ORDER BY published_at DESC;
---
kind: toolset
name: my_bq_toolset
tools:
- search_release_notes_bq
มาทำความเข้าใจไฟล์โดยย่อกัน
- แหล่งที่มาแสดงถึงแหล่งข้อมูลต่างๆ ที่เครื่องมือสามารถโต้ตอบด้วย แหล่งที่มาแสดงถึงแหล่งข้อมูลที่เครื่องมือโต้ตอบด้วยได้ คุณกำหนดแหล่งข้อมูลเป็นแผนที่ได้ในส่วนแหล่งข้อมูลของไฟล์ tools.yaml โดยปกติแล้ว การกำหนดค่าแหล่งข้อมูลจะมีข้อมูลที่จำเป็นในการเชื่อมต่อและโต้ตอบกับฐานข้อมูล ในกรณีของเรา เราได้กำหนดแหล่งที่มาของ BigQuery
my-bq-sourceและคุณต้องระบุรหัสโปรเจ็กต์ Google Cloud ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิงแหล่งที่มา - เครื่องมือจะกำหนดการดำเนินการที่เอเจนต์ทำได้ เช่น การอ่านและการเขียนไปยังแหล่งข้อมูล เครื่องมือแสดงถึงการดำเนินการที่เอเจนต์ทำได้ เช่น การเรียกใช้คำสั่ง SQL คุณกำหนดเครื่องมือเป็นแผนที่ได้ในส่วนเครื่องมือของไฟล์ tools.yaml โดยปกติแล้ว เครื่องมือจะต้องมีแหล่งข้อมูลเพื่อดำเนินการ ในกรณีนี้ เราจะกำหนดเครื่องมือเดียว
search_release_notes_bqซึ่งอ้างอิงถึงแหล่งที่มาของ BigQuerymy-bq-sourceที่เรากําหนดไว้ในขั้นตอนแรก นอกจากนี้ ยังมีข้อความและวิธีการที่ไคลเอ็นต์ AI Agent จะใช้ ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลอ้างอิงเครื่องมือ - สุดท้ายคือชุดเครื่องมือที่ช่วยให้คุณกำหนดกลุ่มเครื่องมือที่ต้องการโหลดพร้อมกันได้ ซึ่งอาจมีประโยชน์ในการกำหนดกลุ่มต่างๆ ตามตัวแทนหรือแอปพลิเคชัน ในกรณีของเรา เรามีคำจำกัดความชุดเครื่องมือซึ่งปัจจุบันเราได้กำหนดเครื่องมือที่มีอยู่เพียงเครื่องมือเดียว
search_release_notes_bqที่เรากำหนด คุณมีชุดเครื่องมือได้มากกว่า 1 ชุด ซึ่งมีเครื่องมือต่างๆ ผสมกัน
ดังนั้นในตอนนี้ เราจึงกำหนดเครื่องมือเพียงเครื่องมือเดียวที่รับบันทึกประจำรุ่นในช่วง 7 วันที่ผ่านมาตามคำค้นหา แต่คุณก็ใช้พารามิเตอร์ร่วมกับค่าต่างๆ ได้เช่นกัน
ดูรายละเอียดการกำหนดค่าเพิ่มเติมได้ในการกำหนดค่าแหล่งข้อมูล BigQuery ใน MCP Toolbox สำหรับฐานข้อมูล
8. การทดสอบ MCP Toolbox สำหรับฐานข้อมูล
เราได้ดาวน์โหลดและกำหนดค่ากล่องเครื่องมือด้วยไฟล์ tools.yaml ในโฟลเดอร์ mcp-toolbox มาเรียกใช้ในเครื่องกันก่อน
เรียกใช้คำสั่งต่อไปนี้
./toolbox --config "tools.yaml"
เมื่อดำเนินการสำเร็จ คุณควรเห็นการเริ่มต้นเซิร์ฟเวอร์พร้อมเอาต์พุตตัวอย่างที่คล้ายกับเอาต์พุตด้านล่าง
2026-09-26T12:58:14.590825+05:30 INFO "Starting MCP Toolbox for Databases version 1.13.1+binary.darwin.arm64.e14cda6"
2026-09-26T12:58:14.59319+05:30 INFO "Initialized 1 sources: my-bq-source"
2026-09-26T12:58:14.593198+05:30 INFO "Initialized 0 authServices: "
2026-09-26T12:58:14.593201+05:30 INFO "Initialized 0 embeddingModels: "
2026-09-26T12:58:14.59323+05:30 INFO "Initialized 1 tools: search_release_notes_bq"
2026-09-26T12:58:14.593235+05:30 INFO "Initialized 0 prompts: "
2026-09-26T12:58:14.593236+05:30 INFO "Initialized 0 resources: "
2026-09-26T12:58:14.593238+05:30 INFO "Initialized 0 resource templates: "
2026-09-26T12:58:14.593244+05:30 INFO "Initialized 2 groups: my_bq_toolset, default"
2026-09-26T12:58:14.593259+05:30 WARN "wildcard (*) allows any website to access the primitives. This creates a security risk regardless of whether you are in a production or local development environment. Recommended to use --allowed-origins with specific local addresses."
2026-09-26T12:58:14.593266+05:30 WARN "wildcard (*) hosts allow any domain to access this resource, making it vulnerable to DNS rebinding attacks regardless of whether you are in a production or local development environment. For improved security, use the --allowed-hosts flag to specify trusted domains."
2026-09-26T12:58:14.593365+05:30 INFO "Server ready to serve!"
เซิร์ฟเวอร์ MCP Toolbox จะทำงานในพอร์ต 5000 โดยค่าเริ่มต้น หากพบว่ามีการใช้พอร์ต 5000 อยู่แล้ว คุณสามารถใช้พอร์ตอื่น (เช่น 7000) ตามคำสั่งที่แสดงด้านล่าง โปรดใช้ 7000 แทนพอร์ต 5000 ในคำสั่งถัดไป
./toolbox --config "tools.yaml" --port 7000
มาใช้ Cloud Shell เพื่อทดสอบกัน
คลิกตัวอย่างเว็บใน Cloud Shell ดังที่แสดงด้านล่าง
คลิกเปลี่ยนพอร์ตและตั้งค่าพอร์ตเป็น 5000 ตามที่แสดงด้านล่าง แล้วคลิกเปลี่ยนและแสดงตัวอย่าง

ซึ่งควรแสดงผลลัพธ์ต่อไปนี้

ทดสอบเครื่องมือผ่าน UI ของ MCP Toolbox สำหรับฐานข้อมูล
กล่องเครื่องมือมีอินเทอร์เฟซแบบภาพ (UI ของกล่องเครื่องมือ) เพื่อโต้ตอบกับเครื่องมือโดยตรงด้วยการแก้ไขพารามิเตอร์ จัดการส่วนหัว และดำเนินการเรียกใช้ ทั้งหมดนี้อยู่ใน UI เว็บที่เรียบง่าย
หากต้องการทดสอบ คุณสามารถเรียกใช้คำสั่งก่อนหน้าที่เราใช้เพื่อเปิดใช้เซิร์ฟเวอร์กล่องเครื่องมือด้วยตัวเลือก --ui
โดยปิดอินสแตนซ์ก่อนหน้าของเซิร์ฟเวอร์ MCP Toolbox สำหรับฐานข้อมูลที่คุณอาจใช้งานอยู่ แล้วป้อนคำสั่งต่อไปนี้
./toolbox --tools-file "tools.yaml" --ui
คุณควรเห็นเอาต์พุตที่เซิร์ฟเวอร์เชื่อมต่อกับแหล่งข้อมูลของเราได้ และโหลดชุดเครื่องมือและเครื่องมือต่างๆ ตัวอย่างเอาต์พุตแสดงอยู่ด้านล่าง และคุณจะเห็นว่าเอาต์พุตจะระบุว่า UI ของกล่องเครื่องมือพร้อมใช้งานแล้ว
Flag --tools-file has been deprecated, please use --config instead
2026-09-26T12:59:21.662102+05:30 INFO "Starting MCP Toolbox for Databases version 1.13.1+binary.darwin.arm64.e14cda6"
2026-09-26T12:59:21.663076+05:30 INFO "Initialized 1 sources: my-bq-source"
2026-09-26T12:59:21.663084+05:30 INFO "Initialized 0 authServices: "
2026-09-26T12:59:21.663087+05:30 INFO "Initialized 0 embeddingModels: "
2026-09-26T12:59:21.663101+05:30 INFO "Initialized 1 tools: search_release_notes_bq"
2026-09-26T12:59:21.663104+05:30 INFO "Initialized 0 prompts: "
2026-09-26T12:59:21.663107+05:30 INFO "Initialized 0 resources: "
2026-09-26T12:59:21.663109+05:30 INFO "Initialized 0 resource templates: "
2026-09-26T12:59:21.663116+05:30 INFO "Initialized 2 groups: default, my_bq_toolset"
2026-09-26T12:59:21.663124+05:30 WARN "wildcard (*) allows any website to access the primitives. This creates a security risk regardless of whether you are in a production or local development environment. Recommended to use --allowed-origins with specific local addresses."
2026-09-26T12:59:21.663132+05:30 WARN "wildcard (*) hosts allow any domain to access this resource, making it vulnerable to DNS rebinding attacks regardless of whether you are in a production or local development environment. For improved security, use the --allowed-hosts flag to specify trusted domains."
2026-09-26T12:59:21.663242+05:30 INFO "Server ready to serve!"
2026-09-26T12:59:21.663249+05:30 INFO "Toolbox UI is up and running at: http://127.0.0.1:5000/ui"
คลิก URL ของ UI และตรวจสอบว่าคุณมี /ui ที่ท้าย URL ซึ่งจะแสดง UI ดังที่แสดงด้านล่าง

คลิกตัวเลือกเครื่องมือทางด้านซ้ายเพื่อดูเครื่องมือที่กำหนดค่าไว้ ในกรณีนี้ควรมีเพียงเครื่องมือเดียวคือ search_release_notes_bq ดังที่แสดงด้านล่าง

เพียงคลิกเครื่องมือ (search_release_notes_bq) ระบบจะแสดงหน้าเว็บให้คุณทดสอบเครื่องมือ เนื่องจากไม่มีพารามิเตอร์ให้ระบุ คุณจึงคลิกเรียกใช้เครื่องมือเพื่อดูผลลัพธ์ได้เลย ตัวอย่างการเรียกใช้แสดงอยู่ด้านล่าง

9. การเขียน Agent ด้วย Agent Development Kit (ADK)
ติดตั้ง Agent Development Kit (ADK)
เปิดแท็บเทอร์มินัลใหม่ใน Cloud Shell แล้วสร้างโฟลเดอร์ชื่อ my-agents ดังนี้ ไปที่โฟลเดอร์ my-agents ด้วย
mkdir my-agents
cd my-agents
ตอนนี้เรามาสร้างสภาพแวดล้อม Python เสมือนโดยใช้ venv ดังนี้
python -m venv .venv
เปิดใช้งานสภาพแวดล้อมเสมือนจริงดังนี้
source .venv/bin/activate
ติดตั้งแพ็กเกจ ADK และ MCP Toolbox สำหรับฐานข้อมูลพร้อมกับทรัพยากร Dependency ของ Langchain ดังนี้
pip install google-adk toolbox-core
ตอนนี้คุณจะเรียกใช้ยูทิลิตี adk ได้ดังนี้
adk
โดยจะแสดงรายการคำสั่งให้คุณ
$ adk
Usage: adk [OPTIONS] COMMAND [ARGS]...
Agent Development Kit CLI tools.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
api_server Starts a FastAPI server for agents.
conformance Conformance testing tools for ADK.
create Creates a new app in the current folder with prepopulated...
deploy Deploys agent to hosted environments.
eval Evaluates an agent given the eval sets.
eval_set Manage Eval Sets.
migrate ADK migration commands.
optimize Optimizes the root agent instructions using the GEPA...
run Runs an agent.
telemetry Manage telemetry settings.
test Runs pytest on agent test JSON files under the specified...
web Starts a FastAPI server with Web UI for agents.
การสร้างแอปพลิเคชัน Agent ตัวแรก
ตอนนี้เราจะใช้ adk เพื่อสร้างโครงสร้างพื้นฐานสำหรับแอปพลิเคชันตัวแทนบันทึกประจำรุ่นของ Google Cloud ผ่านคำสั่ง adk create โดยมีชื่อแอปเป็น **(gcp_releasenotes_agent_app)**ดังที่แสดงด้านล่าง
adk create gcp_releasenotes_agent_app
ทำตามขั้นตอนและเลือกตัวเลือกต่อไปนี้
- เลือก
gemini-3.8-flashโมเดลเพื่อเลือกโมเดลสำหรับเอเจนต์รูท - เลือก
Vertex AIสำหรับแบ็กเอนด์ - ระบบจะแสดงรหัสโปรเจ็กต์ Google เริ่มต้น เลือก
- ระบบจะแสดงภูมิภาคของโปรเจ็กต์ Google Cloud ปัจจุบัน ตรวจสอบว่าคุณพิมพ์
global
Choose a model for the root agent:
1. gemini-3.5-flash
2. gemini-3.8-flash
3. Other models (fill later)
Choose model (1, 2, 3): 2
1. Google AI
2. Vertex AI
3. Login with Google
Choose a backend (1, 2, 3): 2
You need an existing Google Cloud account and project, check out this link for details:
https://google.github.io/adk-docs/get-started/quickstart/#gemini---google-cloud-vertex-ai
Enter Google Cloud project ID [YOUR_PROJECT_ID]:
Enter Google Cloud region [us-central1]: global
Agent created in /Users/romin/my-agents/gcp_releasenotes_agent_app:
- .env
- .gitignore
- __init__.py
- agent.py
สังเกตโฟลเดอร์ที่สร้างเทมเพลตเริ่มต้นและไฟล์ที่จำเป็นสำหรับเอเจนต์
โดยเริ่มจากไฟล์ .env เนื้อหาของข้อความดังกล่าวแสดงอยู่ด้านล่าง
GOOGLE_GENAI_USE_ENTERPRISE=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION
ค่าดังกล่าวระบุว่าเราจะใช้ Gemini ผ่าน Gemini Enterprise พร้อมกับค่าที่เกี่ยวข้องสำหรับรหัสโปรเจ็กต์และตำแหน่งของ Google Cloud
จากนั้นเราก็มีไฟล์ __init__.py ที่ทำเครื่องหมายโฟลเดอร์เป็นโมดูลและมีคำสั่งเดียวที่นำเข้า Agent จากไฟล์ agent.py
from . import agent
สุดท้าย มาดูไฟล์ agent.py กัน เนื้อหาจะแสดงอยู่ด้านล่าง
from google.adk.agents.llm_agent import Agent
root_agent = Agent(
model='gemini-3.8-flash',
name='root_agent',
description='A helpful assistant for user questions.',
instruction='Answer user questions to the best of your knowledge',
)
นี่คือ Agent ที่ง่ายที่สุดที่คุณเขียนได้ด้วย ADK จากหน้าเอกสารประกอบ ADK, Agent คือหน่วยการดำเนินการแบบสแตนด์อโลนที่ออกแบบมาให้ทำงานโดยอัตโนมัติเพื่อให้บรรลุเป้าหมายที่เฉพาะเจาะจง Agent สามารถทำงาน โต้ตอบกับผู้ใช้ ใช้เครื่องมือภายนอก และประสานงานกับ Agent อื่นๆ ได้
โดยเฉพาะอย่างยิ่ง LLMAgent ซึ่งมักจะใช้ชื่อแทนว่า Agent จะใช้โมเดลภาษาขนาดใหญ่ (LLM) เป็นเครื่องมือหลักในการทำความเข้าใจภาษาธรรมชาติ การให้เหตุผล การวางแผน การสร้างคำตอบ และการตัดสินใจแบบไดนามิกว่าจะดำเนินการอย่างไรหรือจะใช้เครื่องมือใด ทำให้เหมาะสำหรับงานที่ยืดหยุ่นและเน้นภาษา ดูข้อมูลเพิ่มเติมเกี่ยวกับเอเจนต์ LLM ที่นี่
ซึ่งจะทำให้การจัดโครงสร้างของเราเสร็จสมบูรณ์เพื่อสร้าง Agent พื้นฐานโดยใช้ Agent Development Kit (ADK) ตอนนี้เราจะเชื่อมต่อ Agent กับ MCP Toolbox เพื่อให้ Agent ใช้เครื่องมือดังกล่าวตอบคำค้นหาจากผู้ใช้ได้ (ในกรณีนี้จะเป็นหมายเหตุประจำรุ่นของ Google Cloud)
10. การเชื่อมต่อ Agent กับเครื่องมือ
เราจะเชื่อมต่อ Agent นี้กับเครื่องมือในตอนนี้ ในบริบทของ ADK เครื่องมือแสดงถึงความสามารถเฉพาะที่มอบให้แก่ AI Agent ซึ่งช่วยให้ AI Agent ดำเนินการและโต้ตอบกับโลกภายนอกความสามารถหลักในการสร้างข้อความและการให้เหตุผล
ในกรณีนี้ เราจะติดตั้งเครื่องมือที่กำหนดค่าไว้ใน MCP Toolbox สำหรับฐานข้อมูลให้กับ Agent ของเรา
แก้ไขไฟล์ agent.py ด้วยโค้ดต่อไปนี้ โปรดทราบว่าเราใช้พอร์ตเริ่มต้น 5000 ในโค้ด แต่หากคุณใช้หมายเลขพอร์ตอื่น โปรดใช้หมายเลขนั้น
from google.adk.agents import Agent
from toolbox_core import ToolboxSyncClient
toolbox = ToolboxSyncClient("http://127.0.0.1:5000")
# Load all the tools
tools = toolbox.load_toolset('my_bq_toolset')
root_agent = Agent(
name="gcp_releasenotes_agent",
model="gemini-3.8-flash",
description=(
"Agent to answer questions about Google Cloud Release notes."
),
instruction=(
"You are a helpful agent who can answer user questions about the Google Cloud Release notes. Use the tools to answer the question"
),
tools=tools,
)
ตอนนี้เราสามารถทดสอบ Agent ที่จะดึงข้อมูลจริงจากชุดข้อมูล BigQuery ที่กำหนดค่าด้วย MCP Toolbox สำหรับฐานข้อมูลได้แล้ว
โดยทำตามลำดับต่อไปนี้
เปิดใช้ MCP Toolbox สำหรับฐานข้อมูลในเทอร์มินัลหนึ่งของ Cloud Shell คุณอาจมีเซิร์ฟเวอร์ที่ทำงานในเครื่องที่พอร์ต 5000 อยู่แล้วเนื่องจากเราได้ทดสอบไปก่อนหน้านี้ หากยังไม่ได้ติดตั้ง ให้เรียกใช้คำสั่งต่อไปนี้ (จากโฟลเดอร์ mcp-toolbox) เพื่อเริ่มเซิร์ฟเวอร์
./toolbox --config "tools.yaml"
คุณควรเห็นเอาต์พุตที่เซิร์ฟเวอร์เชื่อมต่อกับแหล่งข้อมูลของเราได้ และโหลดชุดเครื่องมือและเครื่องมือต่างๆ
เมื่อเซิร์ฟเวอร์ MCP เริ่มทำงานเรียบร้อยแล้ว ให้เปิดใช้ Agent ในเทอร์มินัลอื่นผ่านคำสั่ง adk run (จากโฟลเดอร์ my-agents) ที่แสดงด้านล่าง คุณยังใช้คำสั่ง adk web ได้ด้วยหากต้องการ
$ adk run gcp_releasenotes_agent_app/
Running agent gcp_releasenotes_agent, type exit to exit.
[user]: Hello
[gcp_releasenotes_agent]: Hello! I am your Google Cloud Release Notes assistant. How can I help you today? Feel free to ask about recent updates, feature releases, deprecations, or announcements across Google Cloud products.
[user]: get me the google cloud release notes
[gcp_releasenotes_agent]: Here are the latest highlights from the Google Cloud Release Notes:
---
### **AI & Machine Learning**
* **Gemini Enterprise**:
* **Gemini 3.8 Flash** is now Generally Available (GA) and enabled by default in `global`, `us`, and `eu` regions.
* **Gemini Enterprise Agent Platform**:
* **Gemini 3.8 Live** is now GA, bringing improved voice quality, model reliability, and agent orchestration.
* **Meta's Muse Spark 1.3** is in Preview (reasoning model with tool calling, MCP support, and 1M context window).
* **CX Agent Studio**:
* **Agent as a tool** is now GA.
* Added **Composite models** for enterprise voice agents.
* Introduced **Supervisor agents** to monitor active agent performance.
* Added **Agent-to-agent (A2A) protocol tools** and integrations for WhatsApp, Instagram, and SecureCo.
* **Model Armor**: Prompt injection, jailbreak detection, and Responsible AI filters are now supported in Melbourne (`australia-southeast2`).
---
### **Compute & Infrastructure**
* **Compute Engine**: Standard snapshots deleted accidentally or maliciously are now retained in the **Recycle Bin for 3 days** before permanent erasure (Preview).
* **Confidential VM**: Support for **Intel TDX on `c4-standard-*`** machine types is now GA.
* **SAP on Google Cloud**: Certified the **X5 series** of memory-optimized bare metal machine types (Intel Granite Rapids CPU platform) for SAP HANA and SAP NetWeaver.
* **Cloud Workstations**: Cloud Workstations is now a covered product under the Google Cloud HIPAA BAA.
---
### **Containers & Networking**
* **Google Kubernetes Engine (GKE)**: **GKE ambient networking** is now in Preview (allowlist), providing a sidecarless, Layer 4 service mesh using Gateway API on GKE Dataplane V2.
* **Cloud Service Mesh**: Maintenance and security patch releases available for in-cluster versions `1.30.4-asm.14`, `1.29.7-asm.18`, and `1.28.10-asm.40`.
---
### **Data Analytics & Databases**
* **BigQuery**: In BigQuery Studio, the query editor results table now freezes row numbers on the left during horizontal scrolling (GA).
* **Memorystore for Valkey**: Valkey version 9.1 is now GA.
* **Looker**: Deployment of version 26.16; includes a long-polling concurrency guard, tile-level filter controls (Preview), and an OAuth authorization warning dialog.
* **Data Studio / Looker Studio**:
* Added private IP connectivity for Cloud SQL PostgreSQL databases.
..
..
..
โปรดสังเกตว่า Agent ใช้เครื่องมือที่เรากำหนดค่าไว้ใน MCP Toolbox สำหรับฐานข้อมูล (search_release_notes_bq) และดึงข้อมูลจากชุดข้อมูล BigQuery แล้วจัดรูปแบบคำตอบตามนั้น
11. ขอแสดงความยินดี
ยินดีด้วย คุณกำหนดค่า MCP Toolbox สำหรับฐานข้อมูลและกำหนดค่าชุดข้อมูล BigQuery เพื่อให้เข้าถึงได้ภายในไคลเอ็นต์ MCP เรียบร้อยแล้ว