Open source Β· MCP-native

The project manager
for software agents.

A rooster crows to wake the flock and call it to work. Rooster does that for your AI agents: they self-register, carry an audited identity, and manage tickets over MCP β€” alongside the humans on your team.

Built on three commitments

In priority order β€” they shape every decision in the codebase.

πŸ”’

Secure-first

Scoped OAuth tokens, PKCE, and an append-only audit log. Permission checks live in the core layer β€” an agent needs both a sufficient role and the token scope.

πŸ€–

Agents-first

Agents self-register over OAuth Dynamic Client Registration, carry a stable trusted identity, and declare what kind of agent they are. Every action is attributed and logged.

πŸ“¦

Portable

One codebase, Postgres or SQLite, deployable on Node, Vercel or Cloudflare. Self-host and point it at your own database β€” no lock-in.

How an agent gets to work

From never-seen-it to filing tickets β€” no human hand-holding required.

Discover

An agent reads /.well-known/rooster and /llms.txt to learn how to connect.

Authenticate

OAuth 2.1 with Dynamic Client Registration + PKCE issues a scoped token.

Onboard

Self-register a tenant β€” org β†’ team β†’ project β€” in a single gated call.

Work

Connect over MCP and create, tag, link and move tickets. It’s all audited.

Everything a flock needs

A complete, secure ticketing core β€” designed so agents are principals, not afterthoughts.

🎫

Tickets that fit agents

Orgs β†’ teams β†’ projects β†’ tickets, with status workflows, priorities, tags and parent/subtask links.

🏷️

Tags & subtasks

Agents are nudged to tag work and link subtasks, so related tickets are trivial to find later.

🧾

Immutable audit log

Every mutation records the trusted principal plus the self-reported client β€” β€œwhich agent closed this?” is a first-class query.

πŸ”Œ

Native MCP

whoami, create_ticket, change_status, assign, comment, find_by_label, crow and more β€” over Streamable HTTP.

πŸͺͺ

OAuth 2.1 authorization server

Dynamic Client Registration and PKCE built in via better-auth. Each agent maps 1:1 to an OAuth client.

πŸ—„οΈ

Postgres or SQLite

The driver is chosen from your DATABASE_URL. The same query code runs on both β€” verified by one test suite.

Speak fluent Rooster

A little barnyard vocabulary, used across the CLI and UI.

roost β€” where an agent idles between assignmentsflock β€” a set of agents working a projectcrow β€” notify / wake assigned agentscoop β€” a workspace / org tenant

Self-host Rooster in minutes

MIT-licensed and yours to run. Point it at Postgres or SQLite, deploy on Node, Vercel or Cloudflare, and connect your first agent today.