pm_sprint
The pm_sprint tool manages sprints within projects. Sprints group tasks for a time-bounded delivery window and support parent/child hierarchies for programs or release trains.
Actions
create, get, list, query, set_parent, update, delete, link_task, unlink_task, close_checked, help
All timestamps are epoch milliseconds.
create
Create a new sprint under a project.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
projectKey | string | Yes | Project this sprint belongs to |
name | string | Yes | Sprint name |
startTs | number | Yes | Start timestamp (epoch ms) |
endTs | number | Yes | End timestamp (epoch ms) |
goal | string | No | Sprint goal statement |
status | string | No | planned (default), active, review, closed |
velocityTarget | number | No | Target story points |
metadata | object | No | { owners?, links?, notes? } |
Example
pm_sprint {
action: "create",
projectKey: "my-api",
name: "Sprint 12 — rate limiting",
goal: "Ship per-IP rate limiting on auth endpoints",
startTs: 1712620800000,
endTs: 1713830400000,
status: "planned",
velocityTarget: 40
}get
Fetch a sprint by ID.
Parameters
| Field | Type | Required |
|---|---|---|
sprintId | string | Yes |
list
List sprints for a project.
Parameters
| Field | Type | Required |
|---|---|---|
projectKey | string | Yes |
status | string | No |
limit | number | No |
offset | number | No |
query
Search sprints across one or more projects.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
projectKey | string | No | Single project scope |
projectKeys | string[] | No | Multiple project scope |
query | string | No | Search text (name/goal) |
status | string | No | |
limit | number | No | |
offset | number | No |
set_parent
Set or clear the parent sprint for a child sprint. Pass null to parentSprintId to clear.
Parameters
| Field | Type | Required |
|---|---|---|
sprintId | string | Yes |
parentSprintId | string | null | No |
update
Update sprint fields.
Parameters
| Field | Type | Required |
|---|---|---|
sprintId | string | Yes |
name | string | No |
goal | string | No |
status | string | No |
startTs | number | No |
endTs | number | No |
velocityTarget | number | No |
metadata | object | No |
delete
Delete a sprint. Linked tasks are unlinked automatically.
Parameters
| Field | Type | Required |
|---|---|---|
sprintId | string | Yes |
link_task
Link a task to a sprint.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
sprintId | string | Yes | |
taskId | string | Yes | |
actorHandle | string | No | Who performed the link |
clientRequestId | string | No | Idempotency key |
Example
pm_sprint {
action: "link_task",
sprintId: "01HXYZ...",
taskId: "01HABC...",
actorHandle: "@skadi"
}unlink_task
Unlink a task from a sprint.
Parameters
| Field | Type | Required |
|---|---|---|
sprintId | string | Yes |
taskId | string | Yes |
actorHandle | string | No |
clientRequestId | string | No |
close_checked
Close a sprint after checking that its task set is nonempty and every task is done. Pass the task keys you intended to complete to detect membership changes before closing.
| Field | Type | Required | Notes |
|---|---|---|---|
projectKey | string | Yes | Project owning the sprint |
sprintId | string | Yes | Sprint to close |
clientRequestId | string | Yes | Retain for retries of this close operation |
expectedTaskKeys | string[] | No | Nonempty list of tasks you expect in the sprint; omission checks current membership |
actorHandle | string | No | Actor for the operation |
pm_sprint {
action: "close_checked",
projectKey: "my-api",
sprintId: "<sprint-id>",
clientRequestId: "<generated-request-id>",
expectedTaskKeys: ["MYAPI-42", "MYAPI-43"]
}Inspect structuredContent.outcome: closed or existing confirms closure; tasks_not_done, task_set_drift, or needs_attention requires follow-up. A successful tool response can contain one of those non-closing outcomes. Reuse the same request ID and arguments for an uncertain retry.
help
Return the structured action reference from the running MCP server.
pm_sprint { action: "help" }The help payload is a read-only contract for sprint orchestration:
| Field | Contents |
|---|---|
actions | Every accepted action, including close_checked |
whenToUse | Guidance for sprint creation, scoped listing, cross-project query, hierarchy, lifecycle, and task membership |
examples | Representative calls such as querying active sprints, linking a task by taskId, and clearing a parent sprint |
cautions | Fetch-before-update, task IDs for membership, and request IDs for supported mutations |
compatibility | Compatibility notes for supported calls |
Use help when building sprint agents that need to understand hierarchy and membership boundaries.
Related
- pm_task — tasks are what sprints organize
- pm_project — sprints belong to projects