Docs
Quick start
Two steps: open your board in the browser, then give your coding agent the same board through MCP. From there the agent reads the plan, works from it, and writes back — and you watch it happen live.
1. Open your board
Boards are hosted — there is nothing to install to use one. Sign in and you land on your
board; a specific board lives at /b/<slug>.
Boards are created for you today, not self-serve. There is no “new board” button yet — if you need one, that is a conversation rather than a form. Everything below works once you have one.
2. Give your agent the board
tada ships a stdio MCP server. Registering it in a project gives the agent working in that project a set of plan tools — it can read the board, pick up what is In Progress, and move tickets as work lands.
Register it in the project's .mcp.json (Claude Code loads that from the project
root):
{
"mcpServers": {
"tada": {
"command": "npx",
"args": [
"tsx", "/path/to/tada/app/mcp/server.ts",
"--project", "myproject",
"--owner-email", "you@example.com",
"--url", "https://app.tada-ai.app"
]
}
}
}
--project- The board slug — which board this project's agent works from.
--owner-email- Your account. The server acts as you and gates every call against that identity, so a private board is simply invisible to anyone else — there is no shared write key to leak or rotate.
--url- The origin the
board_urltool links to.
You get this config with your board. Setting one up is hands-on today, and the ready-to-paste block — paths and credentials filled in — comes with it. Nothing to provision yourself.
What the agent gets
Sixteen tools, covering the whole board. The shape mirrors the vocabulary on the Concepts page — Stories, their Tasks, and the four statuses.
| Tool | What it does |
|---|---|
view_board | The board grouped by column, with tasks. Optional status and type filters keep the output small. |
get_story | One Story and its Tasks as JSON, by title or id. |
add_story | Create a Story — title, type, status, note, tags, due date. |
update_story | Edit a Story's fields. |
set_status | Move a Story between columns. |
move_story | Reorder within a column; optionally change column in the same write. |
delete_story | Remove a Story. |
merge_stories | Combine Stories into one — notes concatenate, tags union, Tasks move over. |
link_story / unlink_story | Relate one Story to another (default blocks). Refused if it would close a cycle. |
add_subtask / edit_subtask / delete_subtask | Manage a Story's Tasks. |
set_subtask_status | Move a Task between its columns. |
move_subtask | Reorder a Task within its column. |
board_url | The URL to open the live board. |
Every tool that looks a Story up by title or id also finds an archived one,
so an agent can still edit or merge Changelog entries. view_board itself shows
only the active board.
3. Watch it work
Ask the agent for board_url and open it. The agent edits through MCP; the board
updates live in your browser over SSE. That shared view is the point — the plan is the
contract, and you are both looking at it.