{"name":"io.github.maxxthedeveloper/focuh","slug":"maxxthedeveloper-focuh","title":"Focuh","description":"ADHD system of record for agents: tasks, goals, loops, calendar, focus stats.","url":"https://mcp.market/server/maxxthedeveloper-focuh","rating":null,"grade":"C","score":64,"certified":false,"status":"active","category":"productivity","tags":["productivity"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T22:31:23.442Z","last_ok_at":"2026-09-20T22:31:23.442Z","latency_ms":305},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/maxxthedeveloper/focuh","website":"https://www.focuh.com/mcp","version":"3.0.0","remotes":[{"type":"streamable-http","url":"https://www.focuh.com/api/mcp","headers":[{"description":"Bearer API key from Focuh Settings > MCP","isRequired":true,"value":"Bearer {api_key}","isSecret":true,"variables":{"api_key":{"description":"API key from Focuh Settings > MCP","isRequired":true,"isSecret":true}},"name":"Authorization"}]}],"packages":[],"tools":[{"name":"create_goal","description":"Create a goal in a horizon, with optional bottleneck note and lever.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","maxLength":500},"horizon":{"type":"string","enum":["week","month","year","decade"]},"bottleneckNote":{"type":"string","maxLength":5000},"lever":{"type":"string","maxLength":5000}},"required":["title","horizon"]}},{"name":"create_tasks","description":"Create tasks, each with optional nested subtasks. Defaults: today, 30 min.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"tasks":{"type":"array","maxItems":100,"description":"Tasks to create","items":{"type":"object","properties":{"title":{"type":"string","maxLength":500,"description":"Title"},"date":{"type":"string","maxLength":10,"description":"Date"},"estimatedMinutes":{"type":"number","minimum":0,"maximum":1440,"description":"Minutes"},"priority":{"type":"string","enum":["critical","important","nice-to-have"],"description":"Priority"},"parent":{"type":"string","maxLength":500,"description":"Parent"},"goalId":{"type":"string","maxLength":64,"description":"Goal"},"loopBucket":{"type":"string","enum":["pressing","important","backlog","waiting"],"description":"Undated loop; excludes date/priority; waiting=parked"},"subtasks":{"type":"array","maxItems":100,"items":{"type":"object","properties":{"title":{"type":"string","maxLength":500},"estimatedMinutes":{"type":"number","minimum":0,"maximum":1440}},"required":["title"]}}},"required":["title"]}}},"required":["tasks"]}},{"name":"delete_goal","description":"Delete a goal by id. Linked tasks are kept and unlinked, never deleted.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","maxLength":64}},"required":["id"],"additionalProperties":false}},{"name":"delete_tasks","description":"Delete tasks by ref, every task on a date, or all completed. Subtasks go too.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"tasks":{"type":"array","maxItems":100,"items":{"type":"string","maxLength":500}},"date":{"type":"string","maxLength":10},"filter":{"type":"string","enum":["completed"]}}}},{"name":"get_calendar","description":"Events + scheduled/unscheduled tasks for a date. Check before scheduling.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"type":"string","maxLength":10}},"additionalProperties":false}},{"name":"get_focus_stats","description":"Today/week focus minutes, streak, task completion rates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_goals","description":"Goals by horizon (week/month/year/decade) — exactly what the app's Goals view shows.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"horizon":{"type":"string","enum":["week","month","year","decade"]},"status":{"type":"string","enum":["active","completed","all"]}},"additionalProperties":false}},{"name":"get_journal","description":"Read a daily journal and recent dates. Preserve ^task markers when writing back.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"date":{"type":"string","maxLength":10}},"additionalProperties":false}},{"name":"get_loops","description":"Loops — undated intentions in 4 buckets (pressing/important/backlog/waiting=parked). Call before pull_loops.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_subtasks","description":"List subtasks of a parent. Returns ids usable as refs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ref":{"type":"string","maxLength":500,"description":"Task id, #N, or title"}},"required":["ref"],"additionalProperties":false}},{"name":"get_tasks","description":"Today/tomorrow tasks with id, date and priority. Call first to get refs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"pull_loops","description":"Copy loops onto a date as linked tasks — each loop stays in Loops. Idempotent per loop+date.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"loops":{"type":"array","maxItems":100,"items":{"type":"string","maxLength":500}},"date":{"type":"string","maxLength":10}},"required":["loops"]}},{"name":"reorder_subtasks","description":"Reorder a parent's subtasks. Pass the complete new order, every one once.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ref":{"type":"string","maxLength":500,"description":"Task id, #N, or title"},"order":{"type":"array","maxItems":100,"items":{"type":["number","string"],"maxLength":64}}},"required":["ref","order"]}},{"name":"update_goal","description":"Update goal fields: title, horizon (moves section), status, bottleneckNote, lever.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","maxLength":64},"title":{"type":"string","maxLength":500},"horizon":{"type":"string","enum":["week","month","year","decade"]},"status":{"type":"string","enum":["active","completed","paused","dropped"]},"bottleneckNote":{"type":"string","maxLength":5000},"lever":{"type":"string","maxLength":5000}},"required":["id"]}},{"name":"update_tasks","description":"Change tasks: date (moves the day), priority, title, estimate, done, time slot.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"tasks":{"type":"array","maxItems":100,"description":"Changes to apply, one entry per task","items":{"type":"object","properties":{"ref":{"type":"string","maxLength":500,"description":"Task id, #N, or title"},"title":{"type":"string","maxLength":500,"description":"Title"},"estimatedMinutes":{"type":"number","minimum":0,"maximum":1440,"description":"Minutes"},"completed":{"type":"boolean","description":"Done"},"date":{"type":"string","maxLength":10,"description":"Date"},"priority":{"type":"string","enum":["critical","important","nice-to-have"],"description":"Priority"},"startTime":{"type":"string","maxLength":5,"description":"Start"},"endTime":{"type":"string","maxLength":5,"description":"End"},"goalId":{"type":"string","maxLength":64},"loopBucket":{"type":"string","enum":["pressing","important","backlog","waiting"],"description":"Into Loops or re-bucket; excl. date; waiting=parked"}},"required":["ref"]}}},"required":["tasks"]}},{"name":"write_journal","description":"Append or replace a journal. Read before replacing and preserve ^task markers.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"content":{"type":"string","maxLength":100000},"date":{"type":"string","maxLength":10},"mode":{"type":"string","enum":["append","replace"]}},"required":["content"],"additionalProperties":false}}],"scan":{"score":64,"grade":"C","scanned_at":"2026-09-20T16:17:20.511Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T16:17:20.509Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 726ms"]},"poisoning":{"score":15,"max":15,"notes":["16 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[],"inputs":{"probes":[{"url":"https://www.focuh.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":726,"serverInfo":{"name":"Focuh","version":"3.0.0"}}],"packages":[],"repo":{"found":false,"owner":"maxxthedeveloper","repo":"focuh","error":"repo not found"},"icon":{"url":"https://www.focuh.com/icon.png?icon.2852f625.png","source":"site","width":256,"height":256},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}