Accountability partner in your agent: one yearly aim, one main step a day, a timer your agent runs.
Connect Remote server
claude mcp add --transport http aimyear-mcp https://mcp.aimyear.com/mcp
{
"mcpServers": {
"aimyear-mcp": {
"url": "https://mcp.aimyear.com/mcp"
}
}
}
{
"servers": {
"aimyear-mcp": {
"type": "http",
"url": "https://mcp.aimyear.com/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://mcp.aimyear.com/mcp
Tools 59 found in our last check
get_goalThe one yearly goal: kind (count or done), metric, starting value, current value, target, deadline, progress, levers (hard/comfortable) and other projects. Call first in most flows.
check_goal_draftCheck 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 within 12 months; pace per week). Changes nothing. Returns problems[] and next_question: loop until problems is empty,…
set_goalSave 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 areas the goal belongs to.
record_progressRecord 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 a done-or-not goal, 1 marks it done. One value per date: calling again for the same date corrects it. Says when the ta…
set_leversReplace 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 classifying sessions from their task text. wip_hashtag only for a lever whose work belongs to one product. Pass existing ids to k…
set_projectsReplace 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: leave one out to remove it, change its name or hints to edit it. Pass existing ids to keep them. wip_hashtag ties a p…
get_pathMilestones with kind, progress (recorded value or steps done), pace (ahead/on_pace/behind) and their steps. With tracks: tracks[], each with its current_milestone_id (every track has its own current milestone); current_milestone_id is then the first open one in list order. Witho…
set_milestonesReplace the list of ordered milestones under the goal (2–6, or up to 6 per track), each countable (metric and target) or measured by its steps, with a due date before the goal deadline; due dates in order within a track. Pass each existing id, or that milestone's steps are delet…
set_tracksReplace the tracks of the path: 0 to 3 different ways to reach the same aim (e.g. two products that could each earn the target), each with its own milestones and current milestone. reach says how this track alone would reach the aim. milestoneIds puts those milestones into the t…
edit_milestoneChange one milestone: title, kind (count or steps), metric, target, due date, status or track. status=retired drops it without finishing; done or retired moves its track to the next milestone. Its steps are kept.
add_stepsAdd 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 rejected. Put a hard-lever step first; preparation only where it blocks it (warns otherwise).
edit_stepChange one step: title, status (todo/doing/done), order, lever, estimate.
delete_stepDelete one step from the path.
next_stepsOpen steps of the current milestone (of every track, taken in turns, each step with its track), hard-lever steps first: the candidates for today's main step.
get_commitmentsRecurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows.
set_commitmentsReplace 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 to keep them. A recurring life event read from the user's calendar (the children's classes) is one entry with its calend…
get_capacityWeekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed.
get_planning_contextEverything 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. The agent plans; then call set_plan.
get_planThe plan for a day (default today).
set_planReplace 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. Warns when no item is on a hard lever. Other items: paid work, family, workout, etc. with their area. Items that stay…
edit_plan_itemChange 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 path step. For a weekly routine, count says how many units this tick did (talked to 2 people today). For a routine, level…
get_routinesRoutines: 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", each with an optional bad-day minimum. The server adds them to each matching day's plan, so every device and agent see…
set_routinesReplace 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, skip it for one day with delete_plan_item. set_plan keeps them. days are ISO weekdays 1=Mon..7=Sun, default every day…
delete_plan_itemRemove one item from a day's plan. A routine item is skipped for that day only.
set_day_modeTracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required).
get_nowWhat is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge.
start_sessionStart 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 the user; if they insist, call again with override=true. Several sessions may run at once (two terminals) and share atte…
add_noteAdd a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified.
split_attentionSet attention weights of the running sessions at once, e.g. {"abc": 0.7, "def": 0.3}. Applies to the whole session, or with from_now only from now on (the user switched what they attend to; the time before keeps its split). For a finished session use edit_session.
stop_sessionStop 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 another one. The timer keeps running for other sessions. outcome=done completes the linked plan item or path step. Without…
stop_timerStop 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 outcome to save them on the sessions it closes, or call stop_session first. Returns the break length.
add_sessionAdd 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 from the agent, or a calendar event that happened (pass its calendar_event_id: the same event is never logged twice). Apps…
edit_sessionFix 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 item, summary, outcome, attention share, weight. It is classified again after a change. Use it when a timer was forgotten…
delete_sessionDelete 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 session is deleted, never another one.
add_moveRecord a move: one action toward the aim with no duration, e.g. a small fix the user described to you from the phone, or a message sent. task says what changed, in plain words. Classified like a session (pass leverId, stepId, itemId or projectId when known). Past days are fine (…
list_movesMoves in a date range (default the last 7 days), with ids, whether each was toward the aim and on the hard part.
delete_moveDelete a move recorded by mistake. Pass move_id from list_moves. A plan item it ticked stays ticked.
list_sessionsSessions in a date range (default the last 7 days), with ids, optionally filtered by area or project.
find_gapsUntimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there.
summarize_dayFull summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides.
summarize_weekA week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace.
get_insightsWeek (the last 7 days) or month (the last 30 days) ending on to (default today): minutes per day on the aim, other work and life; hard vs comfortable share of aim time; an hour × weekday heatmap of aim minutes (6:00–23:00, Mon–Sun) with its hard part and the peak; main-step days…
find_leaksWhere time leaks: comfortable goal work while the main step waited, overrides, unplanned work, gaps, switching, missed main steps, days without a plan. Default the last 7 days.
get_settingsTimezone, the default workplace (desktop or mobile; reminders go to every registered device either way), timer settings, which networks get progress posts (post_to), tracking (time, moves or quiet), the weekly target and the weekly review email (weekly_review_email).
set_settingsChange any of: timezone (IANA name, e.g. Europe/Madrid; it sets where each day starts and ends), workplace (the default for sessions; reminders go to every device), stand-up interval workMin, breakMin, longBreakEvery, longBreakMin, standup on/off, post_to (networks for progress…
add_deviceRegister 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.
list_devicesWhich devices can receive reminders, and when each was last seen.
delete_deviceRemove a device so it stops receiving reminders.
list_agentsAgents connected to this AimYear account (Claude, ChatGPT, Claude Code, the AimYear app…): name, client_id, when it connected and when it was last active. current marks the one calling.
delete_agentDisconnect one agent: its sign-in for this account is deleted and it can no longer read or change anything until it connects again. Only on the user's explicit request. client_id from list_agents.
add_social_accountConnect WIP (wip.co) or Bluesky so AimYear can post the day's progress there when the user says Post (Pro). WIP: api_key from wip.co settings. Bluesky: handle and an app password (Settings → Privacy and security → App passwords), never the account password. The login is checked,…
list_social_accountsConnected networks (handle, since when), which of them get progress posts, and whether the user has Pro. Never returns any key or password.
delete_social_accountDisconnect a network and delete its saved login. Posts already made stay there.
get_post_draftThe day's progress drafted from the record. text is the day's post (Bluesky): it leads with what moved toward the aim (the day's session summaries and moves, in the user's words), then the main step done or not, the aim and its progress, and, if there is room, the week against t…
add_postPost the day's progress, only after the user explicitly said to post. text is the day's post as the user edited it, for Bluesky (default: the draft from get_post_draft). wip_todos are the WIP todos as the user edited them, each with the key from the draft (default: the draft's t…
list_auto_postsThe automatic WIP todos of a day (default today), each from a session or move on a project marked public: queued (post_at, still cancellable), posted (url), cancelled, offered (the summary was short, so the phone offered it with a Post button and nothing went out) or failed. Pos…
edit_auto_postChange the text of an automatic WIP todo and post it now. Only when the user asked, with their words as they want them on WIP. Also posts an offered, failed or cancelled one when the user says to post it. One todo posts once: a retry never posts twice. Pro.
delete_auto_postCancel an automatic WIP todo before it posts (the user said not to post it). A todo already on WIP stays there: the answer says so, with its link.
list_wip_projectsThe user's own WIP (wip.co) projects with their hashtags, read through their saved WIP login, and which AimYear project or lever carries each hashtag; plus the AimYear projects and levers without one. Use it once WIP is connected to attach the hashtags (set_projects / set_levers…
Details
| Endpoint | https://mcp.aimyear.com/mcp (Streamable HTTP) |
| First published | 8 Nov 2026 |
| Last updated | 8 Nov 2026 |
| Registry name | io.github.Yahhi/aimyear-mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
