projectmem MCP
A local memory MCP server for coding agents: records issues, attempts, fixes and decisions and warns before repeating a failed approach
- 880 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Runs a local server and stores project history on disk
Install
- Works in
Manual install
pip install projectmem
pjm initpjm init prints the MCP config block with your Python path; then restart the client.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Runs a local server and stores project history on disk
This is third-party code. Review the repository files before installing.
What it does
projectmem gives a coding agent a memory and judgment layer for a project. It records issues, attempts, fixes and decisions, then warns the agent when it is about to repeat an approach that already failed. One MCP server serves every project at once, with no root or working-directory binding. Everything is stored locally, with no cloud and no telemetry. Besides the server there is a set of pjm commands for init, search, briefs, a dashboard and context capture. It works with Claude Code, Cursor, Antigravity and Codex, installs from PyPI, and pjm init prints a ready config block with your Python path.
Who it is for. For developers who want a coding agent to remember a project's history and not repeat past mistakes.
Good fit when
- The agent repeats an approach that already failed
- You want to store decisions and attempt history per project locally
- You need shared memory across several projects
Not a fit when
- The agent does not need project history
- You cannot run a local server or store data on disk
Example request
Check the project memory whether we already tried this fix before repeating itMCP
- Transport
- stdio
- Authentication
- not required
Limitations
The server and data are local, with no cross-machine sync out of the box. It needs Python, and the config points to its path. The memory is only as useful as how carefully attempts and decisions are recorded. MCP servers load only on a cold client start.
How to disable. Remove the projectmem server from your MCP config and uninstall the projectmem package.
FAQ
Does data go to the cloud?
No, everything is stored locally, with no cloud and no telemetry.
Do I set up the server per project?
No, one server with no root binding serves every project, and pjm init prints a ready config block.
Discussion
No questions or reviews yet.
Related
MCP serversLocal memory for agents: stores conversations and project files verbatim and retrieves them with semantic search over MCP
An MCP server for a project memory bank: the agent stores and reads memory files through one service instead of inside the project
Membase keeps one shared memory for AI agents that Claude Code, Cursor and Codex read through MCP, an SDK or the membase command
A local-first MCP memory server for agents: session history, codebase index and a concept graph in one SQLite database
An MCP server that gives an agent memory across sessions, projects and machines: decisions, dead ends, preferences and skills
Local project memory for agents: constraints, decisions and lessons live in an evidence-backed tree and return before a task.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| projectmem (this card) | yes | not required | 880 | |
| Personal Model | no | not required | 1,341 | local memory for Claude Code |
| The Agent Guild | no | not required | 297 | guild keeps tasks |
| engrim | no | 305 | local project memory for coding agents |
README in short
The README describes projectmem as a local memory and judgment layer for coding agents: it records issues, attempts, fixes and decisions and warns before repeating a failed approach. One MCP server with no root binding serves every project, and data stays local with no cloud or telemetry. There are pjm commands for init, search and briefs. It installs from PyPI, and pjm init prints a config with your Python path. It works with Claude Code, Cursor, Antigravity and Codex. MIT licensed.