Labsco
umitkavala logo

mindpm

โ˜… 8

from umitkavala

Persistent project & task management for AI coding assistants. Track tasks, decisions, and notes across sessions with a real-time Kanban board. Works with Claude Code, Cursor, Cline, Copilot, and Windsurf.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

mindpm

Persistent project memory for LLMs. Never re-explain your project again.

mindpm is an MCP (Model Context Protocol) server that gives LLMs a SQLite-backed brain for your projects. It tracks tasks, decisions, architecture notes, and session context โ€” so every new conversation picks up exactly where you left off.

The Problem

Every new LLM chat starts from zero:

  • "Let me remind you about my project..."
  • "Last time we decided to use Redis for..."
  • "Where did we leave off?"

The Solution

mindpm persists your project state in a local SQLite database. The LLM reads and writes to it via MCP tools. No chat history needed. No memory features needed.

You: "What should I work on next?"
LLM: [queries mindpm] "Last session you finished the auth refactor.
      You have 3 high-priority tasks: rate limiting, API docs, and
      the webhook retry bug. Rate limiting is unblocked โ€” start there."

What It Tracks

  • Tasks โ€” status, priority, blockers, sub-tasks
  • Decisions โ€” what was decided, why, what alternatives were rejected
  • Notes โ€” architecture, bugs, ideas, research
  • Context โ€” key-value pairs (tech stack, conventions, config)
  • Sessions โ€” what was done, what's next

Kanban Board

mindpm includes a built-in Kanban UI. When the MCP server starts, it serves a web interface at http://localhost:3131.

Every start_session call returns a direct link to your project's board:

Kanban board: http://localhost:3131?project=<project-id>

The port is configurable via the MINDPM_PORT environment variable.

MCP Tools

Projects

ToolDescription
create_projectCreate a new project
list_projectsList all projects
get_project_statusFull project overview

Tasks

ToolDescription
create_taskAdd a task
update_taskUpdate status, priority, etc.
list_tasksList with filters
get_taskFull task detail with sub-tasks and notes
get_next_tasksSmart: highest priority, unblocked

Decisions

ToolDescription
log_decisionRecord a decision with reasoning
list_decisionsBrowse decision history

Notes & Context

ToolDescription
add_noteAdd a note (architecture, bug, idea, etc.)
search_notesFull-text search
set_contextStore key-value context
get_contextRetrieve context

Sessions

ToolDescription
start_sessionGet full project context + last session's next steps
end_sessionRecord summary + what to do next time

Query

ToolDescription
queryRead-only SQL against the database
get_project_summaryTasks by status, blockers, recent activity
get_blockersAll blocked tasks with what's blocking them
searchFull-text search across everything

How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     MCP      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     SQLite     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Claude Code โ”‚ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ โ”‚ mindpm  โ”‚ โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ โ”‚ memory.dbโ”‚
โ”‚  / Desktop   โ”‚   tools      โ”‚ server  โ”‚   read/write   โ”‚          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
  1. You start a conversation and mention your project
  2. The LLM calls start_session โ†’ gets full context
  3. During the conversation, it creates tasks, logs decisions, adds notes
  4. When you're done, it calls end_session โ†’ saves what's next
  5. Next conversation: instant context, zero re-explanation

Storage

Default: ~/.mindpm/memory.db

Override with MINDPM_DB_PATH or PROJECT_MEMORY_DB_PATH environment variable.

Database and tables are created automatically on first run.

Development

npm install
npm run build       # Build with tsup
npm run typecheck   # Type-check without emitting
npm run dev         # Build in watch mode