- Agent Builder, which creates agents, teams, and workflows.
- Platform Manager, which inspects and explains the platform, eval history, deployment checks, and schedules.
- Eight skills for setting up, building, testing, reviewing, and deploying the project with a coding agent.
Get started
Copy the prompt below into Claude Code, Cursor, or Codex to set up 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: Python 3 and OpenSSL. Modal CLI installed withmodal token new completed. neonctl installed with neonctl auth completed.
1
Create a production env
.env.production with production values: a different OpenAI key, production-only credentials, a different Slack workspace.2
Deploy
DB_HOST and DB_PASS in your env file when both are set. Otherwise, it creates a Neon Postgres project and saves its connection details. The script writes your config into the agentos-secrets Modal secret and deploys modal_app.py as one always-warm container. It then sets AGENTOS_URL to the stable https://<workspace>--agentos.modal.run URL and generates MCP_CONNECT_SECRET when your env file does not have one.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, and enter your modal.run URL.
- Name it Live AgentOS, turn on Token-Based Authorization (JWT) on the connection panel, and connect. The UI generates the public key. If the OS is already connected, enable the setting under Settings → OS & Security.
- Copy the public key and paste the full PEM into the
up.shprompt. The script saves it to your env file and runs a second deploy to apply it.
JWT_VERIFICATION_KEY to .env.production later and run ./scripts/modal/env-sync.sh. For JWKS, add the file to the Docker build context or configure a Modal mount, set JWT_JWKS_FILE to its container path, then deploy. Env sync only forwards the path.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://<workspace>--agentos.modal.run/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://<workspace>--agentos.modal.run/docs to confirm the API is serving.Your AgentOS is live on Modal.
Redeploy after code changes
Sync environment variables
agentos-secrets Modal secret from .env.production and redeploys. Secrets are read at container start, so the redeploy is what applies them.
Tear down
Next steps
Build with coding agents
Skills to create → improve → evaluate your platform using coding agents.
Modal reference
Commands, environment variables, troubleshooting.