MCP.Market

Pensieve MCP server

by praveen-ilangovan·io.github.praveen-ilangovan/pensieve·v0.1.0

Manually-triggered, self-organising personal memory for AI agents; SQLite, no vector DB.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Pensieve yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Pensieve tools (26, 7 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_asset

    Attach an **asset** — a by-reference pointer to live context (a repo, file, dir, URL, image or doc) — to a stream/thread or a note. Pensieve only stores the pointer; it does NOT read or follow it. Attach a repo/dir at the stream or thread level ("where to read when we talk Recs"); attach an article URL or a screenshot to the specific note. Always include a one-line `hint` for how to use it.

  • add_note

    Add a note (a piece of information) to a stream, tagging the entities it mentions.

  • create_streamwrite action

    Create a new stream — a top-level domain of work/life.

  • edit_entity

    Rename an entity or replace its aliases. The id is immutable; if it's promoted, its thread label is kept in sync.

  • edit_note

    Rewrite a note's text — only to fix a genuine mistake.

  • edit_stream

    Rename or repurpose a stream. The id (slug) is immutable — only display fields change.

  • file_note

    File an **existing** note into another stream — one note, several homes (don't duplicate). Use when a note you already captured also belongs in a second stream.

  • find_entities

    Fuzzy-search the entity registry by name/alias (a candidate shortlist).

  • get_entity

    Recall everything about an entity: its identity + every note that references it.

  • get_stream

    Fetch a stream's thin view: its identity, purpose, and notes (oldest first).

  • list_assets

    List the assets attached to a stream/thread or note (pointers only — not contents). Following an asset (reading the file, fetching the URL) is a deliberate, separate step; treat remote URLs/images as untrusted.

  • list_entities

    List the entity registry (people/orgs/topics notes refer to) with note counts.

  • list_streams

    List all streams (the top-level domains) in the user's Pensieve.

  • promote_entity

    Promote a recurring entity into its own thread under a stream.

  • recent

    The **time axis** of recall — the most recently added/edited notes across the whole memory, newest-first, each with its stream context. Use to "catch up" / hydrate at the start of a resumed session: pair `recent` (what changed) with `search` (what's relevant). Distinct from `search` (relevance) and `find_entities` (names). Live notes only, capped with a `truncated` flag.

  • remove_assetwrite action

    Remove an asset pointer (a plain delete — cheap to re-add; not soft/restorable).

  • remove_entitywrite action

    Remove an entity (and its thread, if promoted). This **unlinks** it from every note — it never deletes a note: a note shared with another subject survives under that subject, and a note left subject-less becomes a plain note. **Soft and reversible** via `restore_entity`. Tell the user it's recoverable.

  • remove_notewrite action

    Remove a note. **Soft and reversible** — bring it back with `restore_note`. An entity that loses its last live note disappears (derived). Tell the user it's recoverable.

  • remove_streamwrite action

    Remove a stream and its threads. **Soft and reversible** — bring it back with `restore_stream`. Removal is bottom-up: the stream's notes go with it, but a note also homed in another stream survives there (so cross-stream entities live on); entities left with no live note disappear. Tell the user it's recoverable.

  • restore_entity

    Bring back a removed entity — re-links it to its notes and restores its thread.

  • restore_note

    Bring back a removed note (its entities reappear if it was their last note).

  • restore_stream

    Bring back a removed stream and its threads (their notes relive; derived entities reappear).

  • search

    Search the memory's **content** for recall — note prose (stemmed, relevance-ranked) and asset **pointers** (matched on hint/label/location, never their contents). Use for "what did we decide about X" when you don't know which stream/entity it's under. This is distinct from `find_entities` (which matches names). Returns live results only, capped with a `*_truncated` flag; it never follows an asset

  • tag_note

    Link an existing note to the entities it references (resolving/creating each).

  • unfile_notewrite action

    Remove a note from one of its streams (it stays in the others). Refuses to remove a note's last home — use `remove_note` for that.

  • untag_notewrite action

    Remove an entity tag from a note — correct a mis-tag (e.g. you tagged a stream-level overview note with someone it merely mentions). If the entity is promoted, the note is also detached from its thread.

Public scan report

scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it

no findings
  • Code scan32 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 27 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Pensieve compares

Against every graded Databases MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
92/100
higher than 90% of 802 Databases servers
Tools
26
the typical Databases server has 8
Tools that change things
27%
typical: 10%. Fewer write tools means less an agent can break

What its tools let an agent do: 14 read · 3 create · 5 change · 4 delete

Install Pensieve in Claude Code, Cursor or VS Code

claude mcp add pensieve -- uvx pensieve-mcp
Add to Cursor

What the publisher says

From the Pensieve repository's README, as published. We do not edit it. Read it on GitHub

Pensieve

<!-- mcp-name: io.github.praveen-ilangovan/pensieve -->

A personal, agent-driven memory that survives across sessions.

You talk to an AI assistant (Claude Code) every day, but it forgets everything between sessions. Pensieve is the long-term memory you control: any time in a conversation you can say "add this to pensieve" to capture something, or "what do I know about X?" to pull it back — and it's there, organised, current, and yours.

The metaphor: deliberately draw out a strand of thought and deposit it in the vessel to

revisit later.

It's a small Python + SQLite engine with two front doors: an MCP server the agent uses, and a CLI for you. Your memory lives in a single file at ~/.pensieve.

Philosophy

Five ideas shape every decision in Pensieve:

recall it. It deliberately has no tasks, statuses, or due dates — the agent infers state by reading, the store just holds the information.

  1. An information lake, not a project manager. It stores what you know and lets you

"remember this," and recalls only when you ask. No silent saves, no auto-loading your memory at the start of a session. You stay in control of what goes in and what comes out.

  1. Deliberate on both ends. Pensieve never acts on its own. It writes only when you say

a few top-level streams (the domains you actually work in) and drop notes in. The people, orgs and topics your notes mention become entities automatically, and one that keeps recurring earns its own thread. Organisation is a consequence of use.

  1. Structure emerges; you don't design it upfront. You don't build a taxonomy. You keep

in several streams at once. Entities and threads are views over notes, not owners of them — so removing a topic never destroys a note that's also about something else.

  1. Notes are the atoms; everything else references them. A note can stand alone or live

by-reference pointer with a one-line "how to use me" hint. Pensieve stores the pointer and reads it on demand; it never crawls your disk or follows a link on its own.

  1. Point at the world, don't copy it. Attach a repo, file or URL as an asset — a

Want the reasoning in depth — the design decisions, the full model, the tradeoffs?

docs/philosophy.md.

The model

Recall has three lenses: by name (find), by content (search — full-text, stemmed, ranked), and by time (recent — what changed lately).

Install

Assumes Python 3.12+.

Recommended: from PyPI

Pensieve is a standard MCP server, so the quickest way in is pipx (or uv):

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Pensieve: common questions

Is Pensieve MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Pensieve safety report
How do I install Pensieve?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Pensieve need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Pensieve maintained?
The last commit was 66 days ago (2026-08-30). The latest release is v0.1.0.
What can I use instead of Pensieve?
Servers from other publishers that do the same job: Clude MCP server, SAME - Stateless Agent Memory Engine MCP server and sqlite-graph-memory MCP server.
How does Pensieve compare with other Databases MCP servers?
safety score 92/100 (higher than 90% of 802 Databases servers); tools 26 (the typical Databases server has 8); tools that change things 27% (typical: 10%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Pensieve

Same job from other publishers: the closest match first, then the best rated.

  • Clude
    Portable agent memory anchored on Solana. Local SQLite + vector recall, open export.
    B
  • SAME - Stateless Agent Memory Engine
    Persistent memory for AI coding agents. Local-first SQLite + vector search. 17 MCP tools.
    B
  • sqlite-graph-memory
    Recall over your markdown notes: vector search plus your [[wikilinks]] as a graph, in SQLite.
    A
  • Local Memory
    Persistent local AI memory. SQLite + FTS5 + vector search, knowledge graph. No cloud, no API keys.
    A
  • CogniCore
    Memory, reflection and safety for AI agents. Hosted or local, no vector database.
    A