
Pensyve
io.github.major7appsPublished by GitHub account major7appsv5.0.0Updated Oct 30, 2026
Universal memory runtime for AI agents — episodic, semantic, and procedural memory.
Overview
Pensyve is a local memory runtime that gives an AI assistant persistent memory of facts, conversations, observations and action outcomes across sessions.
- What you can do
- Store facts about users, projects and named entities, and record conversations as episodes
- Search memories by text matching, embeddings and relationships between entities
- Record observations and action outcomes, and consolidate repeated facts to adjust retention
- Inspect stored memory through a dedicated inspection tool
- Keep everything in local SQLite storage, or share a store through a self-run HTTP gateway
- When to use it
- Useful when you want a coding agent such as Claude Code, Cursor or Codex to remember preferences, project facts and past outcomes between sessions, or when you want a self-hosted memory layer for your own agent code.
- Requirements
- Runs as a local stdio process, typically via the published container image or by building the Rust server (Rust 1.94 or newer) from the repository. A namespace is set through the PENSYVE_NAMESPACE environment variable. No account or API key is needed for local use; embedding models may download on first load unless cached.
Installation
In SourceWeft
- Open Pensyve in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Pensyve
[CI] [License: Apache 2.0] [Python 3.10+] [Rust 1.94+]
Pensyve is an open-source runtime for persistent AI agent memory. It stores facts, conversations, observations, and action outcomes so an agent can retrieve them in later sessions. You can use it through Python, a Model Context Protocol (MCP) server, a command-line tool, or a REST API.
The Rust engine uses SQLite for local storage and runs embedding models locally to search by meaning. TypeScript and Go clients connect to a gateway you run yourself. Local use does not require a Pensyve account or API key. Your application or client integration calls Pensyve to save and retrieve memories.
Choose a setup
Project status
Pensyve Cloud closed on October 1, 2026. The open-source project continues in this repository under the Apache 2.0 license, with the engine, SDKs, integrations, and documentation available here.
Pensyve is in maintenance mode. Releases cover security fixes and dependency updates, with no new features planned. See the maintenance policy for contribution and support expectations. If you have a saved Cloud export, the self-hosting guide explains how to use it with your own gateway.
What you can do
- Store facts about users, projects, or other named entities, and record conversations as episodes.
- Search memories using text matching, embeddings, and relationships between entities.
- Record observations and action outcomes, and use consolidation to promote repeated facts and update memory retention.
- Keep data in local SQLite storage, or run the HTTP gateway with SQLite or PostgreSQL.
Embedding models may download when first loaded unless they are already cached. Running without network access requires preparing the model files first. See the model setup and deployment guide.
How agent memory works
Pensyve stores memory outside the language model. Your application saves facts or conversations, searches for relevant records, and adds the results to a later prompt. Reusing the same storage path and namespace lets the agent retrieve information across processes and sessions. Saving a memory does not train the language model or change its weights.
The store holds four kinds of records: facts (semantic memory), conversations (episodic memory), action outcomes (procedural memory), and observations. Your integration decides what to record and when to retrieve it. Recording a conversation does not automatically turn it into a successful procedure. See how storage and retrieval work and the usage recipes for the APIs and their limits.
Python quick start
Python 3.10 or newer is required.
Create a local store, save a fact, and retrieve it:
Reuse the same path and namespace in a later process to retrieve saved memories. The Python SDK runs the engine in your process and does not need the HTTP gateway.
You can also record a conversation with the same p and user:
recall_grouped() groups results by source session for use in an agent's
prompt. See the Python SDK guide and
recipes for more examples.
MCP server
Pensyve's local MCP memory server lets clients such as Claude Code, Codex, and Cursor store and retrieve memories across sessions. From a checkout of this repository, install the server with Rust 1.94 or newer:
Make sure Cargo's binary directory is on your client's PATH, then add a
stdio server entry to its MCP configuration:
The server provides tools such as pensyve_remember, pensyve_recall,
pensyve_observe, and pensyve_inspect. It stores data locally and needs no
API key. The configuration file location depends on your client. See the
MCP setup guide and
integration guides.
HTTP gateway
Run the gateway to access Pensyve over REST or MCP HTTP, including from the TypeScript and Go SDKs. From the repository root, start a local instance:
In another terminal, save and recall a fact:
The MCP HTTP endpoint is http://localhost:3000/mcp. Use the same API key in
your client's Authorization: Bearer header.
The example key is for local testing. For a deployment, choose your own key
with the required psy_ prefix and configure HTTPS and allowed hosts. See
the self-hosting guide,
gateway configuration, and
security documentation.
SDKs and integrations
The TypeScript and Go SDKs require a running gateway. Configure its URL and, when authentication is enabled, an API key from that gateway.
Command-line tool
From the repository root, install the CLI and inspect its commands:
The binary is named pensyve. Its default output is JSON, and --format text
selects text output. The CLI uses its own default local storage location;
it does not automatically open the ./memories directory from the Python
example. See the CLI source and command definitions
for storage and namespace options.
Documentation
Development and contributions
Start with CONTRIBUTING.md for prerequisites and setup. From the repository root:
make build compiles Rust and builds the Python extension. make check
runs the Rust and Python lint and test commands. TypeScript and Go have
separate checks documented in the contribution guide.
Issues and pull requests follow the maintenance policy. Report security issues through private vulnerability reporting.
License
Pensyve is licensed under Apache 2.0.
Source: README.md at commit d2c56fa
Tools
0Version history
2- v5.0.0LatestOct 1, 2026
- v4.0.0Sep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.