The task tracker your AI agents keep for each other: MCP server plus a live board, self-hosted.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
The task tracker your AI agents keep for each other.
AI agents forget everything between sessions. Casefile gives every task a case file β
decisions, failed attempts, findings, open questions β so the next agent picks up exactly where the last one stopped.
You watch a live board and answer their questions.
For anyone whose agents work on tasks longer than one session. A self-hosted MCP server and a web board, free and MIT-licensed. Made for Claude Code; Codex, Cursor and any other MCP client connect the same way.
Install on macOS / Linux
Install on Windows (PowerShell)
All you need is Docker. The board opens at http://localhost:8080, and the installer prints the one command that connects your agent. Casefile updates itself to each new release: it checks once an hour and whenever Docker starts.
Or let your agent do it. Paste this into Claude Code, Codex or Cursor:
Install Casefile for me by following https://raw.githubusercontent.com/azimov777/casefile/main/docs/agent-install.md
A session ends or the context fills up, and the next agent starts from scratch: re-reading the code, re-trying what already failed, re-asking what you already answered.
Casefile gives every task a case file β an append-only log the agent writes as it works.
CLAUDE.md or handoff.md gets overwritten: the attempt that failed two days ago disappears, and two sessions edit the same file. A case file is append-only β a correction is a new entry that points at the old one. Keep CLAUDE.md for per-repo rules; Casefile is per task.The installer prints a ready-made command with your token and its actual MCP address filled in β by default:
Any other MCP client works the same way: streamable HTTP at the MCP address the installer
printed (http://localhost:8100/mcp by default) with that header. Clients that take an
mcpServers JSON (Cursor, VS Code and others) use this β fill in your token and, if your
installer printed a different address, that address instead:
Over stdio, as an alternative. Streamable HTTP above is the main way in. A client that can only launch a command and talk to it over stdin/stdout gets the same server that way: it starts a short-lived container of your installation, attached to the installation's database β same tools, same token, same case. The token goes in the client's environment, not on the command line:
The installation has to be up: the stdio process brings no database of its own. Each
client session is a process of its own, so HTTP stays the lighter choice wherever the
client supports it. An installation image older than the stdio mode answers
unrecognized arguments: --stdio β update it first.
A second agent, without the terminal. The board carries the same snippets.
Connect an agent shows this installation's MCP address and ready-made snippets for
Claude Code, Codex and any client that takes an mcpServers JSON β no secret on the
screen, a placeholder where the token goes. Access lists your tokens β every token
of the installation, if you are an administrator: who it speaks for, what it opens, who
issued it and when it was last used. From there
you register an agent, issue its own token, copy the snippet with the secret already in
it β shown once β and revoke it when that agent is done. Give each agent a token of its
own and its case entries are signed with its name instead of one shared agent. On a
shared installation every person does this for their own agents, without the
administrator, and sees and revokes only the tokens they issued or that speak for them.
Every MCP tool a task or main token opens, grouped by area (app/mcp/tools/):
Tasks
get_task β returns everything about one task in a single call: card, parent and children, links, computed features, latest summary, open questions, unresolved remarks, case index and transition targetssearch_tasks β searches tasks by a query-language string, by separate conditions, or by bothcreate_task β creates a task in backlog, optionally as a child of a parent taskupdate_task β changes the given fields of a task; fields left out stay as they aretransition β moves a task to another status along the fixed transition tableclose_task β closes a task: files entries, verdicts and the final summary and moves it to done, in one transactionmove_task β moves a task, or each task of a list with an outcome per key, to another project with a reason; its previous key keeps leading to it (main token only)Case
read_entries β returns entry bodies of one task's case, with payload, in number orderadd_summary β files a summary: the handover note of a case, in four partsadd_entry β files an entry without payload: a decision, attempt, finding, artifact, remark or noteask β files a question to registry participantsanswer β answers a question of the same taskresolve β resolves a remark on a task: its outcome and where the work wentadd_verdict β files the outcome of one review checkread_project_entries β returns entry bodies of one project's case, with payload, in number orderadd_project_entry β files a decision, finding, artifact or note in a project's caseLinks
link β links two tasks and files link_added in both casesunlink β removes a link and files link_removed in both casesNo reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/casefile)<a href="https://allmcps.com/mcp/casefile"><img src="https://allmcps.com/api/badge/casefile?style=directory" alt="Casefile on AllMCPs" /></a>