Skip to content
Agentmart
Submit a tool

Projectmem

Coding agent memory — one local MCP server for every project.

Connector by riponcm · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 865
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/riponcm-projectmem

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Coding agent memory — one local MCP server for every project. Warns before repeating failed fixes.

Use cases: agent-memory, debugging

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
12 read · 4 write · 0 delete · 1 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 17

Read from the source code; the running server may list different tools.

Read 12 · Look things up without changing anything.

  • current_project
  • get_context
  • get_global_gotchas
  • get_instructions
  • get_issue
  • get_plan
  • get_project_map
  • get_score
  • get_summary
  • list_projects
  • precheck_file
  • search_events

Write 4 · Create, change, send or run things.

  • add_decision
  • add_note
  • record_attempt
  • record_fix

Not yet classified 1 · We could not tell from the name and description.

  • log_issue

Files it touches

  • Any path the agent passes to its tools

Tools (17)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_decision

    Record an architectural or product decision permanently. Call when you make a choice that future sessions or contributors should know about. Decisions show up in `summary.md` and in `pjm wrap` context blocks. Side effects: appends a `decision` event and updates summary.md. Decisions are append-only — to revise, pass `supersedes` with the old decision's event id instead of editing history.

  • add_note

    Record a gotcha, setup detail, or other durable context. Use when you discover something important that doesn't fit as an issue or decision. Notes survive across sessions and appear in wrap context blocks. Side effects: appends a `note` event. Notes prefixed `gotcha:`, `lesson:`, or `warning:` are eligible for auto-promotion to ~/.projectmem/global/ for cross-project recall (L-046).

  • current_project

    Show which project a call would resolve to, without writing anything. Use this before a write when several projects are in play — it answers "where would this land?" cheaply. Read-only.

  • get_context

    Generate a token-budgeted memory context block. Use when you don't want to read the full summary. ``focus`` (e.g. 'src/auth/') biases the context toward a specific area. Read-only; assembles a freshly-budgeted context block from events.jsonl.

  • get_global_gotchas

    Query cross-project library gotchas from ~/.projectmem/global/. Returns lessons learned in past projects that apply to the libraries you're about to use. Call whenever working with an unfamiliar library or starting a new feature. Read-only. Reads from ~/.projectmem/global/ (cross-project memory, not this repo's .projectmem/).

  • get_instructions

    Read the project's mandatory AI instructions. MANDATORY: call this at session start. The instructions describe the workflow rules you MUST follow while working in this project — they are not advisory. Read-only; does not modify memory.

  • get_issue

    Read one specific issue's full history by ID (token-efficient). Use this when you only need one issue's context instead of the whole summary. Example: get_issue('0042'). Read-only.

  • get_plan

    Read plan.md — the project's INTENT file (ideas + plans). Call this at session start alongside get_summary(). plan.md records what the team MEANS to do (ideas, active plans, next steps) — distinct from the event log, which records what HAPPENED. When the user shares an idea or a plan, edit plan.md directly (add a bullet, check items off, move done work to Shipped); do NOT log plans as events. Read-only. Returns 'No plan found.' if plan.md hasn't been initialized.

  • get_project_map

    Read PROJECT_MAP.md to understand the repo structure. Call this at session start when structure matters (file layout, entry points, ownership). Cheaper than scanning the filesystem. Read-only. Returns 'No project map found.' if PROJECT_MAP.md hasn't been initialized — run `pjm init` first if so.

  • get_score

    Get the project's failure-prevention score. Returns an A+→F grade with concrete ROI numbers: debugging hours saved, tokens prevented, dollars protected. Use when the user asks about progress or value. Read-only; computes the score from events.jsonl on each call.

  • get_summary

    Read the project memory summary. MANDATORY: call this BEFORE answering ANY question about the project. Do NOT answer from conversation history alone. Do NOT re-scan source files (package.json, README, src/) to understand the project — `summary.md` is the distilled authoritative source and stays bounded as the project ages (typically a few hundred to ~1,500 tokens), far less than re-deriving it. Your prior assumptions about this project may be stale. Call this cheaply at session start (and again before ending) to verify your work is recorded. Read-only; does not modify memory or trigger eve…

  • list_projects

    List the projects this server can reach, and which one is active. Call this when a tool answers "No project selected", or when you need the exact name to pass as `project`. Read-only; touches no project memory.

  • log_issue

    Open a new issue. Returns the issue ID. MANDATORY: call this IMMEDIATELY when you encounter a bug, regression, or unexpected behavior — BEFORE writing fix code. Logging up-front means the issue survives interruptions and session boundaries. Side effects: appends an `issue` event to .projectmem/events.jsonl, creates an issue file in .projectmem/issues/, updates summary.md, and marks this issue as the active one for subsequent record_attempt calls.

  • precheck_file

    Check a file's failure history BEFORE modifying it. MANDATORY: call this BEFORE proposing any change to a file. Surfaces failed past approaches, unresolved issues, and high churn so you don't repeat known dead-ends. Cheap (~100 tokens) and prevents expensive re-debugging cycles. Read-only; does not modify memory.

  • record_attempt

    Record a fix attempt on the current issue. MANDATORY: call IMMEDIATELY after each distinct fix attempt — do NOT batch multiple attempts into one call. `outcome` must be 'worked', 'failed', or 'partial'. Pass `issue_id` explicitly to attach to a specific issue; otherwise the attempt attaches to the active issue. If no active issue exists, an implicit parent issue is auto-created from this attempt's text (L-008). Side effects: appends an `attempt` event and updates the issue file. Does NOT close the issue — call record_fix for that.

Show 2 more tools
  • record_fix

    Record a confirmed fix and close an issue. Only call AFTER you have evidence the fix works: test passes, error is gone, or the user confirmed. If `issue_id` is provided, the fix is attached to that specific issue. If `issue_id` is omitted, the active issue is closed. Side effects: appends a `fix` event and updates summary.md. The active-issue marker is cleared only when the active issue is the issue being fixed.

  • search_events

    Plain-text search across all logged events. Token-efficient alternative to get_summary when you only need events matching a keyword. Returns matching event summaries with type and timestamp. Read-only. Case-insensitive substring matching against each event's summary and notes. Empty result returns a friendly message, not an error.

Compare and alternatives

    Featured in

    Signals

    Stars
    865
    Forks
    52
    Open issues
    2
    Contributors
    7
    Weekly downloads
    689
    Last commit
    Oct 3, 2026 (26 days ago)
    Last release
    Oct 2, 2026 (26 days ago)
    Last package publish
    Oct 2, 2026 (26 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.riponcm/projectmem
    Version
    0.3.4
    Auth
    No auth
    Packages
    pypi projectmem
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    Projectmem MCP server. Agent Mart. https://agentmart.dev/connectors/riponcm-projectmem (last updated 2026-10-24)