- Agent Builder, which creates agents, teams, and workflows.
- Platform Manager, which inspects and explains the platform, eval history, deployment checks, and schedules.
- Six skills for setting up, building, testing, and improving the project with a coding agent.
Get started
Copy the prompt below into Claude Code, Cursor, or Codex to configure and run the template with a coding agent.Manual setup
Prerequisites: Docker installed and running. An OpenAI API key.1
Clone and configure
.env and set OPENAI_API_KEY.2
Start the platform
3
Verify end to end
MCP OK with the tool count and a real agent answer through the MCP endpoint.4
Connect the AgentOS UI
- Open os.agno.com and sign in.
- Click Connect OS, enter
http://localhost:8000, and name it Local AgentOS.
5
Build your first agent
- Chat with Agent Builder: “Build an agent that tracks AI news and writes a daily brief”. Go through the agent development process.
- Once created, click Refresh on the top right, pick the new agent from the Agents dropdown, and ask: “What’s new with Anthropic?”
- Ask Platform Manager: “How healthy is the platform?” It answers from eval history, deployment checks, schedules, and the agent you just built.
At this point, your AgentOS is running locally.
Connect your frontends
Deploy to production
Prerequisites: Azure CLI installed andaz login completed. Docker running; the image is built locally.
1
Create a production env
.env.production with production values: a different OpenAI key, production-only credentials, a different Slack workspace.2
Deploy
agentos by default: a VNet with private DNS, a container registry with the locally built image, PostgreSQL 17 Flexible Server with private access and pgvector allowlisted, the Container Apps environment, and the agent-os app pinned to exactly one replica so the in-process scheduler never runs twice. The app URL is only known after create. Once the app is up, the script writes AGENTOS_URL back to your env file so scheduled jobs reach the platform. It also generates MCP_CONNECT_SECRET, the OAuth consent secret for connecting chat apps, into the same file.3
Mint your JWT key
The script pauses for a
JWT_VERIFICATION_KEY. Token-Based Authorization is on by default. Production startup requires that verification key or a readable JWKS file at the container path in JWT_JWKS_FILE; otherwise the process exits.- Open os.agno.com, click Connect OS → Live, enter your Container Apps URL, and name it Live AgentOS.
- Go to Settings → OS & Security and turn on Token-Based Authorization (JWT).
- Copy the public key and paste the full PEM into the
up.shprompt. The script saves it to your env file, stores it as a Container Apps secret, and applies it together withAGENTOS_URLin a second revision.
JWT_JWKS_FILE, the script skips the pause, but it only applies the path. Bake or mount the file before deployment. If you skip the prompt, add JWT_VERIFICATION_KEY to .env.production and run ./scripts/azure/env-sync.sh. Adding JWKS later requires an image rebuild or mount plus a redeploy. Env sync alone is insufficient.Live AgentOS connections are a paid feature. Use code
PLATFORM30 for one month off.4
Connect your MCP clients
Re-run For claude.ai and ChatGPT on the web: add
uvx agno connect, this time pointed at your deployed domain:https://<container-app-domain>/mcp as a custom connector in the chat app’s connector settings. Leave the form’s optional OAuth fields (client ID / client secret) empty. Click Connect and, on the consent page, enter the MCP_CONNECT_SECRET that up.sh generated during deploy (saved in .env.production).5
Confirm it's live
https://<container-app-domain>/docs to confirm the API is serving.Your AgentOS is live on Azure Container Apps.
Redeploy after code changes
Sync environment variables
Tear down
Next steps
Build with coding agents
Skills to create → improve → evaluate your platform using coding agents.
Azure Container Apps reference
Commands, environment variables, troubleshooting.