Skip to main content
Glama

The problem: AI chats forget. When a long chat gets its memory compressed, or you start a new chat, the AI no longer knows what was planned, what's done or what's left, and you end up explaining it all again.

What Progressor does: your AI writes its plan, a goal with steps, into your project folder and keeps it up to date as it works. After a chat is compressed, or in a new chat, even in a different AI app, say "use Progressor" and your AI reads that plan and carries on where the work stopped. And you see the same plan on a page in your browser that updates by itself: what the AI is doing right now, what's done, and what it needs from you.

It works with any app that supports MCP (the standard way AI apps add tools): Claude Code, Claude Desktop, VS Code with Copilot, Cursor, Windsurf, Codex and others.

What you get

Related MCP server: memex

Your progress is never lost

AI chats forget. A long chat gets its memory compressed, a new chat starts from nothing, and switching to another app or AI tool usually means explaining your project all over again. With Progressor, none of that costs you your progress:

  • Everything is saved in your project. The goals, every step and where each one stands, the side trips and why they happened, the decisions made along the way, notes, your rules and the project's background are kept in plain files in your project folder, not in the chat.

  • New chats pick up where the last one stopped. After a chat's memory is compressed, or in a new chat, say "use Progressor" (or "carry on") and your AI reads the plan. Claude Code does this by itself.

  • Switch apps or AI tools freely. The plan belongs to the project, not to the app. Start in Claude Code, carry on in Cursor or VS Code, and the next AI sees exactly where things stand.

  • Private, and yours. The plan is plain markdown files on your computer: nothing is sent anywhere, and it's kept out of git unless you ask your AI to share it (how). You can read every file, and delete them whenever you like.

  • The same plan for you and the AI. What you see on the dashboard is what the AI reads, so you always know what's done, what's under way and what's waiting on you.

Set it up

You need Node.js 22 or later. Then paste this into your AI's chat, in the project you're working on:

Set up Progressor (https://github.com/racstan/progressor-mcp) for this project:
1. Run `node --version`. If it is older than 22, stop and tell me how to install Node.
2. Run `npm install -g progressor-mcp`.
3. If you are Claude Code, run `progressor-mcp init --yes` in this folder. Otherwise, add
   the "progressor" MCP server to this app's settings as the guide for this app shows
   (https://github.com/racstan/progressor-mcp/blob/main/docs/apps.md), then run
   `progressor-mcp init --yes --no-server` in this folder.
4. Tell me to restart the app, and to approve the "progressor" server if it asks.
   After the restart, call get_status and tell me in plain words that Progressor is
   ready, with the dashboard link.

Your AI does the rest. To have Progressor in every project without setting each one up, add it once to your app's settings for all projects (how, for each app). If you'd rather do it yourself, Getting started walks through it, and Setup for your app has the exact settings for each app.

Then just talk to your AI

Tell it what you want to build, as you would anyway: "Add a login page with Google sign-in." It plans the work as a goal, shows you the steps, and starts. You don't need to learn any commands. If you want to nudge it, these work in most apps' / menu:

Command

What it does

/progressor:next

Carry on where the work was left

/progressor:status

Where things stand, in a few lines

/progressor:plan

Plan something new together

/progressor:dashboard

The dashboard's link

/progressor:review

Check a goal against what finished looks like, and add steps if something is missing

/progressor:setup

Set Progressor up in this project

On the dashboard

Open http://localhost:4747 while your AI's app is open (your AI gives you the link).

  • What the AI is doing: AI working, Waiting on you, or AI stopped when its chat has closed, with how far along each goal is.

  • When things happen: every goal, step, decision and note says when it was added, by whom, and when it changed. Steps say when they started and finished.

  • How long it will take: your AI estimates each step, and each goal shows a rough finish: done in about 2 h. Tell it "at most 2 helpers at a time" and it keeps to that.

  • Pictures: your AI can attach a screenshot or screen recording to a goal or step, so you see the change instead of reading about it.

  • Copy for your AI and Show in folder on every goal and step, to point your AI at it or open the plan file.

  • Work for one project, recorded in another: when a chat in one project does work for another, it can record it in that project's plan, tagged Updated from.

  • Never out of date: if Progressor was updated, or the page lost touch with it, a bar says so with a Refresh button.

More in the dashboard guide.

If something goes wrong

Most problems can be fixed by asking your AI. Troubleshooting lists the common ones, each with a line you can paste to your AI. Still stuck? Report a problem, or use ❓ Help on the dashboard, which fills in your version and system for you.

Docs

Feedback

What you run into shapes what comes next. Share an idea or feedback, even a sentence helps, or see the open issues.

Support

Progressor is free and open source. If it helps you, you can buy me a coffee; the link is also in the dashboard's ⚙️ Settings.

License

Copyright (C) 2026 Rachit Asthana

Progressor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See LICENSE for the full text.

Available Tools

16 tools
add_goalAdd GoalA

Add a Goal to the end of the Roadmap, with an optional initial Task list. Does not claim it.

NameRequiredDescriptionDefault
tasksNo
titleYesThe outcome, such as 'Ship OAuth login'.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It does disclose two real behaviors: the goal is appended at the end of the Roadmap, and creation leaves it unclaimed. It says nothing about permissions, whether the task list is created atomically, or what identifies the new goal afterwards.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste, and the discriminating fact ('Does not claim it') is placed last where it lands hardest. Nothing is repeated from the schema or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter creation tool with no output schema and no annotations, the definition covers the essentials: what is created, where it goes, the optional payload, and its post-creation state. The remaining gap is the claim workflow, which is left implicit rather than explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the nested task fields are well documented in the schema, while the 'tasks' array itself has no description. The description adds that the task list is optional and 'initial', which is real semantic value, but it does not explain the relationship between goal and tasks beyond that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Add a Goal') plus the placement scope ('to the end of the Roadmap') and the optional payload. It also pre-empts the most likely sibling confusion by noting it does not claim the goal, though it never names claim_goal directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The negation 'Does not claim it' implies claim_goal is the follow-up step, but the description never states when to use this versus claim_goal or release_goal, nor any prerequisite. Usage is only inferable from the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_standing_instructionAdd Standing InstructionB

Save a lasting rule from the Developer about how you should work, such as 'ask me before recalibrating'. It is shown in every get_status.

NameRequiredDescriptionDefault
textYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It does disclose two real traits: the rule is lasting/persistent and it is injected into every get_status, which is meaningful visibility context. It says nothing about whether an instruction can be edited, removed, or conflicts with existing ones, which is a notable gap for a permanent write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and backed by a single illustrative example. Nothing is wasted, though the get_status clause is more of a UI detail than essential selection information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description covers what it does and where the result appears. It omits the lifecycle story (can a standing instruction be superseded or deleted?) and any conflict behavior, which is the main thing an agent would want before making a lasting commitment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but there is only one trivially-typed string parameter ('text'). The description compensates partially by giving an example of the rule content ('ask me before recalibrating'), clarifying what the string should contain, but adds no length or formatting guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Save a lasting rule from the Developer about how you should work') and grounds it with a concrete example. Mentioning that it surfaces in get_status helps separate it from transient siblings like record_idea, though it never names a sibling it could be confused with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'lasting rule ... about how you should work', which tells the agent this is for durable preferences rather than one-off notes. There is no explicit when-not guidance and no alternative tool named, so the agent must infer the boundary against record_idea or add_goal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_tasksAdd TasksA

Append Tasks to the claimed Goal's plan. For work that is not part of the plan, declare a Detour instead.

NameRequiredDescriptionDefault
tasksYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden. 'Append' correctly conveys additive, non-destructive semantics and the 'claimed Goal' phrasing discloses a precondition, but there is nothing about ordering, idempotency, failure modes, or whether appended tasks are returned with identifiers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, both front-loaded: the primary action first, then the routing rule for the alternative. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter append tool with a well-documented nested schema, the description covers purpose, precondition, and the alternative path. With no annotations and no output schema, it should say more about what the call returns or what happens on invalid input, which is a real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The top-level schema coverage is 0% and the description adds no information about the 'tasks' parameter. However, the nested item schema documents title, summary, and code with concrete examples, so the schema itself does much of the work even though the description does not compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Append') and resource ('Tasks to the claimed Goal's plan'), so an agent knows exactly what the tool mutates. It also implicitly scopes the tool to an existing claimed Goal, which distinguishes it from add_goal or add_standing_instruction, though it never explicitly contrasts those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives an explicit exclusion and routing rule: work outside the plan belongs in a Detour instead. The phrase 'the claimed Goal' also signals the precondition that a goal must already be claimed, but that prerequisite is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

claim_goalClaim GoalA

Claim a Goal for this Session, so only this Session works on it. Releases (pauses) any Goal this Session held before. Fails if another running Session holds it. Claiming a done Goal reopens it: its finished Tasks stay done, and add_tasks adds the new work to the same list.

NameRequiredDescriptionDefault
goalYesThe Goal ID, such as 'ship-oauth-login'.
takeoverNoTake the Goal from another running Session. Only when the Developer asks for it.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses the side effect of releasing prior claims, the failure mode with a competing session, and the reopen semantics for done Goals. It leaves out what happens to the paused Goal's tasks and any auth/takeover guardrails beyond the schema's note.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core action and scope, then side effects, then the reopen edge case. No filler and every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema or annotations exist, so the description must stand alone, and it covers side effects, failure conditions, and the done-Goal interaction with add_tasks. Only the fate of the released Goal's tasks and explicit alternative routing are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both params (goal, takeover) are already documented, and the description adds no format or syntax detail beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Claim") and resource ("a Goal") plus its exclusive-scope effect ("so only this Session works on it"), which sets it apart from release_goal/complete_goal operationally. However, it never names a sibling, so the agent must infer the contrast on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operating conditions: it releases any previously held Goal, fails if another running Session holds it, and reopens done Goals. It stops short of explicitly routing the agent to alternatives (release_goal, complete_goal) or stating when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_goalComplete GoalA

Mark the claimed Goal done and release it.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does usefully disclose the compound effect of marking done AND releasing the goal (a side effect not visible in the empty schema), but it says nothing about irreversibility, required permissions, or what happens if no goal is currently claimed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the action and its side effect front-loaded. No filler, nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param mutation with no annotations and no output schema, the description covers the action but omits the error/precondition behavior (what if the goal is not claimed) and how it relates to release_goal. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly implies the target is implicit rather than passed as an argument.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Mark ... done') plus a compound effect ('release it') on a specific resource (the Goal). The word 'Goal' does distinguish it from the sibling complete_task, but it does not explicitly differentiate from release_goal, which overlaps on the release half of the action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'the claimed Goal' signals a precondition that a goal must first be claimed (via claim_goal). It never states when to prefer this over release_goal or complete_task, so the agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_taskComplete TaskB

Mark a Task done, recording the files it touched and, if it changed, the final summary of what it did.

NameRequiredDescriptionDefault
codeNoFiles the Task touched, optionally with :line; added to the ones it has.
taskYesThe Task ID, such as 't3'.
summaryNoOne or two sentences on the fix or change the Task makes, such as 'Callback re-sets the session cookie on every hit; only set it after token exchange.'

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the recording behavior and that summary is only needed 'if it changed', but says nothing about idempotency, whether completion is reversible, what state transitions occur, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler: the action comes first, then the side effects. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-annotation, no-output-schema mutation tool this covers the intent and recorded data but omits the surrounding lifecycle context an agent needs (prerequisites, resulting state, error conditions). Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters are already documented in the schema. The description restates the code/summary semantics ('files it touched', 'final summary') but adds no format or edge-case detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Mark ... done') and resource ('a Task'), plus the side effects it records (files touched, summary). It is clearly distinguishable from complete_goal and drop_task by resource, though it never explicitly names a sibling to contrast with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus drop_task, update_task, or release_goal, nor any stated prerequisite (e.g. whether the task must first be claimed or started). Usage is only inferable from the verb 'Mark a Task done'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drop_taskDrop TaskB

Drop a Task that is no longer needed, with a reason. To replace the whole remaining plan, recalibrate instead.

NameRequiredDescriptionDefault
taskYes
reasonYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it does not state whether dropping is reversible, what happens to the goal's progress accounting, whether the task disappears from history, or any permission requirement. It only implies that a justification must accompany the drop, which is thin for a mutation operation with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler, and the primary action plus its condition lead the description ahead of the alternative. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation tool with no annotations, no output schema, and 0% schema coverage, the description leaves too much unsaid: consequences of the drop, how the task is referenced, and how it differs from complete_task. It is adequate only at the level of naming the action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across two parameters, so the description must compensate but largely does not. 'With a reason' maps a rationale to the reason field, but it says nothing about how to identify the task argument (ID, name, or reference) or any format constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Drop a Task') plus the condition that qualifies it ('no longer needed'), which is more than a restatement of the title. However, it never explicitly names or contrasts the nearest sibling, complete_task, so an agent must infer the drop-vs-complete distinction on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear when-condition ('no longer needed') and routes a related-but-different scenario to an alternative ('to replace the whole remaining plan, recalibrate instead'). The weakness is that the alternative named, 'recalibrate', is not present in the sibling list, and the more likely confusion with complete_task is left unaddressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

end_detourEnd DetourA

End the open Detour. 'merge back': it was small and is done; the plan is unchanged. 'return': go back to the plan, appending tasks for the Detour's intended work if any. 'recalibrate': drop every remaining Task and replace them with tasks.

NameRequiredDescriptionDefault
tasksNoTasks to append (return) or the new Task list (recalibrate).
endingYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that 'merge back' leaves the plan unchanged, 'return' appends tasks, and 'recalibrate' destructively drops all remaining Tasks. It omits whether ending is reversible, what happens to the Detour's own work under 'merge back', and any permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the action, then gives one crisp clause per mode with zero filler. The terse phrasing (e.g., 'it was small and is done') is efficient but occasionally requires inference.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter control tool with no output schema and no annotations, the description covers both parameters and their behavioral consequences well. It could state the post-ending effect on the Detour/plan state more fully, but nothing essential for calling it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, but the description compensates by explaining how `tasks` is interpreted per mode — appended on 'return', replacing the list on 'recalibrate' — which is meaning beyond the schema's generic 'Tasks to append (return) or the new Task list (recalibrate)'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('End the open Detour') and immediately disambiguates the three ending modes, so an agent can distinguish this from siblings like start_detour or complete_task. It does not explicitly name a sibling it must not be confused with, keeping it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear conditions for each ending value: 'merge back' when the Detour was small and done, 'return' to resume the plan, 'recalibrate' to replace tasks. This effectively answers when to pick each mode, though it offers no explicit exclusions or prerequisites (e.g., what counts as an 'open' Detour).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_itemGet itemB
Read-only

Look up a Goal, Task, Detour, Idea or Standing Instruction by its ref, with its file and line.

NameRequiredDescriptionDefault
refYesA ref such as progressor://login/t2 or progressor://roadmap/i1.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint: true annotation already establishes this as a safe read, so the bar is lower. The description adds useful return-value context ("with its file and line"), but says nothing about what happens when the ref is unknown or whether lookups are cached/scoped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence that front-loads the action, enumerates the resource scope, and closes with the return payload. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully notes that file and line come back, covering the main unknown for a lookup tool. A brief note on missing-ref behavior or scope would make it fully complete, but nothing essential to invoking it is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single ref parameter is documented with concrete example values in the schema itself. The description's "by its ref" adds no format or syntax detail beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb ("Look up") plus the full set of entity types it resolves (Goal, Task, Detour, Idea, Standing Instruction) and the lookup key (ref), so an agent knows exactly what resource is involved. It does not, however, differentiate itself from the sibling get_status, which an agent could plausibly confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says the tool takes a ref but never states when to prefer it over siblings like get_status or the various mutation tools, nor any preconditions (e.g. the ref must already exist). Usage is only inferable from the parameter shape.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statusGet statusA
Read-only

Compact summary of this Session's Goal, current Task, open Detour, next Task and the Developer's Standing Instructions. Call it at the start of every conversation and after context compression.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this is a safe read. Beyond that, the description discloses the payload contents, which is genuinely useful given there is no output schema to reveal the return shape. It stops short of noting cost, freshness, or truncation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, with the payload contents front-loaded and the invocation timing immediately after. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and no output schema, the description does the heavy lifting by listing the returned fields, and it adds invocation timing. A note on cost or staleness would make it fully self-sufficient, but nothing essential is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the schema has nothing to document and there is no parameter semantics to add. Baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete deliverable and enumerates its contents (Goal, current Task, open Detour, next Task, Standing Instructions), so an agent knows exactly what comes back. It is clearly distinguishable from siblings like get_item, which retrieves a single item.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit, prescriptive timing: at the start of every conversation and after context compression. That is a clear use context, though it names no alternative tool or when-not condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

promote_ideaPromote IdeaA

Turn an Idea into a Task at the end of the claimed Goal, or into a new Goal on the Roadmap.

NameRequiredDescriptionDefault
toYes
ideaYesThe Idea ID, such as 'i2'.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, yet it omits the most consequential facts for a mutation: whether the source Idea is consumed/removed or kept, whether the promotion is reversible, and what error occurs when 'task' is chosen with no claimed Goal. It does disclose one useful behavior — new tasks are appended at the end of the claimed Goal — which keeps it above a total blank.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the verb and both branches front-loaded and no filler. Nothing could be removed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, non-nested tool with no output schema, the description covers the input-to-outcome mapping adequately, but it stops short of the post-state (is the Idea gone?) and failure conditions. Given no annotations to fall back on, the minimum-viable coverage is met but clear gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: the schema documents 'idea' as an ID like 'i2' but leaves the 'to' enum bare. The description compensates by mapping each enum value to a distinct outcome ('task' = appended to the claimed Goal, 'goal' = new entry on the Roadmap), which is exactly the semantic the enum lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific transformation verb-resource pair ('Turn an Idea into a Task ... or into a new Goal') and names both possible outputs, which makes it clearly distinguishable from siblings like record_idea, add_goal, and add_tasks. An agent can tell what comes in (an Idea) and what comes out (a Task or a Goal) without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: promote an idea when it should become work rather than stay on the idea list. The phrase 'at the end of the claimed Goal' hints at a prerequisite (a goal must already be claimed), but the description never states when to choose 'task' over 'goal', nor what happens if no goal is claimed. No alternatives are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_ideaRecord IdeaB

Park a feature or improvement that came up but is not needed now, instead of doing it.

NameRequiredDescriptionDefault
noteNo
titleYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a write/capture action but says nothing about persistence, where the idea goes, whether it is surfaced later, or whether duplicates are allowed. For a mutation tool with zero annotation coverage this is a real gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the core action and its intent are stated immediately and nothing is repeated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter creation tool with no output schema, the description covers the purpose adequately, but with no annotations and no parameter documentation it leaves behavior and field usage unspecified. Minimum viable, with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and neither parameter is documented in the schema. The description adds no meaning for 'title' vs 'note' (required vs optional, what each should contain), so the agent gets no help on how to populate the two fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Park') and resource ('a feature or improvement') and clarifies the deferred-intent semantics with 'is not needed now, instead of doing it'. It is distinguishable from most siblings, though it never names the obvious counterpart promote_idea, so sibling routing is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'came up but is not needed now, instead of doing it' implies the trigger condition (capture work you are choosing not to do yet). However, it names no alternative tools (e.g. add_tasks, add_goal, promote_idea) and states no exclusions, so the agent must infer when this is preferred over simply creating a task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

release_goalRelease GoalA

Release this Session's Claim, leaving the Goal paused for a later Session.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the resulting state (claim released, goal paused and resumable), but says nothing about preconditions (a claim must currently be held), failure behavior, or authorization.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no waste; the outcome (releasing the claim) is front-loaded and the consequence (paused goal) follows immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a state-mutating tool with no annotations and no output schema, the description covers the outcome but omits the precondition that a claim must exist and what happens if none does. Adequate but with a clear gap for a mutation call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters and 100% schema coverage, so there is nothing for the description to disambiguate. Baseline 4 applies for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Release this Session's Claim') and the resulting state ('leaving the Goal paused'). It is effectively the inverse of the sibling claim_goal and reads clearly against complete_goal, though it never names the sibling it pairs with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'leaving the Goal paused for a later Session' implies the when: pause-and-resume-later rather than finish (complete_goal) or acquire (claim_goal). No explicit when-not or named alternative is given, so the routing is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_detourStart DetourA

Declare that the work is splitting off from the planned Tasks, before doing it. Branches from the current Task. Only one Detour can be open.

NameRequiredDescriptionDefault
titleYesWhat the Detour does, such as 'Fix flaky token refresh'.
reasonYesWhy the work has to split off from the plan now.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It does disclose one genuine behavioral constraint ('Only one Detour can be open') and the branching semantics, which is useful. But it omits what happens if a detour is already open, what state the call creates, and any permissions or irreversibility considerations expected of a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, then the branching behavior, then the constraint. No filler, though the phrasing of the first sentence is slightly convoluted ('splitting off from the planned Tasks, before doing it').

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an unannotated mutation tool with no output schema, the description covers intent and one constraint but leaves the outcome of the call and the failure mode for a second detour unstated. Adequate to call correctly, incomplete for understanding consequences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both required parameters carry clear descriptions with examples, so the baseline is already met by the schema. The description adds no parameter-level detail, but with two well-documented string params nothing more is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete action ('Declare that the work is splitting off from the planned Tasks') and the resource it operates on (a Detour branching from the current Task). It implicitly contrasts with sibling start_task by framing the work as diverging from the plan, but it never names start_task or end_detour, so the differentiation stays inferential.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'before doing it' gives a timing cue for when to call, and 'Only one Detour can be open' signals a precondition. However, it never states when NOT to use it (e.g., planned work should use start_task) or points at end_detour as the closing counterpart, both of which exist as siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_taskStart TaskA

Mark a Task in progress. Only one Task can be in progress at a time.

NameRequiredDescriptionDefault
taskYesThe Task ID, such as 't3'.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose one meaningful trait: the singleton in-progress constraint. It omits the consequence of violating that constraint (error vs. implicit stop of the current task), idempotency on an already-started task, and any permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, action stated first, constraint second — no filler and nothing that could be trimmed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter state-transition tool with a fully documented schema and no output schema, this is close to adequate. The gap is the failure mode when another task is already in progress, which is the most likely real-world call condition and is left unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'task' parameter is documented with an example format ('t3'). The description adds no further meaning about the identifier beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Mark a Task in progress'), which cleanly separates it from complete_task, drop_task, and update_task siblings. It stops short of naming those siblings or contrasting the state transitions explicitly, so it is clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies a precondition ('Only one Task can be in progress at a time'), which implies when the call is appropriate. However, it never says when to prefer this over complete_task/drop_task/update_task, nor what the agent should do if a task is already in progress.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_taskUpdate TaskA

Change a Task's title, summary or files, for instance when the fix turns out different from the plan. Leaves its status alone.

NameRequiredDescriptionDefault
codeNoThe Task's files, optionally with :line; replaces the ones it has.
taskYesThe Task ID, such as 't3'.
titleNoA short title for the Task, a few words, such as 'Fix callback redirect loop'.
summaryNoOne or two sentences on the fix or change the Task makes, such as 'Callback re-sets the session cookie on every hit; only set it after token exchange.'

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses one meaningful trait – status is untouched – but says nothing about permissions, reversibility, whether omitted fields are preserved, or what the call returns. That is a real gap for a mutation tool, though the status guarantee is genuinely useful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler; the field list is front-loaded and the behavioral caveat is placed last where it reads as a constraint rather than a footnote.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter mutation tool with no annotations and no output schema, the description covers what changes and what deliberately does not. It leaves minor gaps around return behavior and required context, but nothing that would cause an agent to call it incorrectly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented, including the replace-semantics of 'code'. The description's mention of title/summary/files mirrors the schema without adding format or constraint detail, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (change) plus the resource (Task) and enumerates the mutable fields: title, summary, files. The clause 'Leaves its status alone' implicitly separates it from the status-mutating siblings (complete_task, start_task, drop_task), though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete trigger condition ('when the fix turns out different from the plan') and an implicit exclusion via the status caveat, which routes status changes to start_task/complete_task/drop_task. It stops short of explicitly naming the alternatives or listing preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updatesv0.2.1
    • First observedadd_goal
    • First observedadd_standing_instruction
    • First observedadd_tasks
    • First observedclaim_goal
    • First observedcomplete_goal
    • First observedcomplete_task
    • First observeddrop_task
    • First observedend_detour
    • First observedget_item
    • First observedget_status
    • First observedpromote_idea
    • First observedrecord_idea
    • First observedrelease_goal
    • First observedstart_detour
    • First observedstart_task
    • First observedupdate_task

TDQS

A3.7/5.0

Scored across 16 tools

Disambiguation5/5

The tools map cleanly to distinct entities and state transitions: goals, tasks, detours, ideas, standing instructions, and status reads. Pairs such as complete_goal vs release_goal and start_task vs update_task are differentiated by outcome, so an agent should not confuse them.

Naming Consistency5/5

All 16 tools use consistent snake_case verb_noun names (get_status, add_goal, start_detour, promote_idea), with no mixed conventions. The pattern is predictable across entities.

Tool Count4/5

16 tools is slightly above the typical 3-15 range but still reasonable for a stateful workflow manager covering goals, tasks, detours, ideas, and instructions. Each tool maps to a distinct operation, with little evident redundancy.

Completeness3/5

Core goal/task/detour lifecycle is covered, including claiming, starting, completing, and dropping work. However, there is no tool to list/read the full Roadmap or to update/delete goals, ideas, or standing instructions, which are notable gaps for discovery and maintenance.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Gives AI coding agents persistent, cross-session memory by storing task insights as interlinked markdown knowledge cards and recalling relevant ones before new work begins. Uses plain files and git sync instead of a vector database or embeddings, and exposes this through MCP tools for Claude Code, Cursor, VS Code Copilot, Codex, Windsurf, and other clients.
    13 npm
    ISC
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to save task insights as atomic markdown cards with bidirectional links and recall relevant ones in later sessions. It shares memory across MCP clients through plain files that can be synced with git.
    13 npm
    ISC
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to persistently store, recall, and manage atomic markdown knowledge cards with bidirectional links across sessions. It provides MCP tools for searching, reading, writing, linking, archiving, organizing, and syncing memory via git without a vector database.
    13 npm
    ISC