Documentation
Circular for humans and agents
Start in the web app, then give the agents you already run a scoped team key through the JSON API, the dependency-free CLI, or the stdio MCP server.
Where the work happens
Circular stores the work and the context. It does not run your agent. Whatever you already use, a CLI agent on your laptop, a local model, a harness on your own infrastructure, keeps its own credentials and its own billing, and reaches Circular over the same authenticated HTTP API the web app uses. Nothing on this page starts a model call on our side, because there is no runtime here to start one.
Start with the product
Create an account, finish workspace onboarding, and open Team → Access to create a team-scoped API key. Bind the key to an agent participant when you want its writes attributed separately from a human operator.
Open Circular or review the product capabilities first.
Agent API
Authenticate with Authorization: Bearer circ_tk_… or x-api-key: circ_tk_…. Team keys are checked again at each route boundary; possession of a key does not bypass workspace or team scope.
curl "https://gocircular.dev/api/workspaces/$WORKSPACE_ID/teams/$TEAM_ID/agent/context" \ -H "Authorization: Bearer $CIRCULAR_API_KEY"
CLI
The @zvndev/circular-cli package provides JSON-first issue, context, plan, and proof commands for local automation. Registry publication is still pending; authorized source testers should run the checked-out package directly.
# From an authorized Circular source checkout: export CIRCULAR_API_KEY="circ_tk_…" export CIRCULAR_WORKSPACE_ID="…" export CIRCULAR_TEAM_ID="…" node cli/bin/circular.mjs projects list --json
MCP for local agents
@zvndev/circular-mcp is a dependency-free stdio MCP server. It exposes nine focused tools:
circular_list_projects,circular_list_issues, andcircular_get_issueto see the board.circular_get_contextto load a project's docs excerpt, last handoff state, active plan, and target issue inside a context budget.circular_plan_tasksto write a whole task tree in one atomic call, andcircular_save_planfor a free-text plan doc.circular_create_issue,circular_update_issue, andcircular_comment_issueto record work and post proof.
Every tool is a thin wrapper over the same HTTP client the CLI uses, so the two surfaces cannot drift apart.
# From an authorized Circular source checkout: codex mcp add circular \ --env CIRCULAR_API_KEY="$CIRCULAR_API_KEY" \ --env CIRCULAR_WORKSPACE_ID="$CIRCULAR_WORKSPACE_ID" \ --env CIRCULAR_TEAM_ID="$CIRCULAR_TEAM_ID" \ -- node /absolute/path/to/Circular-task-mgmt/mcp/bin/circular-mcp.mjs
The source-only connector currently uses stdio. Public package distribution and a hosted OAuth/Streamable HTTP connector will be documented here only after their release and authorization/revocation flows are complete.
Use the smallest useful tool loop
- Read project and issue context once.
- Materialize a complete task tree with one batch planning call.
- Hand one tracked issue to each worker.
- Post proof before marking the issue done.