mcp server
Corvee
A local, multi-agent-aware CLI task tracker and fact store for AI coding agents, with humans as a secondary user.
Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
{
"mcpServers": {
"corvee": {
"command": "uvx",
"args": [
"corvee"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Oct 21, 2026Corvee
A single-machine, non-git-tracked, persistent, multi-agent-aware CLI task tracker and fact store. Track any work that outlives one session, whether a person or an AI agent picks it back up.
Are you sick of losing track of work across sessions, or of agents that hallucinate and forget between them? Then Corvee might be a helpful tool for you and your agents!
Work loses context between sessions, and concurrent workers collide mid-task. corvee tracks tasks, todos, decisions, and checked-true facts in a local SQLite database instead of chat history or a markdown file, so a person or an agent picks up exactly where the last session left off, and several of them share one project without silently overwriting each other's edits.
See the documentation site for the full pitch, the Quickstart, the Commands reference, the Specification, and the MCP server for hosts that speak Model Context Protocol natively instead of shelling out to the CLI.
flowchart LR
subgraph sessions["Sessions, same project"]
A1["Agent session A"]
A2["Agent session B"]
H["Human"]
end
A1 -->|claim / update| CLI["corvee CLI"]
A2 -->|claim / update| MCP["corvee MCP server"]
H -->|claim / update| CLI
CLI <--> LDB[("Local SQLite\ntasks + facts")]
CLI <--> GDB[("Global SQLite\ntasks + facts")]
MCP <--> LDB
MCP <--> GDB
LDB -.->|"already claimed -> exit 4"| A2
Every task and fact lives in exactly one of these two independent databases,
picked with --global at creation time and encoded in the id from then on.
--scope all (the default for listing) reads both.
Use cases
corvee is not tied to code. A project is any workspace you return to, and a task is any unit of work worth resuming.
- Software work. One repository's backlog, with each agent session claiming the task it works on.
- Research. A reading queue, open questions, and checked findings stored with the source that established each one.
- Writing and editing. Chapters, revisions, and reviews, plus editorial decisions you do not want to look up twice.
- Operations and home labs. Recurring chores and machine-wide facts such
as certificate expirations, filed with
--global. - Personal tracking. Anything with a state and a history, run straight from the terminal with no agent involved.
See Use cases for worked examples.
corvee itself is built with spec-driven development: docs/spec.md
is written and extended before any code, then implemented and refined
across many iterations.
Install
uv tool install corvee
Hosts that speak MCP natively instead of shelling out to the CLI need the
mcp extra and corvee mcp serve (see MCP server for
per-host setup):
uv tool install 'corvee[mcp]'
Quickstart
cd your-project
corvee init # once per project
corvee task add "Fix the flaky auth test" --description "..."
corvee task list -o json
corvee task claim TASK-1
corvee task update TASK-1 --state done # claim clears automatically
corvee fact add "requests is Apache-2.0 licensed" --proof "pip show requests"
corvee fact search "license" -o json
corvee explain prints a compact, agent-oriented cheat sheet from any
directory. See Quickstart for facts,
global scope, and the full core loop.
License
Contributing
See CONTRIBUTING.md for the development setup and the project's quality gate.