AimYear
REMOTE · MCP.AIMYEAR.COM
Accountability partner in your agent: one yearly aim, one main step a day, a timer your agent runs.
Available components
Last scanned (3 hours ago)
Scores higher than 91% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Productivity and Notes
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability78
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 5970 tokens (~112/item across 53 items; 52 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management60
- Stability observed for 18 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage84
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 52% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 0
- Server version: 0.11.1 → 0.11.2 functional
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- New tool “set_tracks”, which the server declares destructive security
- Tool “edit_milestone” rewrote its description, which is the text the model reads security
- Tool “get_path” rewrote its description, which is the text the model reads security
- Tool “next_steps” rewrote its description, which is the text the model reads security
- Tool “set_milestones” rewrote its description, which is the text the model reads security
- The server now declares the “resources” capability functional
- New prompt “aim” functional
- New resource “aim-skill” functional
- Server version: 0.9.0 → 0.11.1 functional
- “edit_milestone” added an optional parameter “trackId” cosmetic
- 25 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- New tool “delete_agent”, which the server declares destructive security
- New tool “delete_social_account”, which the server declares destructive security
- Tool “get_settings” rewrote its description, which is the text the model reads security
- Tool “set_settings” rewrote its description, which is the text the model reads security
- Schema quality: 4795 → 5633 ▼ functional
- Server version: 0.7.0 → 0.9.0 functional
- New tool “add_post” functional
- New tool “add_social_account” functional
- New tool “get_insights” functional
- New tool “get_post_draft” functional
- New tool “list_agents” functional
- New tool “list_social_accounts” functional
- “set_settings” added an optional parameter “post_to” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.aimyear.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.aimyear.com | CN=WR3,O=Google Trust Services,C=US | 12 Oct 2026 | 10 Jan 2027 | RSA 2048 | SHA256-RSA | 506b140da0ddb53c0a0c70317f0e9b20 |
| SANs: mcp.aimyear.com | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.aimyear.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| aimyear.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://mcp.aimyear.com/.well-known/oauth-protected-resource/mcp"
Bearer resource_metadata="https://mcp.aimyear.com/.well-known/oauth-protected-resource/mcp" Protected resource metadata
| Document | https://mcp.aimyear.com/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.aimyear.com/mcp |
| Authorisation server | https://mcp.aimyear.com/ |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.aimyear.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.aimyear.com/mcp | HTTPS enforced | 302 | https://mcp.aimyear.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_device Add device ~62
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 | Type | Req | Description |
|---|---|---|---|
| label | string | – | – |
| platform | string | yes | – |
| token | string | yes | – |
No output schema declared.
No examples provided.
add_note Add note ~116
Add a one-line note to a running session (this connection's, or session_id). May classify a session that was unclassified.
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | yes | – |
| op_id | string | – | for apps replaying queued requests: an id the app minted before its first attempt and reuses on retries, so the write is applied once and a retry gets the first answer back. Do not invent one; an age… |
| session_id | string | – | from get_now; required with op_id |
No output schema declared.
No examples provided.
add_post Add post ~124
Post 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.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
| networks | array | – | default: the networks chosen in settings |
| text | string | – | – |
No output schema declared.
No examples provided.
add_session Add session ~265
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 from the agent. Apps replaying a queued entry pass op_id, so a retry does not count the time twice.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | – | default work |
| date | string | – | YYYY-MM-DD in the user's timezone |
| end | string | – | HH:MM local time |
| exclusive | boolean | – | true: nothing else was happening then |
| itemId | string | – | plan item id |
| leverId | string | – | – |
| minutes | integer | – | – |
| op_id | string | – | for apps replaying queued requests: an id the app minted before its first attempt and reuses on retries, so the write is applied once and a retry gets the first answer back. Do not invent one; an age… |
| projectId | string | – | – |
| start | string | – | HH:MM local time |
| stepId | string | – | path step id |
| task | string | yes | – |
| weight | number | – | attention weight vs other sessions at the same time, default 1 |
No output schema declared.
No examples provided.
add_social_account Add social account ~167
Connect 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | WIP only |
| app_password | string | – | Bluesky only: xxxx-xxxx-xxxx-xxxx |
| handle | string | – | Bluesky only, e.g. name.bsky.social |
| network | string | yes | – |
No output schema declared.
No examples provided.
add_steps Add steps ~138
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 rejected. Put a hard-lever step first; preparation only where it blocks it (warns otherwise).
| Name | Type | Req | Description |
|---|---|---|---|
| milestoneId | string | yes | – |
| op_id | string | – | for apps replaying queued requests: an id the app minted before its first attempt and reuses on retries, so the write is applied once and a retry gets the first answer back. Do not invent one; an age… |
| steps | array | yes | – |
No output schema declared.
No examples provided.
check_goal_draft Check goal draft ~208
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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| baseline | number | – | value today |
| deadline | string | – | YYYY-MM-DD in the user's timezone |
| kind | string | – | count (default): a number from baseline to target, e.g. "15 paying customers". done: a one-time result checked yes or no, e.g. "launch v2 in the stores"; no metric, baseline or target, progress is th… |
| metric | string | – | the one number and its unit, e.g. "paying customers" |
| target | number | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
delete_agent Delete agent ~55
Disconnect 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.
| Name | Type | Req | Description |
|---|---|---|---|
| client_id | string | yes | – |
No output schema declared.
No examples provided.
delete_device Delete device ~24
Remove a device so it stops receiving reminders.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | – |
No output schema declared.
No examples provided.
delete_plan_item Delete plan item ~49
Remove one item from a day's plan. A routine item is skipped for that day only.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
| itemId | string | yes | – |
No output schema declared.
No examples provided.
delete_session Delete session ~119
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 session is deleted, never another one.
| Name | Type | Req | Description |
|---|---|---|---|
| op_id | string | – | for apps replaying queued requests: an id the app minted before its first attempt and reuses on retries, so the write is applied once and a retry gets the first answer back. Do not invent one; an age… |
| session_id | string | – | required with op_id |
No output schema declared.
No examples provided.
delete_social_account Delete social account ~31
Disconnect a network and delete its saved login. Posts already made stay there.
| Name | Type | Req | Description |
|---|---|---|---|
| network | string | yes | – |
No output schema declared.
No examples provided.
delete_step Delete step ~23
Delete one step from the path.
| Name | Type | Req | Description |
|---|---|---|---|
| stepId | string | yes | – |
No output schema declared.
No examples provided.
edit_milestone Edit milestone ~182
Change 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.
| Name | Type | Req | Description |
|---|---|---|---|
| due | string | – | YYYY-MM-DD in the user's timezone |
| kind | string | – | count: progress is a recorded value against target ("talk to 20 people"); steps: progress is steps done ("implement the onboarding flow"), no metric needed. Default: count when metric and target are… |
| metric | string | – | – |
| milestoneId | string | yes | – |
| status | string | – | – |
| target | number | – | – |
| title | string | – | – |
| trackId | string | – | move it to this track (set_tracks) |
No output schema declared.
No examples provided.
edit_plan_item Edit plan item ~227
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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | – | – |
| count | integer | – | units done in this tick, for a routine with perWeek; above 0 ticks it, 0 unticks it |
| date | string | – | YYYY-MM-DD in the user's timezone |
| done | boolean | – | – |
| estimateMin | integer | – | – |
| isMainStep | boolean | – | – |
| itemId | string | yes | – |
| level | string | – | routines only; sets done unless done is given |
| leverId | string | – | – |
| projectId | string | – | – |
| stepId | string | – | – |
| title | string | – | – |
No output schema declared.
No examples provided.
edit_session Edit session ~254
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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | – | default work |
| attention_share | number | – | share of the session's wall time that was real attention |
| date | string | – | local date of start and end; default the session's own date |
| end | string | – | HH:MM local time |
| exclusive | boolean | – | true: nothing else was happening then |
| itemId | string | – | plan item id |
| leverId | string | – | – |
| outcome | string | – | – |
| projectId | string | – | – |
| session_id | string | yes | – |
| start | string | – | HH:MM local time |
| stepId | string | – | path step id |
| summary | string | – | – |
| task | string | – | – |
| weight | number | – | attention weight vs other sessions at the same time, default 1 |
No output schema declared.
No examples provided.
edit_step Edit step ~73
Change one step: title, status (todo/doing/done), order, lever, estimate.
| Name | Type | Req | Description |
|---|---|---|---|
| estimateMin | integer | – | – |
| leverId | string | – | – |
| order | integer | – | – |
| status | string | – | – |
| stepId | string | yes | – |
| title | string | – | – |
No output schema declared.
No examples provided.
find_gaps Find gaps ~48
Untimed stretches of 20+ minutes between the first and last session of a day. Ask the user what happened there.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
No output schema declared.
No examples provided.
find_leaks Find leaks ~76
Where 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.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | YYYY-MM-DD in the user's timezone |
| to | string | – | YYYY-MM-DD in the user's timezone |
No output schema declared.
No examples provided.
get_capacity Get capacity ~40
Weekly time budget out of 168 hours: overhead, hours committed per area, focus windows, and what is still unaccounted for. Nothing is assumed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_commitments Get commitments ~33
Recurring weekly time: commitments (school runs, training, classes), overhead (sleep, meals) and focus windows.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_goal Get goal ~50
The 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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_insights Get insights ~139
Week (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.
| Name | Type | Req | Description |
|---|---|---|---|
| range | string | – | default week |
| to | string | – | last day, default today |
No output schema declared.
No examples provided.
get_now Get now ~38
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_path Get path ~87
Milestones 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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_plan Get plan ~31
The plan for a day (default today).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
No output schema declared.
No examples provided.
get_planning_context Get planning context ~67
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. The agent plans; then call set_plan.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
No output schema declared.
No examples provided.
get_post_draft Get post draft ~97
The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
No output schema declared.
No examples provided.
get_routines Get routines ~101
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", 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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_settings Get settings ~32
Timezone, where reminders go (desktop or mobile), timer settings, and which networks get progress posts (post_to).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_agents List agents ~51
Agents 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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_devices List devices ~21
Which devices can receive reminders, and when each was last seen.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_sessions List sessions ~74
Sessions in a date range (default the last 7 days), with ids, optionally filtered by area or project.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | – | – |
| from | string | – | YYYY-MM-DD in the user's timezone |
| projectId | string | – | – |
| to | string | – | YYYY-MM-DD in the user's timezone |
No output schema declared.
No examples provided.
list_social_accounts List social accounts ~38
Connected networks (handle, since when), which of them get progress posts, and whether the user has Pro. Never returns any key or password.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
next_steps Next steps ~49
Open 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.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | – |
No output schema declared.
No examples provided.
record_progress Record progress ~127
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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
| milestoneId | string | – | a countable milestone instead of the goal |
| value | number | yes | – |
No output schema declared.
No examples provided.
set_commitments Set commitments ~56
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 to keep them.
| Name | Type | Req | Description |
|---|---|---|---|
| commitments | array | yes | – |
No output schema declared.
No examples provided.
set_day_mode Set day mode ~58
Tracking for a day: full (everything recorded, the default) or off (timer and reminders only, nothing stored, no plan required).
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
| mode | string | yes | – |
No output schema declared.
No examples provided.
set_goal Set goal ~185
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 areas the goal belongs to.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | – | default money |
| baseline | number | – | value today; required for kind count |
| deadline | string | yes | YYYY-MM-DD in the user's timezone |
| kind | string | – | count (default): a number from baseline to target, e.g. "15 paying customers". done: a one-time result checked yes or no, e.g. "launch v2 in the stores"; no metric, baseline or target, progress is th… |
| metric | string | – | required for kind count |
| target | number | – | required for kind count |
| title | string | yes | – |
| why | string | – | – |
No output schema declared.
No examples provided.
set_levers Set levers ~66
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 classifying sessions from their task text. Pass existing ids to keep them.
| Name | Type | Req | Description |
|---|---|---|---|
| levers | array | yes | – |
No output schema declared.
No examples provided.
set_milestones Set milestones ~94
Replace 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.
| Name | Type | Req | Description |
|---|---|---|---|
| milestones | array | yes | – |
No output schema declared.
No examples provided.
set_plan Set plan ~101
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. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | YYYY-MM-DD in the user's timezone |
| items | array | yes | – |
No output schema declared.
No examples provided.
set_projects Set projects ~73
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: leave one out to remove it, change its name or hints to edit it. Pass existing ids to keep them.
| Name | Type | Req | Description |
|---|---|---|---|
| projects | array | yes | – |
No output schema declared.
No examples provided.
set_routines Set routines ~153
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, 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.
| Name | Type | Req | Description |
|---|---|---|---|
| routines | array | yes | – |
No output schema declared.
No examples provided.
set_settings Set settings ~150
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, longBreakEvery, longBreakMin, standup on/off, post_to (networks for progress posts).
| Name | Type | Req | Description |
|---|---|---|---|
| breakMin | integer | – | – |
| longBreakEvery | integer | – | – |
| longBreakMin | integer | – | – |
| post_to | array | – | which connected networks get the day's progress post (the app sets it); [] for none |
| standup | boolean | – | – |
| timezone | string | – | – |
| workMin | integer | – | – |
| workplace | string | – | – |
No output schema declared.
No examples provided.
set_tracks Set tracks ~114
Replace 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.
| Name | Type | Req | Description |
|---|---|---|---|
| tracks | array | yes | – |
No output schema declared.
No examples provided.
split_attention Split attention ~58
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 | Type | Req | Description |
|---|---|---|---|
| shares | object | yes | – |
No output schema declared.
No examples provided.
start_session Start session ~471
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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | – | default work |
| direction | string | – | up (default) counts elapsed time and runs until stopped, with a stand-up reminder every workMin; down is a fixed timebox, for a break |
| exclusive | boolean | – | true: nothing else was happening then |
| itemId | string | – | plan item id |
| leverId | string | – | – |
| minutes | integer | – | length for a down timer, or the stand-up interval for an up timer |
| op_id | string | – | for apps replaying queued requests: an id the app minted before its first attempt and reuses on retries, so the write is applied once and a retry gets the first answer back. Do not invent one; an age… |
| override | boolean | – | true only after the user confirmed past a stop |
| projectId | string | – | – |
| session_id | string | – | for apps: the session id the app minted itself. Create-if-absent: if a session with this id exists it is returned and nothing is created. An agent leaves it out; the server mints the id |
| start_at | string | – | when the work began as ISO 8601 with offset, e.g. 2026-10-20T14:05:00+02:00. For apps delivering a request queued offline; an agent calling interactively leaves it out. Rejected before the session st… |
| stepId | string | – | path step id |
| task | string | yes | what you are about to do, specific |
| weight | number | – | attention weight vs other sessions at the same time, default 1 |
| workplace | string | – | – |
No output schema declared.
No examples provided.
stop_session Stop session ~331
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 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.
| Name | Type | Req | Description |
|---|---|---|---|
| attention_share | number | – | corrects the share in hindsight |
| end_at | string | – | when the work ended as ISO 8601 with offset, e.g. 2026-10-20T14:05:00+02:00. For apps delivering a request queued offline; an agent calling interactively leaves it out. Rejected before the session st… |
| op_id | string | – | for apps replaying queued requests: an id the app minted before its first attempt and reuses on retries, so the write is applied once and a retry gets the first answer back. Do not invent one; an age… |
| outcome | string | yes | – |
| session_id | string | – | from get_now; required with op_id or end_at |
| summary | string | yes | – |
No output schema declared.
No examples provided.
stop_timer Stop timer ~81
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 outcome to save them on the sessions it closes, or call stop_session first. Returns the break length.
| Name | Type | Req | Description |
|---|---|---|---|
| outcome | string | – | default partial |
| summary | string | – | – |
No output schema declared.
No examples provided.
How do I install the AimYear MCP server?
AimYear is a hosted endpoint at https://mcp.aimyear.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.aimyear.com
claude mcp add --transport http yahhi-aimyear-mcp 'https://mcp.aimyear.com/mcp'
What is the AimYear MCP server?
AimYear is an MCP server listed in the public MCP registry as io.github.Yahhi/aimyear-mcp. Accountability partner in your agent: one yearly aim, one main step a day, a timer your agent runs. This page covers its hosted endpoint (https://mcp.aimyear.com/mcp).
Is the AimYear MCP server safe to use?
AimYear scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the AimYear MCP server expose?
AimYear exposes 52 tools: get_goal, check_goal_draft, set_goal, record_progress, set_levers, and 47 more. Their descriptions and schemas cost roughly 5,411 tokens of context every time the server is loaded.
Does the AimYear MCP server require authentication?
Yes. AimYear asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the AimYear MCP server still maintained?
AimYear is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.