MCP tools
All tools return JSON. Failures look like { "ok": false, "error": "…", "code": "…" }.
Identify projects by key (BR) or slug (brand-refresh). Identify tasks by key (BR-12).
| Tool | What it does |
|---|---|
sprrint_whoami |
Signed-in user + workspace |
sprrint_workspaces_list |
Workspaces you belong to |
sprrint_workspaces_create |
Create a workspace |
sprrint_overview |
Workspace home |
sprrint_home |
Project home |
sprrint_now |
Now board (filters: sprint, assigned, due, q) |
sprrint_search |
Tasks, sprints, people |
sprrint_activity |
Activity feed (tab, range, actor, type, q) |
sprrint_projects_list |
Visible projects |
sprrint_projects_get |
One project + members |
sprrint_projects_create |
Create project |
sprrint_projects_update |
Name, description, visibility, default view |
sprrint_projects_archive |
Archive |
sprrint_projects_restore |
Restore by numeric id |
sprrint_projects_delete |
Delete (confirm = name) |
sprrint_projects_add_member |
Add workspace person to project |
sprrint_projects_remove_member |
Remove from project |
sprrint_tasks_list |
List / filter tasks |
sprrint_tasks_get |
Task + comments + files + description_files |
sprrint_tasks_create |
Create task (optional parent, blocked_note) |
sprrint_tasks_update |
Edit fields. Description is the full markdown body |
sprrint_files_upload |
Upload description bytes as base64. Returns markdown to embed |
sprrint_tasks_move |
Change status (blocked_note, confirm_complete) |
sprrint_tasks_comment |
Comment or reply |
sprrint_sprints_list |
List sprints |
sprrint_sprints_get |
Sprint + tasks |
sprrint_sprints_create |
Create sprint, optional intake |
sprrint_sprints_update |
Edit sprint |
sprrint_sprints_start |
Start a planned sprint |
sprrint_sprints_pause |
Pause an active sprint |
sprrint_sprints_complete |
Mark an active sprint done |
sprrint_sprints_delete |
Delete (move=free) |
sprrint_blackhole_list |
Void tasks |
sprrint_blackhole_pull |
Into landing sprint |
sprrint_blackhole_drop |
Back to the void |
sprrint_workspace_get |
Settings, members, invites, archived |
sprrint_workspace_update |
Name / slug / description |
sprrint_workspace_invite |
Email invite |
sprrint_workspace_set_role |
owner / admin / member |
sprrint_workspace_remove_member |
Remove from workspace |
sprrint_profile_update |
Display name, username, timezone, avatar |
sprrint_categories_list |
Task + sprint categories |
sprrint_categories_create |
Add category |
sprrint_categories_delete |
Remove unused custom category |
sprrint_keys_list |
Your API keys |
sprrint_keys_create |
Mint a key (token shown once) |
Description files
sprrint_files_upload takes filename, content_base64, optional content_type, and optional project. It does not read a local path. The response includes id, name, content_type, kind, size, url, role, and markdown.
Put markdown in the task description:
- image →
 - anything else →
[brief.pdf](media:<id>)
Workflow: create or read the task, upload each file, then create or update the description with those snippets in the order they should appear. Keep existing media: tokens when you edit. sprrint_tasks_get returns the same tokens in description and metadata in description_files (id, name, content_type, kind, size, url, role, label, markdown, missing). attachments is a separate list and does not replace inline description files.
Limits match the web app: 25 MB. Types: png, jpeg, gif, webp, mp4, webm, quicktime, pdf, txt, md, doc, docx. A failed upload writes no file and does not change the description. If the upload succeeds and the description update fails, retry the update with the same id. Do not upload again. Unused uploads stay in the project library until someone deletes them.
sprrint files ./shot.png remains the CLI path for a local file. Comment attachments still use sprrint tasks attach.
Typical agent flow
sprrint_whoami— confirm identitysprrint_now— see the boardsprrint_tasks_create/sprrint_tasks_move— do the worksprrint_activity— check what changed