> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AgentOS with MCPTools

> AgentOS whose agent connects to an external MCP server through MCPTools.

## Code

```python mcp_tools_example.py theme={null}
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

# 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()

if __name__ == "__main__":
    # Don't use reload=True here; it can break the MCP connection during the FastAPI lifespan
    agent_os.serve(app="mcp_tools_example:app")
```

AgentOS connects and disconnects `MCPTools` for you.

## Usage

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="Set Environment Variables">
    ```bash theme={null}
    export ANTHROPIC_API_KEY=your_anthropic_api_key
    ```
  </Step>

  <Step title="Install dependencies">
    ```bash theme={null}
    uv pip install -U "agno[os,mcp]" anthropic
    ```
  </Step>

  <Step title="Run Server">
    Save the code above as `mcp_tools_example.py`, then run:

    ```bash theme={null}
    python mcp_tools_example.py
    ```
  </Step>

  <Step title="Test">
    Open [http://localhost:7777/docs](http://localhost:7777/docs) and run the agent from the API docs, or connect the instance to the [AgentOS UI](/agent-os/connect-your-os).
  </Step>
</Steps>
