-
Notifications
You must be signed in to change notification settings - Fork 0
Tools Reference
Every tool the handoff-mcp server exposes. Tool names are prefixed handoff_
(in Claude Code they appear as mcp__handoff__handoff_*). All tools take an
optional project_dir; when omitted it defaults to the current working
directory.
Rule of thumb: drive everything through these tools. Do not read or write the
.handoff/JSON files directly — the server keeps them consistent and writes them atomically.
Initialize a .handoff/ directory for a project. Call this once, when
handoff_load_context reports the project is not initialized.
-
Input:
project_name(required),project_dir. -
Creates:
config.toml,sessions/, andtasks/.
Load session context at the start of a session: outstanding tasks, recent decisions, blockers, unread referrals, and git state.
-
Input:
project_dir, optionalsession_idto resume a specific session. -
Output:
task_summary,task_tree,previous_session,next_actions,open_sessions, and — when no active session exists — asession_guidanceblock telling the agent to establish one. -
First move: read
next_actions(the previous session's recommended steps) before re-verifying completed work.
Save session state. With session_status: "active" it establishes (or updates
in place) a persistent active session that survives interruptions; with the
default session_status: "closed" it writes handoff data and closes the session
as history.
-
Key fields:
summary(required),decisions,blockers,checklist,handoff_notes(caution/context/suggestion),references,context_pointers. -
Pausing:
pause_active/pause_session_idpause sessions for later resumption instead of closing them.
Incrementally update the active session without closing it — toggle checklist items, append decisions, notes, or context pointers as work progresses.
List sessions (open / active / paused / closed) with summary info.
Filter by status and limit.
Get the full detail of one session by ID: decisions, checklist, notes, and pointers.
List tasks with filters: status, assignee, milestone, priority, label.
Get the full details of one task — notes, done_criteria, schedule, links,
dependencies.
Create, update, or move a task in the hierarchical tree. Upsert by id; omit
id for an auto-generated one; move_to relocates a subtree.
- Always include
done_criteria,priority,labels, andassignee. -
Estimates are required: when
settings.require_estimate_hoursistrue(the default), creating or updating a leaf task intodo/in_progress/review/donerequiresschedule.estimate_hours > 0. Parent tasks andblocked/skippedtasks are exempt. See Estimates and Capacity.
Toggle a single done_criteria item by index — check items off as you verify
them, rather than all at once when the task completes.
Record hours worked: atomically adds to actual_hours and deducts from
remaining_hours. Prefer this over setting actual_hours by hand.
Apply status, schedule, assignee, or priority changes to many tasks in one call.
Project health: completion %, effort totals, overdue count, budget status, and a
per-milestone breakdown. Reports ai_estimate_multiplier,
total_adjusted_estimate_hours, and per-milestone adjusted_estimate_hours —
the raw estimates scaled by the AI-effort multiplier.
Available work hours across a date range, respecting the project calendar and
per-assignee config. A task's raw estimate is multiplied by
ai_estimate_multiplier when distributed across days; remaining_hours (actual
progress) is used as-is.
Compute optimal task dates from dependencies, estimates, and capacity. Use
dry_run: true first to preview changes before applying them.
Read the full config.toml as JSON, or patch any section with dot-notation keys
(e.g. "settings.ai_estimate_multiplier": 0.3,
"calendar.work_hours_per_day": 7). See Configuration.
Team — handoff_list_assignees / handoff_add_assignee / handoff_update_assignee / handoff_remove_assignee
List members with task counts and effort stats; add, update (partial — null
clears a field), or remove a member. Removal also unassigns them from every task.
Milestones — handoff_list_milestones / handoff_add_milestone / handoff_update_milestone / handoff_remove_milestone
Full CRUD over [milestones.*] (date, color, description).
Patch the [calendar] (work hours, closed days, day_hours, schedule mode), set
the project label vocabulary, or set started_at (optionally shifting all task
dates to the start).
Overview of every handoff-enabled project found under the configured scan_dirs.
Bulk-import tasks and session data from handoff documents.
Send a referral to another project, list incoming referrals (summaries only), fetch one referral in full, or advance a referral's status. See Cross-Project Referrals.
Beyond tools, the server exposes two MCP resources (referenced with @ in Claude
Code, e.g. @handoff:handoff://sessions). They are not auto-loaded —
handoff_load_context remains the main retrieval path; resources are for manual
inspection and debugging.
| URI | Returns |
|---|---|
handoff://sessions |
Active session data (JSON) |
handoff://config |
Project configuration (TOML) |
Since v0.15.0, every MCP tool is also callable as a shell command:
handoff-mcp <group> <action> [--key value ...]All output is JSON on stdout, suitable for programmatic consumption (e.g.
child_process.execFile from a VSCode extension or a shell script).
See the full reference: CLI API Reference.