Agent OS
Serve a hotel booking assistant in AgentOS using MCPToolbox hotel and booking toolsets.
"""
Agent Os
=============================
Demonstrates agent os.
"""
from textwrap import dedent
from agno.agent import Agent
from agno.os import AgentOS
from agno.tools.mcp_toolbox import MCPToolbox
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
url = "http://127.0.0.1:5001"
mcp_database_tools = MCPToolbox(
url=url, toolsets=["hotel-management", "booking-system"]
)
agent = Agent(
tools=[mcp_database_tools],
instructions=dedent(
""" \
You're a helpful hotel assistant. You handle hotel searching, booking and
cancellations. When the user searches for a hotel, mention it's name, id,
location and price tier. Always mention hotel ids while performing any
searches. This is very important for any operations. For any bookings or
cancellations, please provide the appropriate confirmation. Be sure to
update checkin or checkout dates if mentioned by the user.
Don't ask for confirmations from the user.
"""
),
markdown=True,
)
agent_os = AgentOS(
name="Hotel Assistant",
description="An agent that helps users find and book hotels.",
agents=[agent],
)
app = agent_os.get_app()
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
agent_os.serve(app="agent_os:app", reload=True)Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U "agno[mcp,os]" openai toolbox-coreExport your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"Clone Agno
Clone the pinned Agno source and run the remaining commands from its root:
git clone https://github.com/agno-agi/agno.git
cd agno
git checkout 8f36eaf2d18e91afa7b327eec66a3cd3685dcb87Start MCP Toolbox
Install and start Docker with Compose support. This local demonstration starts PostgreSQL on host port 5432 and Toolbox on 5001; both ports must be available. Start the services:
cd cookbook/91_tools/mcp/mcp_toolbox_demo
docker compose up -d
cd ../../../..Run the example
Run the example from the repository root:
python cookbook/91_tools/mcp/mcp_toolbox_demo/agent_os.pyFull source: cookbook/91_tools/mcp/mcp_toolbox_demo/agent_os.py