AgentXM

AimYear

mcp remote · streamable-http · v0.4.2 · source: crawl

https://mcp.aimyear.com/mcp

https://github.com/Yahhi/aimyear-mcp

Accountability partner in your agent: one yearly aim, one main step a day, a timer your agent runs.

AgentXM badge

Works

90

Verified Oct 31, 2026 · p50 436 ms · p95 442 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'aimyear'
tools_listed15pass52 tools
schema_complete15pass52 of 52 tools have a description and a typed schema
latency_p5010passp50 436 ms
latency_p955passp95 442 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10failadd_social_account: sends credentials
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (52)

NameDescriptionSchema
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.typed
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.typed
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). Changtyped
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.typed
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. Ontyped
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. Pass extyped
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 itstyped
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 mtyped
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 otyped
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 thistyped
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 stetyped
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; typed
edit_stepChange one step: title, status (todo/doing/done), order, lever, estimate.typed
delete_stepDelete one step from the path.typed
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.typed
get_commitmentsRecurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows.typed
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.typed
get_capacityWeekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed.typed
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.typed
get_planThe plan for a day (default today).typed
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. typed
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 saystyped
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. typed
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_ityped
delete_plan_itemRemove one item from a day's plan. A routine item is skipped for that day only.typed
set_day_modeTracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required).typed
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.typed
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 withtyped
add_noteAdd a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified.typed
split_attentionSet 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.typed
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 ottyped
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 closestyped
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. Apps replaying a queued enttyped
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, wtyped
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.typed
list_sessionsSessions in a date range (default the last 7 days), with ids, optionally filtered by area or project.typed
find_gapsUntimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there.typed
summarize_dayFull summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides.typed
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 aityped
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.typed
get_settingsTimezone, where reminders go (desktop or mobile), timer settings, and which networks get progress posts (post_to).typed
set_settingsChange 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, longBreakEvery, longBreakMin, standup on/typed
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.typed
list_devicesWhich devices can receive reminders, and when each was last seen.typed
delete_deviceRemove a device so it stops receiving reminders.typed
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.typed
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.typed
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 atyped
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.typed
delete_social_accountDisconnect a network and delete its saved login. Posts already made stay there.typed
get_post_draftThe day's progress post drafted from the record (aim and progress, main step done or not, minutes on the aim and on hard work, routines, comebacks), at most 300 characters, ending with aimyear.com; antyped
add_postPost the day's progress, only after the user explicitly said to post. text is the draft as the user edited it (default: the draft from get_post_draft). Goes to the networks chosen in settings, or the typed

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/io-github-yahhi-aimyear-mcp.svg)](https://app.agent-xm.com/a/io-github-yahhi-aimyear-mcp)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.