{"server":"io.github.maxxthedeveloper/focuh","count":16,"tools":[{"name":"create_goal","title":"Create Goal","description":"Create a goal in a horizon, with optional bottleneck note and lever.","input_schema":{"type":"object","required":["title","horizon"],"properties":{"lever":{"type":"string","maxLength":5000},"title":{"type":"string","maxLength":500},"horizon":{"enum":["week","month","year","decade"],"type":"string"},"bottleneckNote":{"type":"string","maxLength":5000}}},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"create_tasks","title":"Create Tasks","description":"Create tasks, each with optional nested subtasks. Defaults: today, 30 min.","input_schema":{"type":"object","required":["tasks"],"properties":{"tasks":{"type":"array","items":{"type":"object","required":["title"],"properties":{"date":{"type":"string","maxLength":10,"description":"Date"},"title":{"type":"string","maxLength":500,"description":"Title"},"goalId":{"type":"string","maxLength":64,"description":"Goal"},"parent":{"type":"string","maxLength":500,"description":"Parent"},"priority":{"enum":["critical","important","nice-to-have"],"type":"string","description":"Priority"},"subtasks":{"type":"array","items":{"type":"object","required":["title"],"properties":{"title":{"type":"string","maxLength":500},"estimatedMinutes":{"type":"number","maximum":1440,"minimum":0}}},"maxItems":100},"loopBucket":{"enum":["pressing","important","backlog","waiting"],"type":"string","description":"Undated loop; excludes date/priority; waiting=parked"},"estimatedMinutes":{"type":"number","maximum":1440,"minimum":0,"description":"Minutes"}}},"maxItems":100,"description":"Tasks to create"}}},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"delete_goal","title":"Delete Goal","description":"Delete a goal by id. Linked tasks are kept and unlinked, never deleted.","input_schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","maxLength":64}},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"delete_tasks","title":"Delete Tasks","description":"Delete tasks by ref, every task on a date, or all completed. Subtasks go too.","input_schema":{"type":"object","properties":{"date":{"type":"string","maxLength":10},"tasks":{"type":"array","items":{"type":"string","maxLength":500},"maxItems":100},"filter":{"enum":["completed"],"type":"string"}}},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":true},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"get_calendar","title":"View Calendar","description":"Events + scheduled/unscheduled tasks for a date. Check before scheduling.","input_schema":{"type":"object","properties":{"date":{"type":"string","maxLength":10}},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"get_focus_stats","title":"Focus Statistics","description":"Today/week focus minutes, streak, task completion rates.","input_schema":{"type":"object","properties":{},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"get_goals","title":"View Goals","description":"Goals by horizon (week/month/year/decade) — exactly what the app's Goals view shows.","input_schema":{"type":"object","properties":{"status":{"enum":["active","completed","all"],"type":"string"},"horizon":{"enum":["week","month","year","decade"],"type":"string"}},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"get_loops","title":"View Loops","description":"Loops — undated intentions in 4 buckets (pressing/important/backlog/waiting=parked). Call before pull_loops.","input_schema":{"type":"object","properties":{},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"get_notes","title":"Read Notes","description":"Read a day's note and recent dates. Preserve ^task markers when writing back.","input_schema":{"type":"object","properties":{"date":{"type":"string","maxLength":10}},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"get_subtasks","title":"View Subtasks","description":"List subtasks of a parent. Returns ids usable as refs.","input_schema":{"type":"object","required":["ref"],"properties":{"ref":{"type":"string","maxLength":500,"description":"Task id, #N, or title"}},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"get_tasks","title":"View Tasks","description":"Today/tomorrow tasks with id, date and priority. Call first to get refs.","input_schema":{"type":"object","properties":{},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"pull_loops","title":"Pull Loops","description":"Copy loops onto a date as linked tasks — each loop stays in Loops. Idempotent per loop+date.","input_schema":{"type":"object","required":["loops"],"properties":{"date":{"type":"string","maxLength":10},"loops":{"type":"array","items":{"type":"string","maxLength":500},"maxItems":100}}},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"reorder_subtasks","title":"Reorder Subtasks","description":"Reorder a parent's subtasks. Pass the complete new order, every one once.","input_schema":{"type":"object","required":["ref","order"],"properties":{"ref":{"type":"string","maxLength":500,"description":"Task id, #N, or title"},"order":{"type":"array","items":{"type":["number","string"],"maxLength":64},"maxItems":100}}},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"update_goal","title":"Update Goal","description":"Update goal fields: title, horizon (moves section), status, bottleneckNote, lever.","input_schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","maxLength":64},"lever":{"type":"string","maxLength":5000},"title":{"type":"string","maxLength":500},"status":{"enum":["active","completed","paused","dropped"],"type":"string"},"horizon":{"enum":["week","month","year","decade"],"type":"string"},"bottleneckNote":{"type":"string","maxLength":5000}}},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"update_tasks","title":"Update Tasks","description":"Change tasks: date (moves the day), priority, title, estimate, done, time slot.","input_schema":{"type":"object","required":["tasks"],"properties":{"tasks":{"type":"array","items":{"type":"object","required":["ref"],"properties":{"ref":{"type":"string","maxLength":500,"description":"Task id, #N, or title"},"date":{"type":"string","maxLength":10,"description":"Date"},"title":{"type":"string","maxLength":500,"description":"Title"},"goalId":{"type":"string","maxLength":64},"endTime":{"type":"string","maxLength":5,"description":"End"},"priority":{"enum":["critical","important","nice-to-have"],"type":"string","description":"Priority"},"completed":{"type":"boolean","description":"Done"},"startTime":{"type":"string","maxLength":5,"description":"Start"},"loopBucket":{"enum":["pressing","important","backlog","waiting"],"type":"string","description":"Into Loops or re-bucket; excl. date; waiting=parked"},"estimatedMinutes":{"type":"number","maximum":1440,"minimum":0,"description":"Minutes"}}},"maxItems":100,"description":"Changes to apply, one entry per task"}}},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"},{"name":"write_notes","title":"Write Notes","description":"Append to or replace a day's note. Read before replacing and preserve ^task markers.","input_schema":{"type":"object","required":["content"],"properties":{"date":{"type":"string","maxLength":10},"mode":{"enum":["append","replace"],"type":"string"},"content":{"type":"string","maxLength":100000}},"additionalProperties":false},"output_schema":null,"annotations":{"readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-20T06:28:46.871Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/io.github.maxxthedeveloper%2Ffocuh/connection?target=mcpServers","arguments":{"name":"io.github.maxxthedeveloper/focuh","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/io.github.maxxthedeveloper%2Ffocuh","arguments":{"name":"io.github.maxxthedeveloper/focuh"}}]}