{"id":259343,"recorded_at":"2026-10-26T16:06:53.610620Z","observed_at":"2026-10-26T16:06:53.610577Z","subject_kind":"endpoint","subject":"75a9a3e1-f1e1-43f9-88a1-0aab357047e1","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":16,"tools":[{"description":"Create a goal in a horizon, with optional bottleneck note and lever.","inputSchema":{"properties":{"bottleneckNote":{"maxLength":5000,"type":"string"},"horizon":{"enum":["week","month","year","decade"],"type":"string"},"lever":{"maxLength":5000,"type":"string"},"title":{"maxLength":500,"type":"string"}},"required":["title","horizon"],"type":"object"},"name":"create_goal"},{"description":"Create tasks, each with optional nested subtasks. Defaults: today, 30 min.","inputSchema":{"properties":{"tasks":{"description":"Tasks to create","items":{"properties":{"date":{"description":"Date","maxLength":10,"type":"string"},"estimatedMinutes":{"description":"Minutes","maximum":1440,"minimum":0,"type":"number"},"goalId":{"description":"Goal","maxLength":64,"type":"string"},"loopBucket":{"description":"Undated loop; excludes date/priority; waiting=parked","enum":["pressing","important","backlog","waiting"],"type":"string"},"parent":{"description":"Parent","maxLength":500,"type":"string"},"priority":{"description":"Priority","enum":["critical","important","nice-to-have"],"type":"string"},"subtasks":{"items":{"properties":{"estimatedMinutes":{"maximum":1440,"minimum":0,"type":"number"},"title":{"maxLength":500,"type":"string"}},"required":["title"],"type":"object"},"maxItems":100,"type":"array"},"title":{"description":"Title","maxLength":500,"type":"string"}},"required":["title"],"type":"object"},"maxItems":100,"type":"array"}},"required":["tasks"],"type":"object"},"name":"create_tasks"},{"description":"Delete a goal by id. Linked tasks are kept and unlinked, never deleted.","inputSchema":{"additionalProperties":false,"properties":{"id":{"maxLength":64,"type":"string"}},"required":["id"],"type":"object"},"name":"delete_goal"},{"description":"Delete tasks by ref, every task on a date, or all completed. Subtasks go too.","inputSchema":{"properties":{"date":{"maxLength":10,"type":"string"},"filter":{"enum":["completed"],"type":"string"},"tasks":{"items":{"maxLength":500,"type":"string"},"maxItems":100,"type":"array"}},"type":"object"},"name":"delete_tasks"},{"description":"Events + scheduled/unscheduled tasks for a date. Check before scheduling.","inputSchema":{"additionalProperties":false,"properties":{"date":{"maxLength":10,"type":"string"}},"type":"object"},"name":"get_calendar"},{"description":"Today/week focus minutes, streak, task completion rates.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"get_focus_stats"},{"description":"Goals by horizon (week/month/year/decade) — exactly what the app's Goals view shows.","inputSchema":{"additionalProperties":false,"properties":{"horizon":{"enum":["week","month","year","decade"],"type":"string"},"status":{"enum":["active","completed","all"],"type":"string"}},"type":"object"},"name":"get_goals"},{"description":"Loops — undated intentions in 4 buckets (pressing/important/backlog/waiting=parked). Call before pull_loops.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"get_loops"},{"description":"Read a day's note and recent dates. Preserve ^task markers when writing back.","inputSchema":{"additionalProperties":false,"properties":{"date":{"maxLength":10,"type":"string"}},"type":"object"},"name":"get_notes"},{"description":"List subtasks of a parent. Returns ids usable as refs.","inputSchema":{"additionalProperties":false,"properties":{"ref":{"description":"Task id, #N, or title","maxLength":500,"type":"string"}},"required":["ref"],"type":"object"},"name":"get_subtasks"},{"description":"Today/tomorrow tasks with id, date and priority. Call first to get refs.","inputSchema":{"additionalProperties":false,"properties":{},"type":"object"},"name":"get_tasks"},{"description":"Copy loops onto a date as linked tasks — each loop stays in Loops. Idempotent per loop+date.","inputSchema":{"properties":{"date":{"maxLength":10,"type":"string"},"loops":{"items":{"maxLength":500,"type":"string"},"maxItems":100,"type":"array"}},"required":["loops"],"type":"object"},"name":"pull_loops"},{"description":"Reorder a parent's subtasks. Pass the complete new order, every one once.","inputSchema":{"properties":{"order":{"items":{"maxLength":64,"type":["number","string"]},"maxItems":100,"type":"array"},"ref":{"description":"Task id, #N, or title","maxLength":500,"type":"string"}},"required":["ref","order"],"type":"object"},"name":"reorder_subtasks"},{"description":"Update goal fields: title, horizon (moves section), status, bottleneckNote, lever.","inputSchema":{"properties":{"bottleneckNote":{"maxLength":5000,"type":"string"},"horizon":{"enum":["week","month","year","decade"],"type":"string"},"id":{"maxLength":64,"type":"string"},"lever":{"maxLength":5000,"type":"string"},"status":{"enum":["active","completed","paused","dropped"],"type":"string"},"title":{"maxLength":500,"type":"string"}},"required":["id"],"type":"object"},"name":"update_goal"},{"description":"Change tasks: date (moves the day), priority, title, estimate, done, time slot.","inputSchema":{"properties":{"tasks":{"description":"Changes to apply, one entry per task","items":{"properties":{"completed":{"description":"Done","type":"boolean"},"date":{"description":"Date","maxLength":10,"type":"string"},"endTime":{"description":"End","maxLength":5,"type":"string"},"estimatedMinutes":{"description":"Minutes","maximum":1440,"minimum":0,"type":"number"},"goalId":{"maxLength":64,"type":"string"},"loopBucket":{"description":"Into Loops or re-bucket; excl. date; waiting=parked","enum":["pressing","important","backlog","waiting"],"type":"string"},"priority":{"description":"Priority","enum":["critical","important","nice-to-have"],"type":"string"},"ref":{"description":"Task id, #N, or title","maxLength":500,"type":"string"},"startTime":{"description":"Start","maxLength":5,"type":"string"},"title":{"description":"Title","maxLength":500,"type":"string"}},"required":["ref"],"type":"object"},"maxItems":100,"type":"array"}},"required":["tasks"],"type":"object"},"name":"update_tasks"},{"description":"Append to or replace a day's note. Read before replacing and preserve ^task markers.","inputSchema":{"additionalProperties":false,"properties":{"content":{"maxLength":100000,"type":"string"},"date":{"maxLength":10,"type":"string"},"mode":{"enum":["append","replace"],"type":"string"}},"required":["content"],"type":"object"},"name":"write_notes"}]},"body_sha256":"f894c8efe5476e50d4c77f7d98048a1b2d43f9ec3091b812fd75aa3b166cf8d3","prev_id":null,"leaf":"0x31cbd57d91f97fd11b7f02a53bfb747f4f516d6a853ca63c18f88f8f21b42588","leaf_text":"{\"body\":\"f894c8efe5476e50d4c77f7d98048a1b2d43f9ec3091b812fd75aa3b166cf8d3\",\"id\":259343,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793030813610577,\"prev\":null,\"subject\":\"75a9a3e1-f1e1-43f9-88a1-0aab357047e1\",\"subject_kind\":\"endpoint\"}","day":null,"proof":[]}