pm_project
The pm_project tool manages projects — the top-level containers that group tasks, sprints, and agent work. Projects have a unique key, a taskKeyPrefix for generating task identifiers, and metadata for status and owners.
Actions
create, get, list, update, delete, comment_create, help
create
Create a new project.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
key | string | Yes | Unique project key (e.g., "my-api"). Used in all downstream references. |
name | string | Yes | Human-readable project name. |
taskKeyPrefix | string | Yes | Alphanumeric + hyphens. Task keys generated as <prefix>-<number>. |
description | string | No | Project description. |
metadata | object | No | { status, owners[] } where each owner is { handle or agentId, role? }. |
repos | array | No | Array of { rootPath, repoUrl?, isPrimary? } — linked repositories. |
Example
pm_project {
action: "create",
key: "my-api",
name: "My API Service",
taskKeyPrefix: "MYAPI",
description: "REST API for customer-facing services.",
metadata: {
status: "in_progress",
owners: [{ handle: "@alice", role: "owner" }]
}
}get
Fetch a project by its key. Returns the full project record including repos and comments.
Parameters
| Field | Type | Required |
|---|---|---|
key | string | Yes |
Example
pm_project { action: "get", key: "my-api" }list
List projects, optionally filtered by status.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
status | string | No | planned, in_progress, paused, done, or archived |
limit | number | No | 1–200 |
Example
pm_project { action: "list", status: "in_progress", limit: 20 }update
Update project fields. Pass only the fields you want to change.
Parameters
| Field | Type | Required |
|---|---|---|
key | string | Yes |
name | string | No |
description | string | No |
taskKeyPrefix | string | No |
metadata | object | No |
repos | array | No |
delete
Delete a project and all associated data (tasks, sprints, reviews). Destructive — no undo.
Parameters
| Field | Type | Required |
|---|---|---|
key | string | Yes |
comment_create
Add a comment to a project.
Parameters
| Field | Type | Required | Notes |
|---|---|---|---|
key | string | Yes | Project key |
actor | string | Yes | Who is commenting (handle or system actor) |
body | string | Yes | Comment content |
tags | string[] | No | Freeform tags |
references | array | No | Array of { uri or url, label? } |
Example
pm_project {
action: "comment_create",
key: "my-api",
actor: "@alice",
body: "Promoting to In Progress — sprint kickoff today.",
tags: ["status-change"]
}help
Returns the canonical action reference directly from the MCP server.
pm_project { action: "help" }The help payload is a read-only contract for project-aware automation:
| Field | Contents |
|---|---|
actions | Every accepted pm_project action: create, get, list, update, delete, comment_create, and help |
whenToUse | Action-by-action guidance for creating projects, fetching before mutation, listing lifecycle states, deleting intentionally, and adding project comments |
examples | Representative calls such as fetching a project, listing active projects, and attaching a coordination note |
cautions | Guardrails for fetch-before-update, sprint membership boundaries, and destructive project deletes |
compatibility | Notes that the help payload is additive and accepted input schemas, action names, and MCP error behavior are unchanged |
Use help when an agent needs the project tool contract without mutating project state. The structured payload is compatibility-preserving: it gives newer clients richer guidance while keeping existing pm_project calls and result shapes stable.