Connect to AgentOS and inspect its configuration

Both the synchronous ``get_config`` method and its asynchronous ``aget_config`` twin.

connect.py
"""Connect to AgentOS and inspect its configuration.

This example shows both the synchronous ``get_config`` method and its
asynchronous ``aget_config`` twin.

Prerequisites: start ``_server.py`` in another terminal.
Run: .venvs/demo/bin/python cookbook/05_agent_os/03_python_client/01_connect.py
Try: compare the component IDs returned by the sync and async calls.
"""

import asyncio

from agno.client import AgentOSClient
from agno.os.schema import ConfigResponse

BASE_URL = "http://localhost:7778"

# ---------------------------------------------------------------------------
# Create the Client
# ---------------------------------------------------------------------------

def print_config(label: str, config: ConfigResponse) -> None:
    """Print the components advertised by AgentOS."""
    print(f"{label}: {config.name or config.os_id}")
    print(f"Agents: {[agent.id for agent in config.agents]}")
    print(f"Teams: {[team.id for team in config.teams]}")
    print(f"Workflows: {[workflow.id for workflow in config.workflows]}")

def connect_sync() -> None:
    """Use the synchronous discovery method."""
    client = AgentOSClient(base_url=BASE_URL)
    print_config("Synchronous connection", client.get_config())

async def connect_async() -> None:
    """Use the asynchronous discovery method."""
    client = AgentOSClient(base_url=BASE_URL)
    print_config("Asynchronous connection", await client.aget_config())

# ---------------------------------------------------------------------------
# Run the Example
# ---------------------------------------------------------------------------

if __name__ == "__main__":
    connect_sync()
    asyncio.run(connect_async())

Run the Example

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Install dependencies

uv pip install -U "agno[os]" chromadb openai

Export your API keys

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 8f36eaf2d18e91afa7b327eec66a3cd3685dcb87

Start the AgentOS server

Open another terminal in the parent directory where .venv and the cloned agno directory are siblings, then start the shared server on port 7778:

source .venv/bin/activate
export OPENAI_API_KEY="your_openai_api_key_here"
cd agno
python cookbook/05_agent_os/03_python_client/_server.py

Run the example

Run the example from the repository root:

python cookbook/05_agent_os/03_python_client/01_connect.py

Full source: cookbook/05_agent_os/03_python_client/01_connect.py