All tools return structured MCP content with:
datainstruction- optional
safety
Purpose: Start a work session with a goal and deadline.
Inputs:
goal: stringdeadline: ISO datetime orHH:mmtimezone: optional, defaults toEurope/Warsawmode: optional,focused,night_shift, ormarathonmax_work_minutes: optionalnotes: optionalforce_new: optional
Outputs:
session_idgoalmodetimezonestarted_atdeadline_atelapsed_minutesremaining_minutesstatusinitial_instruction
Example:
{
"goal": "Improve the repo safely until morning.",
"deadline": "06:00",
"mode": "night_shift"
}Purpose: Return current session status.
Inputs:
session_id: optional
Outputs:
- session metadata
- current time
- elapsed and remaining minutes
- deadline status
- checkpoint count
- latest checkpoint summary, next tasks, and blockers
Example:
{
"session_id": "owl_..."
}Purpose: Save meaningful progress.
Inputs:
session_id: optionalsummary: stringcompleted_tasks: string[]next_tasks: string[]blockers: optional string[]files_changed: optional string[]validation_results: optional string[]confidence:low,medium, orhighrisk_level: optionallow,medium, orhigh
Outputs:
- checkpoint metadata
- completed tasks
- next tasks
- blockers
- files changed
- validation results
- confidence and risk
- status after checkpoint
Example:
{
"summary": "Added policy tests.",
"completed_tasks": ["Added night_shift continuation test"],
"next_tasks": ["Document host setup"],
"validation_results": ["npm test passed"],
"confidence": "high",
"risk_level": "low"
}Purpose: Decide whether the agent should continue working.
Inputs:
session_id: optionalcurrent_task_done: booleanhas_next_tasks: booleanrequires_user_approval: optional booleanrisk_level:low,medium, orhighdestructive_action_pending: optional booleanvalidation_passed: optional booleannotes: optional
Outputs:
should_continue- reason
- recommended action
- next policy
- safety notes
- elapsed and remaining minutes
- deadline status
Example:
{
"current_task_done": true,
"has_next_tasks": true,
"requires_user_approval": false,
"risk_level": "low",
"destructive_action_pending": false,
"validation_passed": true
}Purpose: Rank candidate next tasks by impact, risk, approval requirement, time fit, and category.
Inputs:
session_id: optionalcandidate_tasks: array of tasks
Each candidate task:
titledescription: optionalimpact:low,medium, orhighrisk:low,medium, orhighestimated_minutes: optionalrequires_user_approval: optionalcategory: optional
Outputs:
- recommended task
- ranked tasks
- rejected tasks with reasons
- planning notes
Example:
{
"candidate_tasks": [
{
"title": "Add integration tests",
"impact": "high",
"risk": "low",
"estimated_minutes": 20,
"category": "tests"
}
]
}Purpose: End a session and return a final report.
Inputs:
session_id: optionalfinal_summary: stringremaining_tasks: optional string[]validation_results: optional string[]status: optionalcompletedorabandoned
Outputs:
- session metadata
- total elapsed minutes
- checkpoint count
- final summary
- aggregated completed tasks
- remaining tasks
- validation results
- final recommendation
Example:
{
"final_summary": "Completed release hardening.",
"remaining_tasks": ["Validate in more hosts"],
"validation_results": ["npm test passed"],
"status": "completed"
}Purpose: List previous sessions.
Inputs:
status: optionalactive,completed,abandoned, oralllimit: optional number
Outputs:
- sessions with goal, mode, status, timestamps, and checkpoint count
Example:
{
"status": "all",
"limit": 20
}Purpose: Return a detailed report without ending the session.
Inputs:
session_id: optional
Outputs:
- session metadata
- elapsed and remaining minutes
- checkpoint count
- timeline
- aggregated completed tasks
- latest next tasks
- latest blockers
- decision summary
Example:
{
"session_id": "owl_..."
}