Complete AgentOS setup with MCPTools enabled on agents
from agno.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.anthropic import Claude
from agno.os import AgentOS
from agno.tools.mcp import MCPTools
# Setup the database
db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai")
mcp_tools = MCPTools(transport="streamable-http", url="https://docs.agno.com/mcp")
# Setup basic agents, teams and workflows
agno_support_agent = Agent(
id="agno-support-agent",
name="Agno Support Agent",
model=Claude(id="claude-sonnet-4-0"),
db=db,
tools=[mcp_tools],
add_history_to_context=True,
num_history_runs=3,
markdown=True,
)
agent_os = AgentOS(
description="Example app with MCP Tools",
agents=[agno_support_agent],
)
app = agent_os.get_app()
if __name__ == "__main__":
"""Run our AgentOS.
You can see test your AgentOS at:
http://localhost:7777/docs
"""
# Don't use reload=True here, this can cause issues with the lifespan
agent_os.serve(app="mcp_tools_example:app")
Create a virtual environment
Terminal
and create a python virtual environment.python3 -m venv .venv
source .venv/bin/activate
Set Environment Variables
export ANTHROPIC_API_KEY=your_anthropic_api_key
export DATABASE_URL=postgresql+psycopg://ai:ai@localhost:5532/ai # Optional
Install libraries
pip install -U agno anthropic fastapi uvicorn sqlalchemy pgvector psycopg
Setup PostgreSQL Database
# Using Docker
docker run -d \
--name agno-postgres \
-e POSTGRES_DB=ai \
-e POSTGRES_USER=ai \
-e POSTGRES_PASSWORD=ai \
-p 5532:5432 \
pgvector/pgvector:pg17
Run Server
python cookbook/agent_os/mcp/mcp_tools_example.py