Provides a task orchestration and memory layer for AI coding agents to manage tasks, documentation, and project memory.
Also known as kryptobaseddev/cleo, cleo, @cleocode/cleo
- Stars
- 159
- Tools
- —
- Downloads, 30 days
- 9,860
- Latest version
- 2026.3.35
- Last commit
- Nov 14, 2026
- License
- MIT
What is CLEO MCP?
CLEO provides a task orchestration and memory layer for AI coding agents to manage tasks, documentation, and project memory.
Summary generated from the project's README
About CLEO MCP server
CLEO provides a structured orchestration and memory layer designed specifically for AI coding agents. It functions through a command-line interface where every command returns a JSON envelope, allowing any agent harness to process the output. The system manages complex work hierarchies including sagas, epics, and tasks with specific acceptance criteria. It ensures that work is only marked as finished when evidence like commits, test runs, or linting results are verified.
Beyond task management, the server maintains project intelligence through the Nexus symbol graph and a BRAIN memory system. This memory layer stores observations and decisions across different sessions to prevent agents from losing context. It also includes a specialized documentation management system to prevent information rot by maintaining a canonical store and checking for drift between documentation and code. Developers use the cleo CLI to initialize projects, manage sessions, and query documentation or code impact.
What you can do with it
- 1Manage complex task hierarchiesAn agent can create a saga and break it down into epics and specific tasks with acceptance criteria.
- 2Verify task completion with evidenceA developer can ensure a task is only closed once specific gates like CI or test runs are proven.
- 3Maintain long-term project memoryAn AI client can record observations and lessons learned to be retrieved in future sessions.
- 4Analyze code impact and dependenciesA developer can use the Nexus tool to understand the blast radius of a symbol before making edits.
- 5Prevent documentation driftThe system can identify when documentation has become outdated due to code changes.
Written from the project's README. Every use case is checked against a quote from it.
How to install CLEO MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall CLEO MCP in Claude Code
$ claude mcp add cleo -- npx -y @cleocode/cleoInstall CLEO MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"cleo": {
"command": "npx",
"args": [
"-y",
"@cleocode/cleo"
]
}
}
}Install CLEO MCP in VS Code
.vscode/mcp.json
{
"servers": {
"cleo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cleocode/cleo"
]
}
}
}Install CLEO MCP in VS Code CLI
$ code --add-mcp '{"name":"cleo","type":"stdio","command":"npx","args":["-y","@cleocode/cleo"]}'Install CLEO MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"cleo": {
"command": "npx",
"args": [
"-y",
"@cleocode/cleo"
]
}
}
}Install CLEO MCP in Codex
$ codex mcp add cleo -- npx -y @cleocode/cleoInstall CLEO MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.cleo] command = "npx" args = ["-y", "@cleocode/cleo"]
Install CLEO MCP in Gemini CLI
$ gemini mcp add -s user cleo npx -- -y @cleocode/cleoInstall CLEO MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"cleo": {
"command": "npx",
"args": [
"-y",
"@cleocode/cleo"
]
}
}
}Configuration
CLEO_PROJECT_DIRPath to CLEO project directory (must contain .cleo/ folder)
| Name | Description | |
|---|---|---|
| CLEO_PROJECT_DIR | Path to CLEO project directory (must contain .cleo/ folder) |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubCLEO
CLEO is the work, evidence, memory and docs layer for AI coding agents. Agents
(and you) drive it through one CLI, cleo <command>, and every call returns a
single JSON envelope on stdout, so any agent harness can read it. CLEO keeps
each change traceable from task to pull request to release, demands evidence
before a task counts as done, remembers what was learned across sessions, and
keeps documentation from rotting.
What it does
| Area | What you get | Start with |
|---|---|---|
| Tasks | Sagas, epics and tasks with acceptance criteria, dependencies and ready waves; sessions that survive interruptions | cleo add, cleo next, cleo focus <id> |
| Evidence | A task is done only when its gates are proven: commits and files, CI or test runs, lint and typecheck, linked to each acceptance criterion | cleo done <id> --plan |
| Pull requests | A PR names its tasks (Closes: T#### AC1,AC2); an independent reviewer records a verdict per criterion; merging on green CI closes the task |
cleo done --from-merge <pr> --dry-run, cleo review packet |
| Docs | One canonical home per doc, stable names, published mirrors and drift checks (see below) | cleo docs query, cleo docs update |
| Memory (BRAIN) | Observations, decisions and lessons kept across sessions and searchable | cleo memory observe, cleo memory find, cleo briefing |
| Code intelligence (Nexus) | A symbol graph of your repo: callers, blast radius, impact before you edit | cleo nexus analyze, cleo nexus impact <symbol> |
| Release | One command tags the newest commit on main with green CI and publishes from changesets | cleo release cut <version> --dry-run |
Run cleo <command> --help for the full flags of any command.
Quick start
npm install -g @cleocode/cleo
cd your-project
cleo init
cleo session start --scope global --name "first session"
# Work is a tree: a saga at the root, epics under it, tasks under those.
cleo saga create --title "Ship the auth hardening" --acceptance "login is rate limited|sessions expire"
cleo add "Auth hardening" --type epic --parent T001 --acceptance "rate limit shipped|session expiry shipped"
cleo add "Rate-limit the login endpoint" --parent T002 \
--acceptance "returns 429 after 5 failed attempts|a test covers the limit"
cleo next # what to work on
cleo focus T003 # identity, blockers, docs and memory for one task
Then do the work and close it.
- With a pull request (the normal path): work on a branch, open a PR whose
body says
Closes: T003 AC1,AC2, check it withcleo done --from-merge <pr> --dry-run, get a per-criterion review (cleo review packet <pr> --task T003, thencleo review verdict), and merge on green CI. The merge sweep records the evidence and closes the task. - Without a pull request:
cleo done T003 --plannames the evidence each gate needs; record it withcleo verify, thencleo complete T003.
Finish with cleo memory observe "<what you learned>" --title "<short title>"
and cleo session end --note "<handoff>". The next session starts with
cleo briefing.
Docs that don't rot
AI agents write a lot of documentation, and most of it rots. An agent that cannot find the existing doc writes a new one; names carry task ids and dates; two copies drift apart; nobody can tell which one is current. After a few months the docs folder is a pile of near-duplicates that agents keep extending.
CLEO Docs fixes this at the source:
- One canonical home per doc. The store is the source of truth; files in
docs/are published mirrors. Find before you write (cleo docs query "<topic>"), and update the existing doc (cleo docs update <slug>) instead of adding a second one.cleo docs addis for genuinely new docs. - Stable names. Every doc name and slug is lowercase kebab-case with no
task id, session id or date; task and decision links live in metadata. A CI
gate (
cleo check canon docs) refuses new violators. - One kind per folder.
docs/adr,docs/spec,docs/plan,docs/research,docs/guide,docs/concept,docs/reference,docs/migration,docs/releaseanddocs/note. - Drift is visible.
cleo docs statuscompares each published mirror with the store,cleo docs rotflags docs whose covered code changed after them, andcleo docs doctorrepairs the store. - Messy folders can be migrated.
cleo docs modernize <folder>plans a kind, a stable name and keep/rename/merge/delete for every file, and applies it with a receipt you can roll back.
The how-to is docs/guide/cleo-documentation-sop.md.
Packages
The CLI is @cleocode/cleo; it depends on the rest. The main packages:
| Package | Purpose |
|---|---|
@cleocode/cleo |
The cleo command-line interface |
@cleocode/core |
The SDK: tasks, sessions, evidence, docs, memory, orchestration, release |
@cleocode/contracts |
Shared types and operation contracts |
@cleocode/lafs |
The JSON envelope format every call returns |
@cleocode/nexus |
Code intelligence and the cross-project registry |
@cleocode/caamp |
Provider registry and agent package management |
@cleocode/adapters |
Provider adapters (Claude Code, Codex, Cursor, Gemini, Kimi, OpenCode and more) |
@cleocode/skills |
The ct-* skills that teach agents how to use CLEO |
@cleocode/cant |
The CANT agent-definition language |
Development
Requires Node.js >= 24.16.0 and pnpm.
git clone https://github.com/kryptobaseddev/cleo.git
cd cleo
pnpm install
pnpm run build
Repository rules (package boundaries, architecture gates, evidence) are in
AGENTS.md; see CONTRIBUTING.md to contribute.
Every change lands through a pull request that names its tasks; releases are
cut from main with cleo release cut.
The story of CLEO
CLEO began as one developer's refusal to keep losing the thread: powerful agents that forgot too easily, ambitious projects that died on the shelf. The Founding Story tells it from the builder's side, and The Awakening Story from CLEO's.
Support
If CLEO helps your workflow, consider supporting development:
License
MIT License - see LICENSE for details.
Star History
CLEO MCP questions
How do I add CLEO MCP to Claude Code?
Run claude mcp add cleo -- npx -y @cleocode/cleo in your terminal. Add --scope user to make it available in every project.
How do I add CLEO MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
How does CLEO handle documentation to prevent it from becoming outdated?
CLEO uses a canonical store as the source of truth, provides drift checks to compare mirrors, and flags documentation that has become out of sync with code changes.
How is task completion verified in CLEO?
Tasks are only considered done when evidence such as commits, test runs, or linting results are proven against specific acceptance criteria.
What kind of code intelligence does CLEO provide?
CLEO features a symbol graph called Nexus that allows agents to analyze callers, blast radius, and the impact of edits.