
Project Memory Mcp
Gives Claude a persistent memory layer for your codebase by reading and writing plain files in each project. Auto-loads AGENTS.md into context so the agent knows your stack and past decisions. Exposes tools to log bugs into issues.jsonl, search prior fixes across projects, append learnings, and save your corrections as remembered preferences. The proactive capture policy nudges the agent to record decisions and check for known issues before debugging, and an optional Stop hook blocks the turn end if real work happened but nothing was logged. Useful when you work across multiple projects and want the agent to remember what broke before, how you fixed it, and the workflow habits you've stated.
- GitHub stars
- 1
- tools
- 18
- transport
- STDIO
- env var
- 1
- last updated
- Jul 3, 2026
Tools
18 toolsPublic tool metadata for what this MCP can expose to an agent.
list_projectsread project memory
read project memory
No parameter schema in public metadata yet.
get_projectread project memory
read project memory
No parameter schema in public metadata yet.
search_memoryread project memory
read project memory
No parameter schema in public metadata yet.
append_decisionappend a dated bullet to AGENTS.md
append a dated bullet to AGENTS.md
No parameter schema in public metadata yet.
append_learningappend a dated bullet to AGENTS.md
append a dated bullet to AGENTS.md
No parameter schema in public metadata yet.
remember_preferenceturn a correction / stated habit into a remembered pattern (## Preferences in the root AGENTS.md for a global habit, or a project's for a local one); rides the auto-load, so it comes back next session
turn a correction / stated habit into a remembered pattern (## Preferences in the root AGENTS.md for a global habit, or a project's for a local one); rides the auto-load, so it comes back next session
No parameter schema in public metadata yet.
log_issuerecord a bug/problem → issues.jsonl
record a bug/problem → issues.jsonl
No parameter schema in public metadata yet.
search_issues"have we hit this before?" across all projects (field-scoped; optional tags filter)
"have we hit this before?" across all projects (field-scoped; optional tags filter)
No parameter schema in public metadata yet.
list_open_issuestrack / close bugs
track / close bugs
No parameter schema in public metadata yet.
resolve_issuetrack / close bugs
track / close bugs
No parameter schema in public metadata yet.
sync_registryreconcile the root AGENTS.md projects table with what's on disk (adds rows for new projects, flags stale ones)
reconcile the root AGENTS.md projects table with what's on disk (adds rows for new projects, flags stale ones)
No parameter schema in public metadata yet.
find_by_filegiven a file path, surface the issues + decisions/learnings that touch it ("why is this code like this?")
given a file path, surface the issues + decisions/learnings that touch it ("why is this code like this?")
No parameter schema in public metadata yet.
start_initiativetrack a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
track a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
No parameter schema in public metadata yet.
get_initiativetrack a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
track a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
No parameter schema in public metadata yet.
list_initiativestrack a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
track a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
No parameter schema in public metadata yet.
update_initiativetrack a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
track a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name
No parameter schema in public metadata yet.
check_instamp the start of the working day and hand back the previous day's standup summary composed from evidence harvested off disk
stamp the start of the working day and hand back the previous day's standup summary composed from evidence harvested off disk
No parameter schema in public metadata yet.
check_outstamp the end of the working day and record a standup summary composed from evidence harvested off disk (git commits, uncommitted WIP, memory writes, initiative progress)
stamp the end of the working day and record a standup summary composed from evidence harvested off disk (git commits, uncommitted WIP, memory writes, initiative progress)
No parameter schema in public metadata yet.
Sponsors
Configuration
PROJECT_MEMORY_ROOTAbsolute path to the folder that holds your projects (the memory root). Defaults to the parent of the script if unset, so set it when running via npx.
Readme
project-memory MCP server
A small, local MCP server that gives AI agents (Claude Code, Cursor, VS Code / GitHub Copilot, …) a shared, persistent memory of the projects in a code folder — what each project is, decisions made, and every bug/issue faced during development.
It is stateless: every tool reads/writes plain files on disk, so multiple clients (and multiple machines) share one source of truth.
The model
| Layer | Lives in | Auto-loaded into context? | For |
|---|---|---|---|
| Project memory | <project>/AGENTS.md | ✅ yes (via CLAUDE.md → @AGENTS.md) | identity, stack, run cmds, concise decisions/learnings — keep lean |
| Issue log | <project>/issues.jsonl | ❌ no | high-volume bug/issue history — fetched on demand |
Details
- Repository
- github.com/kaaustubh/project-memory-mcp
- Category
- AI & LLM Tools
- Package
@kaaustubh/project-memory-mcp- Transport
- STDIO
- Registry
- MCP registry, active