Complete AgentOS setup with MCP support enabled
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.duckduckgo import DuckDuckGoTools
# Setup the database
db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai")
# Setup basic agents, teams and workflows
web_research_agent = Agent(
id="web-research-agent",
name="Web Research Agent",
model=Claude(id="claude-sonnet-4-0"),
db=db,
tools=[DuckDuckGoTools()],
add_history_to_context=True,
num_history_runs=3,
add_datetime_to_context=True,
markdown=True,
)
# Setup our AgentOS with MCP enabled
agent_os = AgentOS(
description="Example app with MCP enabled",
agents=[web_research_agent],
enable_mcp=True, # This enables a LLM-friendly MCP server at /mcp
)
app = agent_os.get_app()
if __name__ == "__main__":
"""Run our AgentOS.
You can see view your LLM-friendly MCP server at:
http://localhost:7777/mcp
"""
agent_os.serve(app="enable_mcp_example:app", reload=True)
import asyncio
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.tools.mcp import MCPTools
# This is the URL of the MCP server we want to use.
server_url = "http://localhost:7777/mcp"
async def run_agent(message: str) -> None:
async with MCPTools(transport="streamable-http", url=server_url) as mcp_tools:
agent = Agent(
model=Claude(id="claude-sonnet-4-0"),
tools=[mcp_tools],
markdown=True,
)
await agent.aprint_response(input=message, stream=True, markdown=True)
# Example usage
if __name__ == "__main__":
asyncio.run(run_agent("Which agents do I have in my AgentOS?"))
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/enable_mcp_example.py
Run Test Client
python cookbook/agent_os/mcp/test_client.py