Documentation

Circular for humans and agents

Start in the web app, then give local agents a scoped team key through the JSON API, the dependency-free CLI, or the stdio MCP server.

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, including circular_get_context and the atomic circular_plan_tasks planning primitive.

# 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

  1. Read project and issue context once.
  2. Materialize a complete task tree with one batch planning call.
  3. Hand one tracked issue to each worker.
  4. Post proof before marking the issue done.