For AI agents
Connect your agent to the work.
tracker init writes Atlas-managed MCP entries pointing at tracker mcp serve --global --tool-profile workflow. Restart the client. Workflow writes still need actor and reason. Keep high-impact operations behind a separate human approval.
Two doors in
A JSON CLI and a typed MCP server.
Both doors call the same service layer, so neither is a second source of truth. Shell-capable agents get the full CLI. Clients without a shell get MCP.
-
CLI + --json
Commands support a machine-readable JSON envelope, errors go to stderr as JSON, and exit codes 0 through 7 are stable. Non-interactive commands do not stop for input. The CLI page has the contract.
-
MCP server
tracker mcp serve --global --tool-profile workflowis the machine-wide server. Pinned--workspaceremains. There is no HTTP listener or remote client. Every mutation still runs Atlas permission checks, the write lock, and event metadata. Cross-workspace writes needworkspace_id. -
Self-describing
Every tool declares its
underlying_atlas_actionand ajson_schema_hash, and calls are validated against the schema before they touch the tracker. Unknown arguments are rejected at the boundary. -
Context budgets
Responses are capped by default at 128 KB, 50 items per list, and a rough 4,000-token estimate. Paged tools take
limitandcursor, and oversized results come back truncated with a hint to narrow the call.
Tool profiles
Four profiles, one explicit boundary.
Start the server with the smallest profile that does the job. Each profile includes the tools below it. Counts move as tools are added; tracker mcp tools --json --global is the live authority for an installed binary.
-
read
44 tools · the defaultBoards, queues, tickets, schedules, agents, goals, history, runs, evidence, handoffs, sync state, and plan or dry-run tools. No workflow mutations.
-
workflow
+32 tools · 76 totalThe complete agent loop: create projects and tickets, edit, prioritize, label, assign, link, claim, heartbeat, move, comment, review, approve, reject, complete, manage agents and teams, schedule, add evidence, hand off, and acknowledge wake-ups. Ticket and event writes require an actor and reason; key/name-only project creation is the metadata-container exception.
-
delivery
+4 tools · 80 totalDispatch a run, create a change, and sync provider-backed change and check status into the tracker.
-
admin
+2 delivery tools · 82 total; +9 admin tools · 91 totalProvider review and merge, gate waivers, sync push and pull, import, archive, compact, and worktree cleanup. Requires the danger flag and a one-time human approval per call.
See the tool groups and the complete workflow profile, or inspect your installed binary with tracker mcp tools --json --tool-profile workflow.
The safety model
Routine work stays routine. Risky work stays explicit.
Workflow writes are attributed and policy checked. Provider, sync, archive, import, compact, and cleanup operations stay in a separate high-impact tier.
-
Hidden by default
High-impact tools are not just denied, they are invisible unless the server was started with
--dangerously-allow-high-impact-toolsand a profile that includes them. Agents cannot ask for what they cannot see. -
One-time approvals
Each high-impact call needs an approval a human created outside MCP with
tracker mcp approve-operation, scoped to one operation, one target, one actor, with a TTL. The call must echo the approval id and its exactconfirm_text. -
Single use
Approvals are consumed on execution and never replayed. Expired, mismatched, or already-used approvals fail closed, and Atlas rechecks normal policy immediately before running the action.
-
Attributed writes
Every mutation names an actor and a reason, which land in the append-only event log. When a ticket moved, you can always answer who, when, and why.
-
Audited denials
Denied high-impact attempts are recorded to a local security audit log under
.tracker/runtime/mcp/, so a curious agent leaves a paper trail instead of a mystery. -
Boring config
Local stdio only, pinned to an absolute binary path. No
sh -c, nonpx, no curl pipes, no config snippets from untrusted repos. The security docs spell out the rules.
Connect your agent
Install, teach, connect, verify.
Agent guidance and MCP registration solve different problems. Guidance teaches the Atlas workflow inside a repository. MCP registration gives a compatible client typed tools. Use either surface or both.
- 01
Install and initialize
The verified release installer installs the published binary (v1.16.0). Needs
curl,tar, andgh. In an interactive terminal it may offer optionaltracker initfor the displayed current directory; the prompt defaults to No. Unattended installs andSKIP_INTEGRATIONS=1skip it. - 02
Teach the repository
tracker initconfigures detected agents without a picker. Restart the client; Grok also needs project trust. Or runtracker integrations installlater. The picker istracker init --integrationsor baretracker integrations install. - 03
Register MCP
For MCP clients, register an absolute
trackerpath and pin the workspace. Chooseworkflowwhen the agent is expected to work tickets. A fresh existing directory can opt into initialization with--init-if-missing. - 04
Verify the surface
Open the client’s MCP status, then ask for
atlas.agent.availableor inspect the live profile withtracker mcp tools.
Install repository guidance
tracker integrations detect
tracker integrations install
# for scripts and CI
tracker integrations install --targets claude,codex,cursor,openclaw,grok,generic
tracker integrations install claude
Adds an Atlas block to CLAUDE.md, a project skill under .claude/skills/atlas-worker/, three commands under .claude/commands/, and a generated guide under .tracker/integrations/.
tracker integrations install codex
Adds a managed Atlas block to AGENTS.md, a project skill under .agents/skills/atlas-worker/, command templates, and a generated guide. Codex CLI 0.144.5 still lists leftover .codex/skills; Atlas-managed duplicates are removed on re-install. Existing non-Atlas instructions stay in place.
tracker integrations install cursor
Adds a separately marked Atlas block to AGENTS.md, plus the worker skill and commands under .cursor/skills/atlas-worker/. Detection accepts cursor or cursor-agent.
tracker integrations install openclaw
Adds its own block to AGENTS.md and a repository skill under .agents/skills/atlas-worker/. --global is an explicit OpenClaw-only option for a shared home-directory skill.
tracker integrations install grok
Adds a distinct Atlas block to AGENTS.md and writes the portable worker skill under .grok/skills/atlas-worker/. Grok lists that skill only after you trust the project in its own UI.
tracker integrations install generic
Writes portable instructions, commands, a generated guide, and an atlas-worker skill under .tracker/integrations/, with a managed block in AGENTS.md.
Re-running is idempotent: Atlas updates only its managed blocks and generated files. Whole-file replacement remains opt-in behind --force.
Register the MCP server
tracker init writes user-scoped atlas-tasker as tracker mcp serve --global --tool-profile workflow for detected clients. Restart the client; a written file is not a live connection. Global and pinned serve default to workflow. Choose --tool-profile read or --read-only for inspection only. Grok setup adds --tool-name-style portable so it can load names such as atlas_status. Pinned --workspace snippets below are the advanced alternative.
/absolute/path/to/tracker mcp serve --global --tool-profile workflow
claude mcp add --transport stdio --scope user atlas -- /absolute/path/to/tracker mcp serve --workspace /absolute/path/to/repo --tool-profile workflow
codex mcp add atlas -- /absolute/path/to/tracker mcp serve --workspace /absolute/path/to/repo --tool-profile workflow
Using another client? Prefer the init-written global serve. For a pinned session, configure a local stdio command with an absolute binary path, mcp serve, absolute --workspace, and a chosen --tool-profile.
Run the first tool loop
-
The working loop
Call
atlas.agent.available, then useatlas.ticket.claim,atlas.ticket.move, andatlas.ticket.comment. Request review withatlas.ticket.request_review. Underreview_gate, approval by the required reviewer itself moves the ticket directly to Done; rejection sends it back to In Progress. Useatlas.ticket.completefor open-mode work or policies whose separate gates have passed; it cannot bypass review. -
New workflow coverage
The profile also creates project containers and tickets, edits priority and labels, renews active leases, links dependencies, manages agent profiles, applies team presets, sets schedules, adds evidence, creates handoffs, and acknowledges wake-ups. See every workflow tool.
-
Reason codes
When nothing is available,
tracker agent pendingsays why with stable codes:dependency_blocked,waiting_for_review,waiting_for_owner,not_ready_status,claimed_by_other,policy_blocked,agent_at_capacity,missing_capability. No guessing, no polling loops that spiral. A backlog ticket whose blockers are all done is nevernot_ready_status: when the last blocker of an agent-assigned ticket completes, Atlas promotes it to ready itself, and an unassigned one shows up inavailableas a claimablepromoteaction (a human-assigned one surfaces in that human'squeueinstead). -
Wrong moves fail fast
Illegal status transitions exit 4. Claiming a ticket someone else holds exits 4. That is the workflow enforcing itself, and the agent simply picks the next available item.
One boundary
The web board is for humans.
Atlas Home uses a one-time local claim to establish an HttpOnly browser session. Pending claims stay in private local state until consumed or expired. The browser is for people; agents use the CLI or MCP to work with the same tickets.