mcp_tools_example.py
"""
Example AgentOS app where the agent has MCPTools.
AgentOS handles the lifespan of the MCPTools internally.
"""
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.anthropic import Claude
from agno.os import AgentOS
from agno.tools.mcp import MCPTools
# ---------------------------------------------------------------------------
# Create Example
# ---------------------------------------------------------------------------
# Setup the database
db = SqliteDb(db_file="tmp/agentos.db")
mcp_tools = MCPTools(transport="streamable-http", url="https://docs.agno.com/mcp")
# Setup basic agent
agno_support_agent = Agent(
id="agno-support-agent",
name="Agno Support Agent",
model=Claude(id="claude-sonnet-4-5"),
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()
# ---------------------------------------------------------------------------
# Run Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
"""Run your 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")
Run the Example
1
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
2
Install dependencies
uv pip install -U "agno[mcp,os]" anthropic
3
Export your Anthropic API key
export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
$Env:ANTHROPIC_API_KEY="your_anthropic_api_key_here"
4
Run the example
Save the code above as
mcp_tools_example.py, then run:python mcp_tools_example.py