Skip to main content
Glama

Sprrint CLI + MCP

The same Sprrint product, from a terminal or an agent.

People who never open the web app can still run the board, write tasks, move cards, run sprints, plan releases, pull work out of the Black Hole, comment, invite teammates, and manage the workspace.

  o
 /|\   sprrint now
 / \

Install

pipx install git+https://github.com/ejasmuhamed/sprrint-cli.git
# or from this repo
pipx install .
# later: pipx install sprrint

You need an account on sprrint.run.

Related MCP server: jira-mcp-server

Sign in

sprrint login

Sprrint emails a 6-digit code. After it checks out, the CLI stores an API key in ~/.config/sprrint/config.toml (mode 600). The CLI always talks to https://sprrint.run. Agents use https://mcp.sprrint.run/mcp.

You can also mint a key in the web app: You → Keys, then:

sprrint config set api_key spr_live_…
sprrint config set workspace acme
sprrint config set project BR

Environment variables override the file: SPRRINT_API_KEY, SPRRINT_WORKSPACE, SPRRINT_PROJECT.

Everyday commands

sprrint whoami
sprrint now
sprrint overview
sprrint search "login"
sprrint tasks create --title "Ship the CLI"
sprrint tasks move BR-12 progress
sprrint tasks move BR-12 blocked --blocked-note "Waiting on design"
sprrint tasks comment BR-12 "Landed."
sprrint sprints start launch-week
sprrint sprints pause launch-week
sprrint sprints complete launch-week
sprrint sprints create --name "Launch Week" --starts-on 2026-09-01 --ends-on 2026-09-14
sprrint releases list
sprrint releases create --name "1.0" --version v1.0 --task BR-12 --task BR-13 --sprint launch-week
sprrint releases update 1-0 --status live
sprrint blackhole list
sprrint blackhole pull BR-9
sprrint activity

Every mutating command has --json for scripts and --plain to skip the stickman.

sprrint --help
sprrint tasks --help

MCP

Agents connect at https://mcp.sprrint.run/mcp. Send the key on every request. No local install.

{
  "mcpServers": {
    "sprrint": {
      "url": "https://mcp.sprrint.run/mcp",
      "headers": {
        "Authorization": "Bearer spr_live_…"
      }
    }
  }
}

sprrint mcp (and the sprrint-mcp entry point) still runs a local stdio server for clients that cannot open a URL. It reads SPRRINT_API_KEY or ~/.config/sprrint/config.toml.

What it can do

Everything the Sprrint app can do:

Area

Commands / tools

You

login, whoami, me update, emails, keys

Workspaces

list, create, use (config set workspace)

Workspace

get, update, invite, roles, leave, delete

Projects

list, create, update, archive, restore, delete, members

Now / Home

now, overview, project home

Tasks

list, get, create, update, move, comment, attach, git-link / git-unlink (subtasks, blocked notes)

Description files

sprrint_files_upload (base64), then ![name](media:id) or [name](media:id) in the description

Comment files

sprrint_files_upload, then file_ids on sprrint_tasks_comment. Markdown in the comment body is attached too

Sprints

list, get, create, update, start, pause, complete, delete

Releases

list, get, create, update (task membership; optional sprint expand)

Black Hole

list, pull, drop

Search / Activity

search, activity

Categories / files

categories, files

The web app, CLI, and MCP share /api/v1 and the same permissions.

Stickman

TTY sessions show a small stick figure while work is in flight — walking, waving, pulling from the void, arms up when it lands. --plain or a pipe turns that off.

Available Tools

40 tools
sprrint_activityC

Activity feed. tab is you|all. range is 0 (today), 7, 30, or all.

Inputs: q, tab, type, actor, +2 more.

sprrint_blackhole_dropC

Drop a task out of its sprint back into the Black Hole.

Inputs: key (required), project.

sprrint_blackhole_listC

List unsprinted open tasks in the Black Hole.

Inputs: project.

sprrint_blackhole_pullB

Pull a void task into the landing sprint (active first, else planned).

Inputs: key (required), project.

sprrint_categories_createC

Create a category. kind is task|sprint.

Inputs: kind (required), name (required), project.

sprrint_categories_deleteB

Delete an unused custom category.

Inputs: category_id (required), project.

sprrint_categories_listB

List task and sprint categories.

Inputs: project.

sprrint_homeD

Project home dashboard.

Inputs: project.

sprrint_keys_createB

Create an API key. The full token is returned once.

Inputs: name, source.

sprrint_keys_listA

List active API keys for the signed-in user.

Inputs: no named parameters.

sprrint_nowA

Show the Now board for a project. Filter by sprint slug, assignee username, due window, or search text.

Inputs: q, due, sprint, project, +1 more.

sprrint_overviewA

Workspace home: greeting, counts, active sprints, and tasks that need a nudge.

Inputs: no named parameters.

sprrint_profile_updateC

Update the signed-in profile.

Inputs: avatar, timezone, username, display_name.

sprrint_projects_add_memberA

Add a workspace member to a project. user is a username or id. role is member|owner.

Inputs: user (required), project (required), role.

sprrint_projects_archiveC

Archive a project.

Inputs: project (required).

sprrint_projects_createB

Create a project. Key is exactly 2 letters or numbers. visibility is private|workspace.

Inputs: name (required), key, visibility, description, +1 more.

sprrint_projects_deleteB

Delete a project. confirm must be the exact project name.

Inputs: confirm (required), project (required).

sprrint_projects_getA

Get one project by key or slug, including members.

Inputs: project (required).

sprrint_projects_listB

List visible projects.

Inputs: no named parameters.

sprrint_projects_remove_memberC

Remove a person from a project.

Inputs: project (required), user_id (required).

sprrint_projects_restoreB

Restore an archived project by numeric id.

Inputs: project_id (required).

sprrint_projects_updateC

Update project settings.

Inputs: project (required), name, visibility, description, +1 more.

sprrint_sprints_createB

Create a sprint. Dates are YYYY-MM-DD. take is comma-separated task keys to pull in.

Inputs: name (required), ends_on (required), starts_on (required), goal, +4 more.

sprrint_sprints_deleteA

Delete a sprint. move=free sends remaining tasks to the Black Hole.

Inputs: slug (required), move, project.

sprrint_sprints_getC

Get a sprint and its tasks.

Inputs: slug (required), project.

sprrint_sprints_listB

List sprints. status is planned|active|done.

Inputs: status, project.

sprrint_sprints_updateC

Update a sprint.

Inputs: slug (required), goal, name, status, +3 more.

sprrint_tasks_commentB

Comment on a task. parent is an optional comment id for a reply.

Inputs: key (required), body (required), parent, project.

sprrint_tasks_createB

Create a task. status is todo|progress|blocked|done. priority is none|low|medium|high. tags is comma-separated.

Inputs: title (required), tags, due_on, sprint, +6 more.

sprrint_tasks_getA

Get a task by key (BR-12), including comments and attachments.

Inputs: key (required), project.

sprrint_tasks_listC

List tasks on a project. assigned is me|any|username. due is any|overdue|soon|later. sprint can be a slug or free.

Inputs: q, due, sprint, project, +1 more.

sprrint_tasks_moveC

Move a task to todo, progress, blocked, or done.

Inputs: key (required), status (required), project.

sprrint_tasks_updateA

Update a task. Pass only the fields that should change; others stay as they are.

Inputs: key (required), tags, title, due_on, +7 more.

sprrint_whoamiA

Show the signed-in Sprrint user and workspace.

Inputs: no named parameters.

sprrint_workspace_getA

Workspace settings, members, pending invites, and archived projects.

Inputs: no named parameters.

sprrint_workspace_inviteB

Invite someone to the workspace by email. role is member|admin.

Inputs: email (required), role.

sprrint_workspace_remove_memberC

Remove a person from the workspace.

Inputs: user_id (required).

sprrint_workspace_set_roleB

Change a workspace member role. role is owner|admin|member.

Inputs: role (required), user_id (required).

sprrint_workspace_updateC

Update workspace name, slug, or description.

Inputs: name, slug, description.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 40 tools

    Disambiguation4/5

    Most tools are scoped by resource and action, so projects, tasks, sprints, workspace, and black hole operations are easy to tell apart. A few pairs could still be confused, especially sprrint_now vs sprrint_tasks_list and sprrint_tasks_update vs sprrint_tasks_move.

    Naming Consistency4/5

    The dominant pattern is sprrint_<resource>_<action>, which is consistent and readable across most tools. The top-level view tools like whoami, overview, now, search, activity, and home do not follow that pattern, so the naming is not perfectly uniform.

    Tool Count2/5

    40 tools is well above the 25+ threshold for a single MCP server, even though the tools are organized by resource. Several dashboard and global tools could likely be consolidated or split out to reduce the agent's cognitive load.

    Completeness3/5

    Projects and sprints have solid lifecycle coverage, and tasks support create, get, list, update, move, and comment. However, there is no task deletion path, no API key revocation/deletion, and no category update, leaving notable gaps in the overall surface.

    Maintenance

    ActivityMaintained
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Enables AI assistants to interact with ProjectHub for comprehensive project management through natural language. It provides 25 tools to manage tasks, workspaces, time tracking, notes, and discussions via the ProjectHub API.
      47
      7 npm
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables AI agents to manage Jira projects and issues using natural language, including creating, updating, searching issues, managing sprints, and more via the Jira API.
      36
      1,650 npm
      1
      MIT