AimYear MCP server
online · 100% uptimeio.github.Yahhi/aimyear-mcp·v0.4.2Accountability partner in your agent: one yearly aim, one main step a day, a timer your agent runs.
0 stars
Reviews
Write oneNobody has reviewed AimYear yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
AimYear tools (52, 8 write)
write = sends, deletes, buys or postsadd_deviceFreeRegister 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.
add_noteFreeAdd a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified.
add_postwrite actionFreePost 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 ones given. A network where the user already posted that day themselves is skipped. Each day goes to each network once: a retry never posts twice. Today or yesterday only. Pro.
add_sessionFreeAdd 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 entry pass op_id, so a retry does not count the time twice.
add_social_accountFreeConnect 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, stored encrypted and never shown again. The app's connect screen usually calls this; if the user pastes a key into the chat, use it once and do not repeat it.
add_stepsFreeAdd 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).
check_goal_draftFreeCheck 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, then call set_goal. Prefer count; use done only when no honest number exists.
delete_agentwrite actionFreeDisconnect 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.
delete_devicewrite actionFreeRemove a device so it stops receiving reminders.
delete_plan_itemwrite actionFreeRemove one item from a day's plan. A routine item is skipped for that day only.
delete_sessionwrite actionFreeDelete 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.
delete_social_accountwrite actionFreeDisconnect a network and delete its saved login. Posts already made stay there.
delete_stepwrite actionFreeDelete one step from the path.
edit_milestoneFreeChange 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.
edit_plan_itemFreeChange 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 minimum says only its bad-day minimum was done: it counts for the day, reported apart from full.
edit_sessionFreeFix 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 or a session was labelled wrong.
edit_stepFreeChange one step: title, status (todo/doing/done), order, lever, estimate.
find_gapsFreeUntimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there.
find_leaksFreeWhere 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_capacityFreeWeekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed.
get_commitmentsFreeRecurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows.
get_goalFreeThe 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.
get_insightsFreeWeek (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; and comebacks (active days after 2+ days away, over 90 days). Wall minutes of finished sessions, as the app shows them.
get_nowFreeWhat is happening now: running sessions with attention shares, the timer, today's main step, today's minutes, the streak and a one-line nudge.
get_pathFreeMilestones 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. Without tracks, current_milestone_id is the one to work on.
get_planFreeThe plan for a day (default today).
get_planning_contextFreeEverything 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_post_draftwrite actionFreeThe 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; and per network whether it is ready, already posted, or skipped because the user already posted there that day. Posts nothing. Pro.
get_routinesFreeRoutines: 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 sees the same checks. With no routines yet, returns ready-made starters for the aim's area to offer as they are.
get_settingsFreeTimezone, where reminders go (desktop or mobile), timer settings, and which networks get progress posts (post_to).
list_agentsFreeAgents 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.
list_devicesFreeWhich devices can receive reminders, and when each was last seen.
list_sessionsFreeSessions in a date range (default the last 7 days), with ids, optionally filtered by area or project.
list_social_accountsFreeConnected networks (handle, since when), which of them get progress posts, and whether the user has Pro. Never returns any key or password.
next_stepsFreeOpen 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.
record_progressFreeRecord 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 target is reached; a countable milestone that reaches its target is done.
set_commitmentsFreeReplace 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.
set_day_modeFreeTracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required).
set_goalFreeSave 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.
set_leversFreeReplace 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 existing ids to keep them.
set_milestonesFreeReplace 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 deleted. To change one milestone, use edit_milestone.
set_planFreeReplace 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 keep their done state.
set_projectsFreeReplace 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.
set_routinesFreeReplace 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. perWeek makes it a weekly count: each tick adds its count (default 1), and once the week reaches perWeek it leaves the plan until Monday. Link it to the goal with leverId. minimum is the small version for a bad day ("read one thread" for "talk to one person"). Pass existing ids to keep them.
set_settingsFreeChange 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/off, post_to (networks for progress posts).
set_tracksFreeReplace 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 track, in that order. An empty list makes the path one list again. Use tracks only when the user chooses to work on more than one way; never present one track as the wrong one.
split_attentionFreeSet 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.
start_sessionFreeStart 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 attention by weight. Apps replaying a queued start pass op_id, their own session_id and start_at; an agent leaves all three out.
stop_sessionFreeStop 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 end_at or op_id it refuses a session that already ended: use edit_session for that. With end_at (apps delivering a stop queued offline) a second stop on the same session is merged, whatever order they arrive in: the earliest end wins, done wins over any other outcome, the first summary stays and a different later one goes to the notes; the answer says applied: ended | shortened | recorded.
stop_timerFreeStop 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.
summarize_dayFreeFull summary of a day: wall and attention minutes per area, classification and lever, sessions, gaps, overlaps, overrides.
summarize_weekFreeA week, Monday to Sunday (to today for the current week): main-step days, goal share, hard share, area balance, overrides, streak, milestone pace.
Public scan report
scanner v0.1.10 · 2026-10-28 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 435ms20/20
- Tool poisoning52 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 8 write-action tools with no auth3/15
- Maintenancelast push 8 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
How AimYear compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 81/100
- higher than 63% of 4,460 AI and agents servers
- Tools
- 52
- the typical AI and agents server has 6
- Tools that change things
- 15%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote AI and agents server answers 100%
- Response time
- 257 ms
- faster than 55% of 2,331 AI and agents servers
What its tools let an agent do: 22 read · 6 create · 15 change · 6 delete · 3 run or deploy
Install AimYear in Claude Code, Cursor or VS Code
claude mcp add --transport http aimyear-mcp https://mcp.aimyear.com/mcp
What the publisher says
From the AimYear repository's README, as published. We do not edit it. Read it on GitHub
AimYear MCP server
An accountability partner inside the AI agent you already use. Connect AimYear to Claude, Claude Code, ChatGPT or any MCP client, and your agent keeps one big aim for your year, plans one main step a day toward it, runs the timer while you work and writes down what actually got done. When you start comfortable work while the main step is still open, it asks you to do the step first.
Built for indie developers and makers who build all day but keep postponing the work that moves the goal: selling, talking to users, publishing.
reviews through your own agent. No AI runs on AimYear's side, so there are no AI costs.
- Free: sign-in on any number of devices, aims, plans, routines, time tracking and
written by AimYear, AimYear's own AI coach and Google Calendar sync.
- Pro ($49/year or $8/month, with the coming phone app): notifications, reviews
Website: aimyear.com · Setup guide: aimyear.com/connect.html · Privacy: aimyear.com/privacy.html · Contact: privacy@aimyear.com
Connect (about a minute)
Endpoint: https://mcp.aimyear.com/mcp (Streamable HTTP, OAuth sign-in with Google, Apple or email). Nothing to install.
endpoint → Connect, then sign in.
- Claude (web, desktop, mobile): Settings → Connectors → Add custom connector → paste the
/mcp → aimyear → Authenticate.
- Claude Code: claude mcp add --transport http aimyear https://mcp.aimyear.com/mcp, then
turn on Developer mode. Then Apps & Connectors → Create: name AimYear, URL the endpoint above, authentication OAuth → Create, then sign in.
- ChatGPT (paid plans, developer mode): Settings → Apps & Connectors → Advanced settings →
- Other MCP clients: add the endpoint as a remote (HTTP) server with OAuth.
Then say: "Help me set my aim for this year". The agent checks that the aim is countable, builds the path of stages, and from then on: "plan my day", "start the timer", "how was my week?".
The skill that teaches an agent the method is in skills/aim/SKILL.md.
What happens to your data
The server stores what your agent saves through the tools (aim, path, plans, sessions and their summaries) in Google Cloud Firestore. Your conversation stays with your agent's provider; AimYear only receives the tool calls. Logs keep the tool name, success and timing, never argument values. To delete your account and data, email privacy@aimyear.com. Details: privacy policy.
Tools (43)
Names say what a tool does: get reads one thing, list reads several, find looks for problems, set replaces a whole list, add / edit / delete_ change one entry.
0.4.2 adds the hard-first check: setplan warns when nothing in the day is on a hard lever, and addsteps / set_levers warn when a stage starts with preparation before the first hard-lever step. The server instructions tell every agent the same rule.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
AimYear: common questions
- Is AimYear MCP server safe?
- Mostly: it is graded B (81/100). Read the AimYear safety report
- How do I install AimYear?
- It runs remotely at mcp.aimyear.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does AimYear need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is AimYear maintained?
- The last commit was 15 days ago (2026-10-20). The latest release is v0.4.2.
- Is AimYear up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- What can I use instead of AimYear?
- Servers from other publishers that do the same job: IWE (iwe.md) MCP server, Orcareplay MCP server and Claude Prompts MCP server.
- How does AimYear compare with other AI and agents MCP servers?
- safety score 81/100 (higher than 63% of 4,460 AI and agents servers); tools 52 (the typical AI and agents server has 6); tools that change things 15% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to AimYear
Same job from other publishers: the closest match first, then the best rated.
- IWE (iwe.md)Markdown knowledge base as agent memory. Runs against the notes directory it is started in.not reviewedEstablishedA
- OrcareplayRead, replay and fork recorded coding-agent runs.not reviewedEstablishedA
- Claude PromptsReusable prompt templates, multi-step workflow chains, and quality gates for any MCP client.not reviewedEstablishedA