Local-first AI coding memory layer capturing issues, attempts, fixes, and decisions with pre-commit warnings to avoid repeated mistakes.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Projectmem.
๐ v0.3.2 is out โ Windows support for the file watcher, and a doctor that notices when a fix gets undone. See what changed โ
We don't make AI smarter. We make it experienced.
Coding agent memory โ the local-first memory + judgment layer for AI coding agents. One MCP server for every project. Save up to 50%+ of AI tokens. Stop repeating yesterday's bug.
Website โข Guide โข Demo โข Changelog โข Paper
pjm visualize โ every case your project solved, what failed on the way, and what it saved. Generated locally from .projectmem/events.jsonl.
๐ Start here โ five minutes, once
Five minutes if you follow along here. Want to be shown instead โ every command, the exact output it prints back, and the dashboards at the end? Take the complete setup guide.
New to projectmem, or upgrading from 0.1.x / 0.2.x? Since 0.3.0 one MCP server serves every project, so this is the last time you configure anything.
1. Install or update
2. Find the projects you already have
It looks where code lives โ
~/Developer,~/code,~/projects, your cloud folders, and every drive on Windows โ and lists projects with memory that aren't registered yet. Anything it missed, add by hand:3. Register them
4. Point your AI at all of them with one config
No
--root, nocwdโ that's what makes it serve everything. Per-client instructions (Claude Desktop, Claude Code, Cursor, Antigravity, Codex) are in MCP Integration;pjm initprints this block with your own Python path filled in. Then fully restart the client โ MCP servers only load on a cold start.5. Check your work
Add
--onlineif you also want it to tell you when a newer projectmem is out โ projectmem makes no network calls otherwise, and--autoturns that into a once-a-day check if you prefer.Run it again after editing the config. It flags any client still pinned to a single repo โ the most common reason a new project is invisible to your agent.
All green? You're done. From here on it is one command per repo:
Your agent reads what the project already learned instead of rediscovering it, and writes down what it finds. Fewer tokens, no repeated dead ends, memory that outlives the session.
Coding agent memory is a persistent record of what happened while building a project โ the issues hit, the approaches attempted, the fixes that worked and the decisions made โ stored so an AI coding agent can read it at the start of a new session. Without it every session begins from zero.
projectmem is an open-source agent memory layer built for that job. It is
local-first: memory lives in a plain .projectmem/ directory inside your
repository, with no cloud, no account and no telemetry โ the only network call
it can make is an update check you turn on yourself. A native MCP server
exposes 17 tools to Claude Code, Claude Desktop, Cursor, Antigravity and Codex,
so your agent reads memory and logs its work on its own.
Unlike chat-history memory tools, projectmem stores typed events โ issues, attempts, fixes, decisions, notes โ which is what makes the one thing no other tool does possible: a pre-commit warning that fires before you repeat an approach that already failed.
Full screen-recorded tutorial- watch on YouTube
| Doc | What's in it |
|---|---|
| Complete setup guide | The full walkthrough on the web โ install, MCP setup per client, pjm doctor, your first logged issue, and both dashboards. Every terminal output is captured from a real run. |
| TUTORIAL.md | 15-minute step-by-step walkthrough โ set up projectmem on your own project, watch the lifecycle, see the pre-commit warning fire. |
| CHANGELOG.md | Release history. Latest: v0.3.2 โ the file watcher works on Windows, and pjm doctor spots a config fix that got reverted. |
| Research paper (arXiv:2606.12329) | PROJECTMEM: A Local-First, Event-Sourced Memory and Judgment Layer for AI Coding Agents โ the peer-readable version: design, Memory-as-Governance framing, capability comparison, and the 207-event dogfooding study. |
| LICENSE | MIT |
Every new AI session starts from zero. Claude, Cursor, Aider โ they all forget yesterday's decisions, repeat failed debugging attempts, and burn millions of tokens reconstructing context from raw source files.
The model isn't the problem. The architecture is. Stateless models need a memory cortex.
projectmem is the local-first memory + judgment layer that sits above your AI tools. It captures every failed attempt, decision, and gotcha โ then injects that experience back into future AI sessions. Git tracks what changed. projectmem tracks why it changed, what was tried, and what failed.
First time here? โ The complete setup guide walks the whole path end to end: install, connecting Claude Desktop, Claude Code, Cursor, Codex or Antigravity, checking it with
pjm doctor, and reading your memory back through the dashboards โ with the real terminal output at every step.
Three commands to a project that remembers:
That's it. pjm init installs three git hooks (pre-commit warnings, post-commit classification, post-merge tracking), auto-starts a real-time file watcher, inherits cross-project memory if available, and creates .projectmem/. Capture is active from minute one.
The canonical command is
projectmem. Apjmalias is installed for speed.
pjm watch --daemon crashed on Windows with AttributeError: module 'os' has no attribute 'fork'. It now spawns a detached worker instead of forking, so
background watching works on every platform.
Fixing that uncovered a second bug hiding behind it. Liveness was checked with
os.kill(pid, 0) โ a POSIX idiom that does not port, because on Windows
os.kill routes to TerminateProcess and signal 0 is not a check at all. The
watcher could not be seen or stopped there, and each pjm watch --daemon leaked
another process. Both are fixed.
Windows daemon support was contributed by @medium-effort (#13).
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No 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/riponcm-projectmem)<a href="https://allmcps.com/mcp/riponcm-projectmem"><img src="https://allmcps.com/api/badge/riponcm-projectmem?style=directory" alt="Projectmem on AllMCPs" /></a>