Co-authored-by: George Weale <gweale@google.com> PiperOrigin-RevId: 858763407
Toolbox Agent
This agent utilizes MCP toolbox for database to assist end users based on information stored in a database.
Follow the steps below to run this agent.
Prerequisites
Before starting, ensure you have Python installed on your system.
Installation Steps
1. Install Toolbox
Run the following command to download and install the toolbox:
export OS="linux/amd64" # one of linux/amd64, darwin/arm64, darwin/amd64, or windows/amd64
curl -O https://storage.googleapis.com/genai-toolbox/v0.5.0/$OS/toolbox
chmod +x toolbox
2. Install SQLite
Install SQLite from https://sqlite.org/
3. Install Required Python Dependencies
Important: The ADK's ToolboxToolset class requires the toolbox-adk package, which is not automatically installed with the ADK. Install it using:
pip install google-adk[toolbox]
4. Create Database (Optional)
Note: A database instance is already included in the project folder. Skip this step if you want to use the existing database.
To create a new database:
sqlite3 tool_box.db
Run the following SQL commands to set up the hotels table:
CREATE TABLE hotels(
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR NOT NULL,
location VARCHAR NOT NULL,
price_tier VARCHAR NOT NULL,
checkin_date DATE NOT NULL,
checkout_date DATE NOT NULL,
booked BIT NOT NULL
);
INSERT INTO hotels(id, name, location, price_tier, checkin_date, checkout_date, booked)
VALUES
(1, 'Hilton Basel', 'Basel', 'Luxury', '2024-04-22', '2024-04-20', 0),
(2, 'Marriott Zurich', 'Zurich', 'Upscale', '2024-04-14', '2024-04-21', 0),
(3, 'Hyatt Regency Basel', 'Basel', 'Upper Upscale', '2024-04-02', '2024-04-20', 0),
(4, 'Radisson Blu Lucerne', 'Lucerne', 'Midscale', '2024-04-24', '2024-04-05', 0),
(5, 'Best Western Bern', 'Bern', 'Upper Midscale', '2024-04-23', '2024-04-01', 0),
(6, 'InterContinental Geneva', 'Geneva', 'Luxury', '2024-04-23', '2024-04-28', 0),
(7, 'Sheraton Zurich', 'Zurich', 'Upper Upscale', '2024-04-27', '2024-04-02', 0),
(8, 'Holiday Inn Basel', 'Basel', 'Upper Midscale', '2024-04-24', '2024-04-09', 0),
(9, 'Courtyard Zurich', 'Zurich', 'Upscale', '2024-04-03', '2024-04-13', 0),
(10, 'Comfort Inn Bern', 'Bern', 'Midscale', '2024-04-04', '2024-04-16', 0);
5. Create Tools Configuration
Create a YAML file named tools.yaml. See the contents in the agent folder for reference.
6. Start Toolbox Server
Run the following command in the agent folder:
toolbox --tools-file "tools.yaml"
The server will start at http://127.0.0.1:5000 by default.
7. Start ADK Web UI
Follow the ADK documentation to start the web user interface.
Testing the Agent
Once everything is set up, you can test the agent with these sample queries:
- Query 1: "What can you do for me?"
- Query 2: "Could you let me know the information about 'Hilton Basel' hotel?"