{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_caf8kshtcg7j","handle":"aimyear","url":"https://wellknown.network/agents/aimyear","links":{"self":"https://wellknown.network/agents/aimyear/record.json","html":"https://wellknown.network/agents/aimyear","markdown":"https://wellknown.network/agents/aimyear/record.md","api":"https://wellknown.network/api/v1/agents/aimyear","status":"https://wellknown.network/api/v1/agents/aimyear/status","claim":"https://wellknown.network/agents/aimyear/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/aimyear/claim.json","badge":"https://wellknown.network/agents/aimyear/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/aimyear/history","tools":"https://wellknown.network/api/v1/agents/aimyear/tools"},"ard":{"identifier":"urn:air:mcp.aimyear.com:server:aimyear","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"AimYear","summary":"Accountability partner in your agent: one yearly aim, one main step a day, a timer your agent runs.","description":"Accountability partner in your agent: one yearly aim, one main step a day, a timer your agent runs.","publisher":{"name":"Yahhi","url":null},"homepage":"https://aimyear.com","repository":"https://github.com/Yahhi/aimyear-mcp","version":"0.4.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.aimyear.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-18T02:40:47.071304Z","publishedAt":"2026-10-18T02:40:47.071304Z","registryName":"io.github.Yahhi/aimyear-mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"productivity.tasks","name":"Tasks & To-do","confidence":1,"provenance":"derived"},{"slug":"productivity.hr","name":"HR & Recruiting","confidence":0.554,"provenance":"derived"},{"slug":"content.marketing","name":"Marketing","confidence":0.54,"provenance":"derived"},{"slug":"automation.scheduling","name":"Scheduling & Cron","confidence":0.54,"provenance":"derived"},{"slug":"content.seo","name":"SEO","confidence":0.525,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.525,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"}],"categories":["automation","commerce","content","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-22T09:30:24.105Z","lastProbedAt":"2026-10-22T09:30:24.105Z","statusComputedAt":"2026-10-22T09:32:59.928Z","reliability30d":{"probes":12,"successRate":1,"p50Ms":236,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":12,"ok":12,"authBoundaryOk":0,"serviceOk":12,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-22T09:30:24.105Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":138,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session with a summary and outcome. Pass session_id from get_now; without it, only this connection's single running session is stopped, never ano"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Pass session_id from get_now or list_sessions; without it, only this connection's single running "},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"089023fad1696a3e53db8c0a8667c01c93bb78e36f9077ea0eeb352055862ec3","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T02:31:30.888Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":613,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session with a summary and outcome. Pass session_id from get_now; without it, only this connection's single running session is stopped, never ano"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Pass session_id from get_now or list_sessions; without it, only this connection's single running "},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"089023fad1696a3e53db8c0a8667c01c93bb78e36f9077ea0eeb352055862ec3","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T19:28:24.480Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":160,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session with a summary and outcome. Pass session_id from get_now; without it, only this connection's single running session is stopped, never ano"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Pass session_id from get_now or list_sessions; without it, only this connection's single running "},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"089023fad1696a3e53db8c0a8667c01c93bb78e36f9077ea0eeb352055862ec3","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T10:32:08.720Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session with a summary and outcome. Pass session_id from get_now; without it, only this connection's single running session is stopped, never ano"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Pass session_id from get_now or list_sessions; without it, only this connection's single running "},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"089023fad1696a3e53db8c0a8667c01c93bb78e36f9077ea0eeb352055862ec3","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T01:27:50.805Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":133,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session with a summary and outcome. Pass session_id from get_now; without it, only this connection's single running session is stopped, never ano"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Pass session_id from get_now or list_sessions; without it, only this connection's single running "},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"089023fad1696a3e53db8c0a8667c01c93bb78e36f9077ea0eeb352055862ec3","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T19:26:26.471Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":171,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session with a summary and outcome. Pass session_id from get_now; without it, only this connection's single running session is stopped, never ano"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Pass session_id from get_now or list_sessions; without it, only this connection's single running "},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"089023fad1696a3e53db8c0a8667c01c93bb78e36f9077ea0eeb352055862ec3","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.7.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T13:28:50.394Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":180,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session (this connection's, or session_id) with a summary and outcome. The timer keeps running for other sessions. outcome=done completes the lin"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Without session_id it deletes this connection's running session."},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"f576888708fee63a9b8a7640319f632db6718303ff05038727718de79da87acf","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.6.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T07:28:11.936Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":164,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session (this connection's, or session_id) with a summary and outcome. The timer keeps running for other sessions. outcome=done completes the lin"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Without session_id it deletes this connection's running session."},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"f576888708fee63a9b8a7640319f632db6718303ff05038727718de79da87acf","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T01:29:06.195Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":145,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session (this connection's, or session_id) with a summary and outcome. The timer keeps running for other sessions. outcome=done completes the lin"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Without session_id it deletes this connection's running session."},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"f576888708fee63a9b8a7640319f632db6718303ff05038727718de79da87acf","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.6.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T17:46:20.472Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":233,"error":null,"detail":{"tools":[{"name":"get_goal","description":"The one yearly goal: metric, starting value, current value, target, deadline, levers (hard/comfortable) and other projects. Call first in most flows."},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (countable metric, value today, target, deadline within 12 months, pace per week). Changes nothing. Return"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric, e.g. \"I now have 4 customers\". One value per date: calling again for the same date corrects it. Says when the targe"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each with a metric, target and due date before the goal deadline. Pass each existing id, or that mile"},{"name":"edit_milestone","description":"Change one milestone: title, metric, target, due date or status. status=retired drops it without finishing; done or retired moves the path to the next milestone"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\". The server adds them to each matching day's plan, so every device an"},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session (this connection's, or session_id) with a summary and outcome. The timer keeps running for other sessions. outcome=done completes the lin"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Without session_id it deletes this connection's running session."},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"toolCount":43,"toolsHash":"2cadcbcc0edf6e53fd767f482b281a5b169a267e6dc391487cd594b031ff55b2","serverName":"aimyear","capabilities":["tools","prompts"],"serverVersion":"0.4.2","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_goal","description":"The one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call"},{"name":"check_goal_draft","description":"Check a goal that is not saved yet against the rubric (a countable metric with value today and target, or a done-or-not result you can check yes or no; deadline"},{"name":"set_goal","description":"Save the yearly goal, or replace it with the next one. Rejects with problems[] if the rubric fails. Keeps levers and projects. area is which of the five life ar"},{"name":"record_progress","description":"Record the current value of the goal metric (\"I now have 4 customers\"), or of a countable milestone when milestoneId is given (\"I have talked to 7 people\"). For"},{"name":"set_levers","description":"Replace the list of levers: the recurring kinds of goal work. At least one must be kind=hard (the work the user avoids). keywords/repos are hints for classifyin"},{"name":"set_projects","description":"Replace the list of other projects (paid work, other products, life routines), so their sessions count as other work or life, not goal work. Pass the whole list"},{"name":"get_path","description":"Milestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. current_milestone_id is the one to work on."},{"name":"set_milestones","description":"Replace the list of 2–6 ordered milestones under the goal, each countable (metric and target) or measured by its steps, with a due date before the goal deadline"},{"name":"edit_milestone","description":"Change one milestone: title, kind (count or steps), metric, target, due date or status. status=retired drops it without finishing; done or retired moves the pat"},{"name":"add_steps","description":"Add concrete steps to a milestone. A step is an action that fits a few work blocks (\"email 10 people from the waitlist\"), not \"do marketing\". Abstract steps are"},{"name":"edit_step","description":"Change one step: title, status (todo/doing/done), order, lever, estimate."},{"name":"delete_step","description":"Delete one step from the path."},{"name":"next_steps","description":"Open steps of the current milestone, hard-lever steps first: the candidates for today's main step."},{"name":"get_commitments","description":"Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows."},{"name":"set_commitments","description":"Replace the list of recurring weekly commitments. days are ISO weekdays 1=Mon..7=Sun; use timesPerWeek instead when there are no fixed days. Pass existing ids t"},{"name":"get_capacity","description":"Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed."},{"name":"get_planning_context","description":"Everything needed to plan a day: goal and pace, next_steps, yesterday's summary and undone items, week balance, days since a hard lever. Defaults to tomorrow. T"},{"name":"get_plan","description":"The plan for a day (default today)."},{"name":"set_plan","description":"Replace the plan for a day. Exactly one item must have isMainStep=true (the step toward the goal), ideally linked by stepId from next_steps and on a hard lever."},{"name":"edit_plan_item","description":"Change one plan item: mark it done or not done, rename it, change its estimate, area or links, or make it the main step. done=true also completes its linked pat"},{"name":"get_routines","description":"Routines: small steps that repeat on fixed weekdays, e.g. \"talk with one person on Reddit\", or that count up to a number a week, e.g. \"talk to 5 people a week\","},{"name":"set_routines","description":"Replace the list of routines: small steps that repeat on fixed weekdays. From today on, each one appears as a plan item on its days; tick it with edit_plan_item"},{"name":"delete_plan_item","description":"Remove one item from a day's plan. A routine item is skipped for that day only."},{"name":"set_day_mode","description":"Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required)."},{"name":"get_now","description":"What is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge."},{"name":"start_session","description":"Start a session of work and, if none is running, the timer. Returns a verdict: ok | stop | plan_first. On \"stop\" NO session is created: relay the message, ask t"},{"name":"add_note","description":"Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified."},{"name":"split_attention","description":"Set attention weights of the running sessions at once, e.g. {\"abc\": 0.7, \"def\": 0.3}. Applies to the whole session. For a finished session use edit_session."},{"name":"stop_session","description":"Stop a running session with a summary and outcome. Pass session_id from get_now; without it, only this connection's single running session is stopped, never ano"},{"name":"stop_timer","description":"Stop the timer (\"pause\", \"stop\", \"stand up\") and every running session with it. There is no paused state: resuming starts a new session. Pass summary and outcom"},{"name":"add_session","description":"Add past time that was not timed: minutes (ending now, or at end), or start+end as HH:MM on date. For calls, children, workout, paid work, or work done away fro"},{"name":"edit_session","description":"Fix a session, running or finished: start and end (HH:MM on date; an end before the start means it ran past midnight), task, area, project, lever, step, plan it"},{"name":"delete_session","description":"Delete a session, running or finished, so it no longer counts. Pass session_id from get_now or list_sessions; without it, only this connection's single running "},{"name":"list_sessions","description":"Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project."},{"name":"find_gaps","description":"Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there."},{"name":"summarize_day","description":"Full summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides."},{"name":"summarize_week","description":"A week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace."},{"name":"find_leaks","description":"Where time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default "},{"name":"get_settings","description":"Timezone, where reminders go (desktop or mobile), and timer settings."},{"name":"set_settings","description":"Change any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace for reminders, stand-up interval workMin, breakMin, l"},{"name":"add_device","description":"Register a device token so server reminders (stand up, break over) can reach it. The phone app registers itself; use this for testing or a manual token."},{"name":"list_devices","description":"Which devices can receive reminders, and when each was last seen."},{"name":"delete_device","description":"Remove a device so it stops receiving reminders."}],"package":null,"toolSurface":{"id":"ts_bqrvh2xuuwg4","endpointId":"ep_87t6vrnrsjtg","hash":"089023fad1696a3e53db8c0a8667c01c93bb78e36f9077ea0eeb352055862ec3","toolCount":43,"serverName":"aimyear","serverVersion":"0.7.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-20T19:26:26.475Z","lastSeenAt":"2026-10-22T09:30:24.110Z","observations":6,"toolNames":["get_goal","check_goal_draft","set_goal","record_progress","set_levers","set_projects","get_path","set_milestones","edit_milestone","add_steps","edit_step","delete_step","next_steps","get_commitments","set_commitments","get_capacity","get_planning_context","get_plan","set_plan","edit_plan_item","get_routines","set_routines","delete_plan_item","set_day_mode","get_now","start_session","add_note","split_attention","stop_session","stop_timer","add_session","edit_session","delete_session","list_sessions","find_gaps","summarize_day","summarize_week","find_leaks","get_settings","set_settings","add_device","list_devices","delete_device"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_87t6vrnrsjtg","url":"https://mcp.aimyear.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-20T01:29:06.214Z","auth":{"observedAt":"2026-10-20T01:29:06.508Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.aimyear.com/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.aimyear.com/mcp","authorizationServers":["https://mcp.aimyear.com/"],"scopesSupported":["aimyear"]},"authorizationServer":{"url":"https://mcp.aimyear.com/.well-known/oauth-authorization-server","issuer":"https://mcp.aimyear.com/","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-20T01:29:06.524Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.aimyear.com","issuer":{"commonName":"WR3","organization":"Google Trust Services"},"validFrom":"2026-10-12T18:37:18.000Z","validTo":"2027-01-10T19:18:23.000Z","daysToExpiry":80,"sanCount":1,"fingerprint256":"47:12:EF:D1:74:B5:E0:42:2B:76:3D:73:28:AB:71:1F:03:75:21:0A:55:D2:CD:61:D5:B6:98:63:15:28:5A:A0"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.Yahhi/aimyear-mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.Yahhi%2Faimyear-mcp","firstSeenAt":"2026-10-19T04:21:42.129Z","fetchedAt":"2026-10-19T04:21:42.129Z","normalizedAt":"2026-10-19T04:21:42.129Z"}]},"firstSeenAt":"2026-10-19T04:21:42.129Z","updatedAt":"2026-10-22T09:35:30.093Z"}