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

# Basic

> Create a basic AI agent with A2A interface

## Code

```python a2a_basic.py theme={null}
from agno.agent.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.os import AgentOS

chat_agent = Agent(
    name="Assistant",
    model=OpenAIResponses(id="gpt-5.2"),
    instructions="You are a helpful AI assistant.",
    add_datetime_to_context=True,
    markdown=True,
)

agent_os = AgentOS(
    agents=[chat_agent],
    a2a_interface=True,
)
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve(app="a2a_basic:app", reload=True)
```

## Usage

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

**1. Set Environment Variables**

```bash theme={null}
export OPENAI_API_KEY=your_openai_api_key
```

**2. Install dependencies**

```bash theme={null}
uv pip install -U "agno[os,a2a]" openai
```

**3. Run Example**

```bash theme={null}
python a2a_basic.py
```

## Key Features

* **A2A Endpoints**: Serves the protocol routes `POST /a2a/agents/{id}/v1/message:send` and `message:stream`
* **Markdown Support**: Rich text formatting in responses
* **DateTime Context**: Time-aware responses
* **Open Protocol**: Compatible with A2A frontends

> [!NOTE]
>
> This example runs without authorization. With `authorization=True` on the AgentOS, A2A requests need a Bearer JWT carrying the `agents:run` scope. See [A2A authorization](https://agno-v2.mintlify.site/agent-os/interfaces/a2a/introduction.md#authorization).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.