1. Giới thiệu
Trong lớp học lập trình này, bạn sẽ sử dụng MCP Toolbox for Databases để cung cấp các tập dữ liệu BigQuery.
Trong lớp học lập trình này, bạn sẽ sử dụng phương pháp từng bước như sau:
- Xác định một tập dữ liệu cụ thể của BigQuery ("Ghi chú phát hành của Google Cloud") trong chương trình tập dữ liệu công khai của BigQuery.
- Thiết lập MCP Toolbox for Databases (Hộp công cụ MCP cho cơ sở dữ liệu) để kết nối với tập dữ liệu BigQuery.
- Phát triển một Đặc vụ bằng Bộ phát triển đặc vụ (ADK) sẽ sử dụng Hộp công cụ MCP để trả lời các câu hỏi của người dùng về Ghi chú phát hành của Google Cloud
Bạn sẽ thực hiện
- Thiết lập MCP Toolbox for Databases để hiển thị Ghi chú phát hành của Google Cloud, một tập dữ liệu công khai của BigQuery, dưới dạng Giao diện MCP cho các MCP Client khác (IDE, Công cụ, v.v.).
Kiến thức bạn sẽ học được
- Khám phá các tập dữ liệu công khai của BigQuery và chọn một tập dữ liệu cụ thể.
- Thiết lập Hộp công cụ MCP cho Cơ sở dữ liệu cho tập dữ liệu công khai BigQuery mà chúng tôi muốn cung cấp cho khách hàng MCP.
- Thiết kế và phát triển một Agent bằng Agent Development Kit (ADK) để trả lời các truy vấn của người dùng.
- Kiểm thử Agent và MCP Toolbox for Databases trong môi trường cục bộ.
Bạn cần có
- Trình duyệt web Chrome.
- Môi trường phát triển Python cục bộ.
2. Trước khi bắt đầu
Tạo một dự án
- Trong Google Cloud Console, trên trang chọn dự án, hãy chọn hoặc tạo một dự án trên Google Cloud.
- Đảm bảo rằng bạn đã bật tính năng thanh toán cho dự án trên Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên một dự án hay không .
- Bạn sẽ sử dụng Cloud Shell, một môi trường dòng lệnh chạy trong Google Cloud và được tải sẵn bằng bq. Nhấp vào biểu tượng Kích hoạt Cloud Shell ở đầu bảng điều khiển Google Cloud.
- Sau khi kết nối với Cloud Shell, bạn có thể kiểm tra để đảm bảo rằng bạn đã được xác thực và dự án được đặt thành mã dự án của bạn bằng lệnh sau:
gcloud auth list
- Chạy lệnh sau trong Cloud Shell để xác nhận rằng lệnh gcloud biết về dự án của bạn.
gcloud config list project
- Nếu bạn chưa đặt dự án, hãy dùng lệnh sau để đặt:
gcloud config set project <YOUR_PROJECT_ID>
Tham khảo tài liệu để biết các lệnh và cách sử dụng gcloud.
3. Tập dữ liệu ghi chú phát hành của Google và các ứng dụng MCP
Trước tiên, hãy xem Ghi chú phát hành của Google Cloud. Ghi chú này thường xuyên được cập nhật trên trang web chính thức về Ghi chú phát hành của Google Cloud. Ảnh chụp màn hình của trang web này được minh hoạ dưới đây:
Bạn có thể đăng ký nhận URL nguồn cấp dữ liệu, nhưng sẽ ra sao nếu chúng ta chỉ cần hỏi trong Agent Chat về những Ghi chú phát hành này. Có thể là một câu hỏi đơn giản như "Cập nhật cho tôi về Ghi chú phát hành của Google Cloud".
4. Hộp công cụ MCP cho cơ sở dữ liệu
MCP Toolbox for Databases là một máy chủ MCP nguồn mở dành cho cơ sở dữ liệu. Máy chủ này được thiết kế để đáp ứng chất lượng sản xuất và cấp doanh nghiệp. Nhờ đó, bạn có thể phát triển các công cụ dễ dàng, nhanh chóng và an toàn hơn bằng cách xử lý các điểm phức tạp như nhóm kết nối, xác thực và nhiều điểm khác.
Toolbox giúp bạn tạo các công cụ AI tạo sinh cho phép nhân viên hỗ trợ truy cập vào dữ liệu trong cơ sở dữ liệu của bạn. Hộp công cụ cung cấp:
- Đơn giản hoá quá trình phát triển: Tích hợp các công cụ vào tác nhân của bạn chỉ bằng chưa đến 10 dòng mã, sử dụng lại các công cụ giữa nhiều tác nhân hoặc khung, đồng thời triển khai các phiên bản công cụ mới dễ dàng hơn.
- Hiệu suất cao hơn: Các phương pháp hay nhất như nhóm kết nối, xác thực và nhiều phương pháp khác.
- Tăng cường bảo mật: Xác thực tích hợp để truy cập vào dữ liệu của bạn một cách an toàn hơn
- Khả năng quan sát toàn diện: Các chỉ số và hoạt động theo dõi có sẵn với sự hỗ trợ tích hợp cho OpenTelemetry.
- Toolbox giúp bạn dễ dàng kết nối cơ sở dữ liệu với mọi trợ lý AI có khả năng MCP, ngay cả những trợ lý AI có trong IDE của bạn.
Toolbox nằm giữa khung điều phối của ứng dụng và cơ sở dữ liệu của bạn, cung cấp một mặt phẳng điều khiển được dùng để sửa đổi, phân phối hoặc gọi các công cụ. Nền tảng này giúp đơn giản hoá việc quản lý các công cụ bằng cách cung cấp cho bạn một vị trí tập trung để lưu trữ và cập nhật các công cụ, cho phép bạn chia sẻ các công cụ giữa các tác nhân và ứng dụng, đồng thời cập nhật các công cụ đó mà không cần thiết phải triển khai lại ứng dụng của mình.
Tóm tắt bằng từ ngữ đơn giản:
- MCP Toolbox có sẵn dưới dạng tệp nhị phân, hình ảnh vùng chứa hoặc bạn có thể tạo tệp này từ nguồn.
- Nó cung cấp một bộ công cụ mà bạn định cấu hình thông qua tệp tools.yaml. Bạn có thể coi các công cụ này là cách kết nối với nguồn dữ liệu của mình. Bạn có thể xem nhiều nguồn dữ liệu mà dịch vụ này hỗ trợ : AlloyDB, BigQuery, v.v.
- Vì hộp công cụ này hiện hỗ trợ MCP, nên bạn sẽ tự động có một điểm cuối MCP Server mà sau đó có thể được các Agent (IDE) sử dụng hoặc bạn có thể sử dụng chúng trong khi phát triển các Ứng dụng Agent bằng nhiều khung như Agent Development Kit (ADK).
Trong bài đăng này trên blog, chúng ta sẽ tập trung vào những khía cạnh được nêu bật dưới đây:
Tóm lại, chúng ta sẽ tạo một cấu hình trong Hộp công cụ MCP cho Cơ sở dữ liệu, cấu hình này biết cách kết nối với tập dữ liệu BigQuery của chúng ta. Sau đó, chúng tôi sẽ phát triển một Agent bằng Bộ phát triển Agent (ADK) để tích hợp với điểm cuối MCP Toolbox và cho phép chúng tôi gửi các câu hỏi tự nhiên để hỏi về tập dữ liệu của mình. Hãy coi đây là một ứng dụng dựa trên tác nhân mà bạn đang phát triển, biết cách giao tiếp với tập dữ liệu BigQuery của bạn và chạy một số truy vấn.
5. Tập dữ liệu BigQuery cho ghi chú phát hành của Google Cloud
Chương trình Tập dữ liệu công khai của Google Cloud là một chương trình cung cấp nhiều tập dữ liệu cho các ứng dụng của bạn. Một tập dữ liệu như vậy là cơ sở dữ liệu Ghi chú phát hành của Google Cloud. Tập dữ liệu này cung cấp cho bạn thông tin tương tự như trang web chính thức về Ghi chú phát hành của Google Cloud và có sẵn dưới dạng một tập dữ liệu có thể truy vấn công khai.
Để kiểm thử, tôi chỉ cần xác thực tập dữ liệu bằng cách chạy một truy vấn đơn giản như minh hoạ bên dưới:
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
Thao tác này sẽ giúp tôi có được danh sách các bản ghi trong tập dữ liệu Ghi chú phát hành đã được xuất bản trong 7 ngày qua.
Thay thế bằng bất kỳ tập dữ liệu nào khác mà bạn chọn, cũng như các truy vấn và tham số tương ứng mà bạn muốn. Giờ đây, tất cả những gì chúng ta cần làm là thiết lập điều này làm Nguồn dữ liệu và Công cụ trong Hộp công cụ MCP cho Cơ sở dữ liệu. Hãy xem cách thực hiện.
6. Cài đặt MCP Toolbox for Databases
Mở một cửa sổ dòng lệnh trên máy cục bộ rồi tạo một thư mục có tên là mcp-toolbox
.
mkdir mcp-toolbox
Chuyển đến thư mục mcp-toolbox
thông qua lệnh bên dưới:
cd mcp-toolbox
Cài đặt phiên bản nhị phân của MCP Toolbox for Databases thông qua tập lệnh bên dưới. Lệnh dưới đây dành cho Linux, nhưng nếu bạn đang dùng Mac hoặc Windows, hãy đảm bảo rằng bạn đang tải đúng tệp nhị phân. Xem trang phát hành cho Hệ điều hành và Cấu trúc của bạn rồi tải tệp nhị phân phù hợp xuống.
export VERSION=0.13.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
Giờ đây, chúng ta đã có phiên bản nhị phân của hộp công cụ để sử dụng. Bước tiếp theo là định cấu hình bộ công cụ bằng các nguồn dữ liệu và cấu hình khác.
7. Định cấu hình MCP Toolbox cho cơ sở dữ liệu
Giờ đây, chúng ta cần xác định tập dữ liệu và các công cụ BigQuery trong tệp tools.yaml
mà MCP Toolbox for Database cần. Tệp tools.yaml
là cách chính để định cấu hình Toolbox.
Tạo một tệp có tên là tools.yaml
trong cùng một thư mục, tức là mcp-toolbox
. Nội dung của tệp này được trình bày bên dưới.
Bạn có thể sử dụng trình chỉnh sửa nano có trong Cloud Shell. Lệnh nano có dạng như sau: "nano tools.yaml
".
Hãy nhớ thay thế giá trị YOUR_PROJECT_ID
bằng mã dự án Google Cloud của bạn.
sources:
my-bq-source:
kind: bigquery
project: YOUR_PROJECT_ID
tools:
search_release_notes_bq:
kind: bigquery-sql
source: my-bq-source
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
description: |
Use this tool to get information on Google Cloud Release Notes.
toolsets:
my_bq_toolset:
- search_release_notes_bq
Hãy cùng tìm hiểu sơ lược về tệp này:
- Nguồn đại diện cho các nguồn dữ liệu khác nhau mà một công cụ có thể tương tác. Nguồn đại diện cho một nguồn dữ liệu mà công cụ có thể tương tác. Bạn có thể xác định Nguồn dưới dạng bản đồ trong phần nguồn của tệp tools.yaml. Thông thường, cấu hình nguồn sẽ chứa mọi thông tin cần thiết để kết nối và tương tác với cơ sở dữ liệu. Trong trường hợp này, chúng ta đã xác định một nguồn BigQuery
my-bq-source
và bạn cần cung cấp mã dự án Google Cloud của mình. Để biết thêm thông tin, hãy tham khảo tài liệu tham khảo về Nguồn. - Công cụ xác định những hành động mà một tác nhân có thể thực hiện, chẳng hạn như đọc và ghi vào một nguồn. Công cụ đại diện cho một hành động mà tác nhân của bạn có thể thực hiện, chẳng hạn như chạy một câu lệnh SQL. Bạn có thể xác định Công cụ dưới dạng một bản đồ trong phần công cụ của tệp tools.yaml. Thông thường, một công cụ sẽ cần một nguồn để hoạt động. Trong trường hợp này, chúng ta xác định một công cụ duy nhất
search_release_notes_bq
. Thao tác này tham chiếu đến nguồn BigQuerymy-bq-source
mà chúng ta đã xác định ở bước đầu tiên. Ngoài ra, nó còn có câu lệnh và hướng dẫn mà các ứng dụng AI Agent sẽ sử dụng. Để biết thêm thông tin, hãy tham khảo tài liệu tham khảo về Công cụ. - Cuối cùng, chúng ta có Toolset (Bộ công cụ), cho phép bạn xác định các nhóm công cụ mà bạn muốn có thể tải cùng nhau. Điều này có thể hữu ích khi xác định các nhóm khác nhau dựa trên tác nhân hoặc ứng dụng. Trong trường hợp này, chúng ta có một định nghĩa về bộ công cụ mà hiện tại chúng ta chỉ xác định một công cụ hiện có
search_release_notes_bq
mà chúng ta đã xác định. Bạn có thể có nhiều bộ công cụ, trong đó có sự kết hợp của nhiều công cụ.
Vì vậy, hiện tại, chúng tôi chỉ xác định một công cụ lấy ghi chú phát hành trong 7 ngày qua theo truy vấn. Tuy nhiên, bạn cũng có thể kết hợp nhiều tham số.
Hãy xem thêm một số thông tin chi tiết về cấu hình ( Nguồn, Công cụ) trong cấu hình nguồn dữ liệu BigQuery trong MCP Toolbox for Databases.
8. Kiểm thử Hộp công cụ MCP cho cơ sở dữ liệu
Chúng tôi đã tải xuống và định cấu hình Toolbox bằng tệp tools.yaml
trong thư mục mcp-toolbox
. Hãy chạy ứng dụng này trên thiết bị trước.
Thực thi lệnh sau:
./toolbox --tools-file="tools.yaml"
Khi thực thi thành công, bạn sẽ thấy một máy chủ khởi động với kết quả mẫu tương tự như kết quả dưới đây:
2025-09-08T03:56:45.772489914Z INFO "Initialized 1 sources."
2025-09-08T03:56:45.772682659Z INFO "Initialized 0 authServices."
2025-09-08T03:56:45.772735103Z INFO "Initialized 1 tools."
2025-09-08T03:56:45.772774639Z INFO "Initialized 2 toolsets."
2025-09-08T03:56:45.777711644Z INFO "Server ready to serve!"
Theo mặc định, MCP Toolbox Server chạy trên cổng 5000
. Nếu thấy cổng 5000
đã được sử dụng, bạn có thể sử dụng một cổng khác (ví dụ: 7000
) theo lệnh bên dưới. Vui lòng sử dụng 7000
thay vì cổng 5000
trong các lệnh tiếp theo.
./toolbox --tools-file "tools.yaml" --port 7000
Hãy dùng Cloud Shell để kiểm thử.
Nhấp vào Web Preview (Xem trước trên web) trong Cloud Shell như minh hoạ dưới đây:
Nhấp vào Thay đổi cổng rồi đặt cổng thành 5000 như minh hoạ bên dưới, sau đó nhấp vào Thay đổi và xem trước.
Thao tác này sẽ cho ra kết quả sau:
Trong URL của trình duyệt, hãy thêm nội dung sau vào cuối URL:
/api/toolset
Thao tác này sẽ hiển thị các công cụ hiện được định cấu hình. Dưới đây là một ví dụ về kết quả đầu ra:
{
"serverVersion": "0.13.0+binary.linux.amd64.1a6dfe8d37d0f42fb3fd3f75c50988534dbc1b85",
"tools": {
"search_release_notes_bq": {
"description": "Use this tool to get information on Google Cloud Release Notes.\n",
"parameters": [],
"authRequired": []
}
}
}
Kiểm thử các công cụ thông qua giao diện người dùng Hộp công cụ MCP cho cơ sở dữ liệu
Hộp công cụ cung cấp một giao diện trực quan (Giao diện người dùng của hộp công cụ) để tương tác trực tiếp với các công cụ bằng cách sửa đổi các tham số, quản lý tiêu đề và thực thi các lệnh gọi, tất cả đều nằm trong một giao diện người dùng web đơn giản.
Nếu muốn kiểm thử, bạn có thể chạy lệnh trước đó mà chúng ta đã dùng để chạy Toolbox Server bằng lựa chọn --ui
.
Để làm như vậy, hãy tắt phiên bản trước của Máy chủ MCP Toolbox for Databases mà bạn có thể đang chạy và đưa ra lệnh sau:
./toolbox --tools-file "tools.yaml" --ui
Tốt nhất là bạn nên thấy một đầu ra cho biết Máy chủ đã có thể kết nối với các nguồn dữ liệu của chúng tôi và đã tải bộ công cụ cũng như các công cụ. Dưới đây là một kết quả mẫu và bạn sẽ nhận thấy kết quả này đề cập đến việc Giao diện người dùng của Toolbox đang hoạt động.
2025-09-08T03:59:34.856476253Z INFO "Initialized 1 sources."
2025-09-08T03:59:34.856546526Z INFO "Initialized 0 authServices."
2025-09-08T03:59:34.856577586Z INFO "Initialized 1 tools."
2025-09-08T03:59:34.856641568Z INFO "Initialized 2 toolsets."
2025-09-08T03:59:34.86133344Z INFO "Server ready to serve!"
2025-09-08T03:59:34.861366205Z INFO "Toolbox UI is up and running at: http://localhost:5000/ui"
Nhấp vào URL giao diện người dùng và đảm bảo rằng bạn có biểu tượng /ui
ở cuối URL. Thao tác này sẽ hiển thị một giao diện người dùng như minh hoạ dưới đây:
Nhấp vào mục Công cụ ở bên trái để xem các công cụ đã được định cấu hình. Trong trường hợp này, chỉ có một công cụ là search_release_notes_bq
, như minh hoạ dưới đây:
Bạn chỉ cần nhấp vào biểu tượng công cụ (search_release_notes_bq
) để mở một trang giúp bạn dùng thử công cụ này. Vì không có tham số nào để cung cấp, bạn chỉ cần nhấp vào Run Tool (Chạy công cụ) để xem kết quả. Sau đây là ví dụ về một lần chạy:
MCP Toolkit for Databases (Bộ công cụ MCP cho cơ sở dữ liệu) cũng mô tả một cách thức theo kiểu Python để bạn xác thực và kiểm thử các công cụ. Thông tin này được ghi lại tại đây. Chúng ta sẽ bỏ qua phần đó và chuyển thẳng đến Bộ công cụ phát triển (ADK) trong phần tiếp theo để sử dụng những công cụ này.
9. Viết Agent bằng Agent Development Kit (ADK)
Cài đặt Agent Development Kit (ADK)
Mở một thẻ thiết bị đầu cuối mới trong Cloud Shell và tạo một thư mục có tên là my-agents
như sau. Chuyển đến thư mục my-agents
.
mkdir my-agents
cd my-agents
Bây giờ, hãy tạo một môi trường Python ảo bằng cách sử dụng venv
như sau:
python -m venv .venv
Kích hoạt môi trường ảo như sau:
source .venv/bin/activate
Cài đặt ADK và các gói MCP Toolbox for Databases cùng với phần phụ thuộc langchain như sau:
pip install google-adk toolbox-core
Giờ đây, bạn có thể gọi tiện ích adk
như sau.
adk
Thao tác này sẽ cho bạn thấy danh sách các lệnh.
$ adk
Usage: adk [OPTIONS] COMMAND [ARGS]...
Agent Development Kit CLI tools.
Options:
--help Show this message and exit.
Commands:
api_server Starts a FastAPI server for agents.
create Creates a new app in the current folder with prepopulated agent template.
deploy Deploys agent to hosted environments.
eval Evaluates an agent given the eval sets.
run Runs an interactive CLI for a certain agent.
web Starts a FastAPI server with Web UI for agents.
Tạo Ứng dụng nhân viên hỗ trợ đầu tiên
Bây giờ, chúng ta sẽ sử dụng adk
để tạo một cấu trúc cơ bản cho Ứng dụng tác nhân ghi chú phát hành của Google Cloud thông qua lệnh adk
create
với tên ứng dụng là **(gcp-releasenotes-agent-app)
**như dưới đây.
adk create gcp-releasenotes-agent-app
Làm theo các bước và chọn những mục sau:
- Mô hình Gemini để chọn mô hình cho tác nhân gốc.
- Chọn Vertex AI cho phần phụ trợ.
- Mã dự án và khu vực mặc định của bạn trên Google sẽ xuất hiện. Chọn chính chế độ mặc định.
Choose a model for the root agent:
1. gemini-2.0-flash-001
2. Other models (fill later)
Choose model (1, 2): 1
1. Google AI
2. Vertex AI
Choose a backend (1, 2): 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_GOOGLE_PROJECT_ID]:
Enter Google Cloud region [us-central1]:
Agent created in ../my-agents/gcp-releasenotes-agent-app:
- .env
- __init__.py
- agent.py
Quan sát thư mục mà một mẫu mặc định và các tệp bắt buộc cho Agent đã được tạo.
Đầu tiên là tệp .env
. Nội dung của tệp này được trình bày bên dưới:
GOOGLE_GENAI_USE_VERTEXAI=1
GOOGLE_CLOUD_PROJECT=YOUR_GOOGLE_PROJECT_ID
GOOGLE_CLOUD_LOCATION=YOUR_GOOGLE_PROJECT_REGION
Các giá trị này cho biết chúng ta sẽ sử dụng Gemini thông qua Vertex AI cùng với các giá trị tương ứng cho mã dự án trên Google Cloud và vị trí.
Sau đó, chúng ta có tệp __init__.py
đánh dấu thư mục là một mô-đun và có một câu lệnh duy nhất nhập tác nhân từ tệp agent.py
.
from . import agent
Cuối cùng, hãy xem tệp agent.py
. Nội dung được trình bày bên dưới:
from google.adk.agents import Agent
root_agent = Agent(
model='gemini-2.0-flash-001',
name='root_agent',
description='A helpful assistant for user questions.',
instruction='Answer user questions to the best of your knowledge',
)
Đây là Agent đơn giản nhất mà bạn có thể viết bằng ADK. Theo tài liệu về ADK page, Agent là một đơn vị thực thi độc lập được thiết kế để hoạt động độc lập nhằm đạt được các mục tiêu cụ thể. Agent có thể thực hiện các tác vụ, tương tác với người dùng, sử dụng các công cụ bên ngoài và phối hợp với các Agent khác.
Cụ thể, LLMAgent (thường được gọi là Agent) sử dụng Mô hình ngôn ngữ lớn (LLM) làm công cụ cốt lõi để hiểu ngôn ngữ tự nhiên, suy luận, lập kế hoạch, tạo câu trả lời và quyết định một cách linh hoạt cách tiếp tục hoặc công cụ cần sử dụng, khiến chúng trở nên lý tưởng cho các tác vụ linh hoạt, lấy ngôn ngữ làm trung tâm. Tìm hiểu thêm về Trợ lý ảo dựa trên LLM tại đây.
Thao tác này hoàn tất quá trình tạo khung để tạo một Agent cơ bản bằng Bộ phát triển Agent (ADK). Giờ đây, chúng ta sẽ kết nối Agent với MCP Toolbox để Agent có thể sử dụng công cụ đó nhằm trả lời các câu hỏi của người dùng (trong trường hợp này, đó sẽ là Ghi chú phát hành của Google Cloud).
10. Kết nối Agent với các công cụ
Bây giờ, chúng ta sẽ kết nối Agent này với Tools. Trong bối cảnh ADK, Công cụ đại diện cho một chức năng cụ thể được cung cấp cho một tác nhân AI, cho phép tác nhân đó thực hiện các hành động và tương tác với thế giới bên ngoài khả năng tạo văn bản và suy luận cốt lõi.
Trong trường hợp này, chúng ta sẽ trang bị cho Agent những Công cụ mà chúng ta đã định cấu hình trong MCP Toolbox for Databases.
Sửa đổi tệp agent.py
bằng đoạn mã sau. Xin lưu ý rằng chúng ta đang sử dụng cổng mặc định 5000 trong mã. Tuy nhiên, nếu bạn đang sử dụng một số cổng thay thế, vui lòng sử dụng số đó.
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-2.0-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,
)
Giờ đây, chúng ta có thể kiểm thử Agent sẽ tìm nạp dữ liệu thực từ tập dữ liệu BigQuery mà chúng ta đã định cấu hình bằng MCP Toolbox for Databases.
Để thực hiện việc này, hãy làm theo trình tự sau:
Trong một cửa sổ lệnh của Cloud Shell, hãy khởi chạy MCP Toolbox for Databases. Bạn có thể đã chạy ứng dụng này cục bộ trên cổng 5000 như chúng ta đã thử nghiệm trước đó. Nếu không, hãy chạy lệnh sau (từ thư mục mcp-toolbox
) để khởi động máy chủ:
./toolbox --tools_file "tools.yaml"
Tốt nhất là bạn nên thấy một đầu ra cho biết Máy chủ đã có thể kết nối với các nguồn dữ liệu của chúng tôi và đã tải bộ công cụ cũng như các công cụ. Dưới đây là một kết quả mẫu:
./toolbox --tools-file "tools.yaml"
2025-06-17T07:48:52.989710733Z INFO "Initialized 1 sources."
2025-06-17T07:48:52.989805642Z INFO "Initialized 0 authServices."
2025-06-17T07:48:52.989847035Z INFO "Initialized 1 tools."
2025-06-17T07:48:52.989889742Z INFO "Initialized 2 toolsets."
2025-06-17T07:48:52.990357879Z INFO "Server ready to serve!"
Sau khi máy chủ MCP khởi động thành công, trong một thiết bị đầu cuối khác, hãy chạy Agent thông qua lệnh adk run
(từ thư mục my-agents
) như minh hoạ bên dưới. Bạn cũng có thể sử dụng lệnh adk web
nếu muốn.
$ adk run gcp-releasenotes-agent-app/
Log setup complete: /tmp/agents_log/agent.20250423_170001.log
To access latest log: tail -F /tmp/agents_log/agent.latest.log
Running agent gcp_releasenotes_agent, type exit to exit.
[user]: get me the google cloud release notes
[gcp_releasenotes_agent]: Here are the Google Cloud Release Notes.
Google SecOps SOAR: Release 6.3.49 is being rolled out to the first phase of regions. This release contains internal and customer bug fixes. Published: 2025-06-14
Compute Engine: Dynamic NICs let you add or remove network interfaces to or from an instance without having to restart or recreate the instance. You can also use Dynamic NICs when you need more network interfaces. The maximum number of vNICs for most machine types in Google Cloud is 10; however, you can configure up to 16 total interfaces by using Dynamic NICs. Published: 2025-06-13
Compute Engine: General purpose C4D machine types, powered by the fifth generation AMD EPYC processors (Turin) and Google Titanium, are generally available. Published: 2025-06-13
Google Agentspace: Google Agentspace Enterprise: App-level feature management. As an Agentspace administrator, you can choose to turn the following features on or off for your end users in the web app: Agents gallery, Prompt gallery, No-code agent, NotebookLM Enterprise. Published: 2025-06-13
Cloud Load Balancing: Cloud Load Balancing supports load balancing to multi-NIC instances that use Dynamic NICs. This capability is in Preview. Published: 2025-06-13
Virtual Private Cloud: Dynamic Network Interfaces (NICs) are available in Preview. Dynamic NICs let you update an instance to add or remove network interfaces without having to restart or recreate the instance. Published: 2025-06-13
Security Command Center: The following Event Threat Detection detectors for Vertex AI have been released to Preview:
- `Persistence: New Geography for AI Service`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Admin Activity`
- `Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Data Access`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Admin Activity`
- `Privilege Escalation: Anomalous Service Account Impersonator for AI Data Access`
- `Privilege Escalation: Anomalous Impersonation of Service Account for AI Admin Activity`
- `Persistence: New AI API Method`
......
......
Xin lưu ý rằng Agent đang sử dụng công cụ mà chúng tôi đã định cấu hình trong Hộp công cụ MCP cho cơ sở dữ liệu (search_release_notes_bq
) và truy xuất dữ liệu từ tập dữ liệu BigQuery, đồng thời định dạng phản hồi cho phù hợp.
11. Xin chúc mừng
Chúc mừng bạn đã định cấu hình thành công MCP Toolbox cho Cơ sở dữ liệu và định cấu hình một tập dữ liệu BigQuery để truy cập trong các ứng dụng MCP.