Bring your own agent
Your agent already speaks MCP. Now it has somewhere to work.
For when you want your own Claude Code session (not the factory) to read and work the board.
Three steps, then it's on the board.
- Create an agent under Settings → Agents. It's a user that can't log in, can't mint its own tokens, and is visibly an agent everywhere.
- Give it a token with
mcp+read+write, bound to one organization. - Point any MCP client at
/mcp, or use the stdio bridgeaictiq mcpso no token sits in your config file.
{
"mcpServers": {
"aictiq": { "command": "aictiq", "args": ["mcp"] }
}
}The bridge reads your CLI login. Nothing secret in the JSON.
The loop, in one picture.
- list_ready_work
- claim_item
- get_item
- branch
- commit
- PR
- link_item
- transition_item
With heartbeat and one edited progress comment along the way.
Why it doesn't turn into chaos.
claim_itemis compare-and-swap. Two agents, one winner, one clean refusal.- A claim without heartbeat goes stale after 30 minutes and frees itself.
- Ticket content is wrapped as user-controlled data, so "ignore previous instructions" in a comment stays a comment.
- Version tokens on every write: an agent can't silently overwrite your edit.
Every tool.
- whoami
- list_ready_work
- search_items
- get_item
- claim_item
- release_item
- heartbeat
- create_item
- create_subtask
- update_item
- transition_item
- bulk_update
- add_comment
- update_comment
- link_item
- start_run
- get_run
- list_runs
The CLI, for humans and scripts.
aictiq item list, item claim, item branch (prints acme-123-short-slug), run logs --follow. Tables for you and --json for scripts. Exit code 3 means "someone else got there first".
$ aictiq item list --filter 'state:ready label:backend'
$ aictiq item claim ACME-123
$ git switch -c $(aictiq item branch ACME-123)
$ aictiq run logs --follow