
Pmll Memory Mcp
io.github.drQedwardsPublished by GitHub account drQedwardsv0.1.1Updated Oct 27, 2026
PMLL Memory MCP — persistent KV context memory and Q-promise deduplication.
The publisher's own server: Memory.fit
Overview
Local stdio MCP server giving coding agents a session-scoped key-value memory cache plus a SQLite-backed long-term memory graph with semantic search.
- What you can do
- Initialize, peek, set, resolve and flush session-isolated short-term key-value memory with promise deduplication
- Create and update memory nodes and typed weighted relations, then search the graph semantically with neighbor traversal
- Prune decayed links, bulk-add interlinked context, and walk outward from a starting node
- Resolve context across short-term and long-term layers, promote entries to the graph, and view unified memory status
- Run GraphQL queries and mutations against the memory store (TypeScript build only)
- When to use it
- Useful when an agent repeats expensive tool calls or loses context between subtasks and you want a shared cache and persistent memory graph loaded alongside other MCP servers. Best suited to coding agents that can be told to check memory before costly calls.
- Requirements
- Runs as a local stdio process, launched via npx, a global npm install, pip, or Docker. The Docker setup uses a volume and the MEMORY_FILE_PATH environment variable for persistence. No accounts, API keys or headers are declared.
Installation
In SourceWeft
- Open Pmll Memory Mcp 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
PPM — Python Package Manager
pypm packaging CLI with shared PMLL memory + Q-promise. Sibling: drQedwards/pmll.
[CI] [License] [Version] [npm] [Sponsor]
Live Stellar pmll-anchor IDs: docs/STELLAR.md · skills: SKILL.md · promises: Q_promise_lib/README.md.
TL;DR: PPM packages Python (C CLI). Shared PMLL owns memory/state (
memory_silo_t, exactpeek+ semanticpeek_semantic, SAT bridge,init_pml). Q-promise owns temporal/control-flow (qpromise_*,libqpromise.so) — it does not replace the silo. Optional Stellar commitments hash off-chainCodeworkPayloads into 32-byte digests viapmll-anchor(ABI: init/store/get/bump). Companion packaging CLI + MCP memory server live in-tree.
PMLL provides durable structured memory for agent workflows, alongside a PPM packaging CLI (hermetic bundles, plugins, signing) and the PMLL Memory MCP server. Long-term graph tools adapt Context+.
Table of Contents
- Layers (post-merge)
- Features
- Building from Source
- CLI Commands
- GPU & Security Features
- Plugin System
- Configuration
- PMLL Memory MCP Server
- Stellar commitments
- Architecture
- Release Notes
- Roadmap
- Contributing & Sponsors
Layers (post-merge)
Two complementary layers — not substitutes for each other:
Q-promise does not replace the silo. A promise may reference a memory key (and optional SAT state id); results are committed back with silo_set / qpromise_resolve_commit.
Intended loop
Thread safety: the C Q-promise drain is single-threaded. Continuations run only during qpromise_drain() on the calling thread; callers must externally serialize access. Details: Q_promise_lib/README.md.
C core (PMLL)
Headers: PMLL.h · implementation: PMLL.c
Q-promise library
Build / test / API: Q_promise_lib/README.md (authoritative). Public symbols are qpromise_*; shared object is libqpromise.so. The old prototype (QMemNode / q_mem_* / memory-chain walker) is removed; Q_promises.h is a compatibility include redirecting to qpromise.h.
✨ Features
Road-mapped: SAT dependency solver (the standalone SAT.c CDCL solver exists but is not yet used for resolution), parallel wheel cache, workspaces with single lockfile,
WASM wheel resolution, Conda & Poetry import plugins.
🔧 Building from Source
System dependencies
- C11 compiler (
gcc,clang, or MSVC) libcurl(plugin downloads)libdl(dynamic loading — standard on Linux / macOS)tar/libarchive(optional, forpypylockbundles)
Build & first run
Q-promise shared library
Optional: CUDA-accelerated build
🖥 CLI Commands
Import packages
Project initialization
Dependency resolution & locking
Snapshot & rollback
Environment diagnostics
Sandbox
Hermetic packaging
🔐 GPU & Security Features
GPU-accelerated hash verification
GPU backend selection
Ed25519 cryptographic signing
Provenance & SBOM
🔌 Plugin System
Writing a plugin (C)
⚙️ Configuration
pypm.toml
Environment variables
🧠 PMLL Memory MCP Server
Persistent memory logic loop with short-term KV context memory, Q-promise deduplication, and Context+ long-term memory graph designed to improve context retention and retrieval for coding agents.
pmll-memory-mcp is a Model Context Protocol (MCP) server with complementary
short-term KV and optional long-term graph layers. Server construction prefers
MCPServer (mcp 2.x) and falls back to FastMCP (mcp 1.x) — see
mcp/pmll_memory_mcp/server.py.
Ground tool names in code: TypeScript (mcp/src/index.ts) has 15 tools including
graphql and names like create_relation; Python (mcp/pmll_memory_mcp/server.py)
has 14 tools (no graphql) with several longer names such as create_memory_relation.
A ctypes demo in Ppm-lib/pmll_mcp/ loads libqpromise.so via qpromise_*.
Memory layers:
- Short-term KV cache (5 tools) — session-isolated key-value memory with Q-promise deduplication, mirroring
PMLL.c::memory_silo_t. - Long-term memory graph (6 tools) — adapted from Context+ by @ForLoopCodes, providing a SQLite-backed property graph with typed nodes, weighted edges, temporal decay scoring (e^(-λt)), and semantic search via stable hashing embeddings.
- Solution engine (3 tools) — bridges both layers with unified context resolution (short-term → long-term → miss), auto-promotion of frequently accessed entries, and unified memory status views.
The server is designed to be the 3rd initializer alongside Playwright and other MCP tools — loaded once at the start of every agent task. Agents call init once at task start, then use peek before any expensive MCP tool invocation to avoid redundant calls. Frequently accessed entries are promoted to the long-term memory graph for semantic retrieval across sessions (SQLite-backed graph).
Tool counts differ by implementation (TS 15 incl. graphql; Python 14 — see note above). Historical docs below list the TypeScript tool surface.
Why it's a premium 3rd initializer
Modern Claude agent tasks routinely call Playwright, file-system tools, and other MCP servers. Without a shared memory layer, every subtask re-initializes the same context from scratch. pmll-memory-mcp eliminates this overhead with two complementary memory layers:
The peek() pattern
Before every expensive MCP tool invocation, agents call peek to check the cache:
Tools reference (15 tools)
Short-term KV memory (5 tools)
GraphQL (1 tool)
Long-term memory graph (6 tools — adapted from Context+)
These tools are adapted from Context+ by @ForLoopCodes, providing SQLite-backed semantic memory with graph traversal, decay scoring, and cosine similarity search.
Solution engine (3 tools)
Installation
Via npx (recommended — no install needed)
Via npm
Via pip (Python)
Claude Desktop / MCP config (claude_desktop_config.json)
NPX
Docker
VS Code MCP configuration
Add to .vscode/mcp.json (or open MCP: Open User Configuration from the Command Palette):
NPX
Docker
Docker
Companion servers & integrations
Full MCP server documentation: mcp/README.md
⚓ Stellar commitments (pmll-anchor)
Memory / codework payloads stay off-chain. Optional 32-byte SHA-256 commitments are live on Stellar mainnet via Soroban pmll-anchor (shared with drQedwards/pmll).
ABI unchanged: init / store / get / bump only — do not invent fields or contract IDs.
This PPM tree may not include the full pmll-anchor/ contract sources; typed payload is still mirrored as skill.ts.
Invoke docs / contract source: pmll/SKILL.md. Local summary: SKILL.md.
Admin: GBFOFCD3XDANQWSGMHKJJ2V3YXS2QQD7RNC4LMDBVNBTUJOQZ3RLSB3E · wasm hash 1b6ad9c574e0f5c9e39968f836a410c03adcf057afa93a63d2710bd30fdd53ba
Skills summary: SKILL.md · full invoke docs: pmll/SKILL.md
🏛 Architecture
Key components
📝 Release Notes
Post-merge (2026-08) — semantic silo + Q-promise
- PMLL C core: associative/semantic silo (
slots+ embeddings),peek+peek_semantic, SAT bridge,init_pmlassignments start at-1(undecided). - Q-promise evolved to
qpromise_*+libqpromise.so; prototypeQMemNode/q_mem_*API removed. - Stellar skills /
skill.tsaligned for off-chainCodeworkPayloadhashing into existingpmll-anchor(ABI unchanged). - MCP servers prefer
MCPServerwithFastMCPfallback; Q-promise MCP demos loadlibqpromise.so.
pypm 0.0.3-dev (25 Jun 2025)
New & Improved
Fixes
- CLI flags after sub-commands were occasionally skipped by
getopt→optind = 2before parsing. - Plugin loader returned success even when
dlsymfailed → now returns non-zero and closes handle. - Workspace scan no longer overwrites
cwdfor latergetcwd()calls.
Breaking changes
pypm versionis now a sub-command (not--versionflag).doctorexit codes can now be >1 (numeric issue count).
Migration (0.0.2 → 0.0.3-dev)
Known issues
- Windows build needs:
LoadLibraryW,_mktemp_s,bsdtar.exefallback (#22). pypylockrelies on shelltar;libarchiveport planned for 0.0.4.- WASI/Rust/OpenSSL checks are informational stubs only.
pmll-memory-mcp 1.0.1
- Version bump — bumped from 1.0.0 to 1.0.1 to fix PyPI publishing (1.0.0 already existed on PyPI).
- Updated project descriptions — PyPI and npm package descriptions now include "in Claude Sonnet/Opus agent tasks" to match the mcp/README.md tagline.
- README refresh — PPM README.md MCP section updated with full tool reference,
peek()pattern with TypeScript example, VS Code MCP configuration, and companion servers table from mcp/README.md.
pmll-memory-mcp 1.0.0
- Context+ integration — 6 long-term memory graph tools adapted from
Context+ by
@ForLoopCodes:
upsert_memory_node,create_relation,search_memory_graph,prune_stale_links,add_interlinked_context,retrieve_with_traversal. - Solution engine — 2 new tools + 1 status tool bridging short-term KV cache
with long-term memory graph:
resolve_context,promote_to_long_term,memory_status. - GraphQL tool —
graphqltool for flexible query/mutation access. - 15 total tools (5 short-term KV + 1 GraphQL + 6 long-term graph + 3 solution engine).
- Stable hashing embeddings (fixed dimension, no shared vocabulary) with cosine similarity search across the memory graph.
- Temporal decay scoring (e^(-λt)) on graph edges with automatic pruning.
- Auto-similarity linking (cosine ≥ 0.72) on bulk context additions.
- Unified context resolution path: short-term → long-term → miss.
pmll-memory-mcp 0.2.0
- Initial MCP Registry submission.
- Five tools:
init,peek,set,resolve,flush. - TypeScript KV store mirroring
PMLL.c::memory_silo_t. - Q-promise registry (historical); current C API is
qpromise_*/libqpromise.so. - Docker multi-stage image with persistent volume support.
- Companion Unstoppable Domains MCP server included in
mcp/unstoppable-domains/.
pypm 0.0.2 (25 Jun 2025)
Workspace autodetect, Doctor v2, Sandbox upgrade, Plugin add/run, pypylock -o.
Breaking: --version flag removed; doctor exits non-zero on issues.
pypm 0.0.1 (23 Jun 2025)
Initial proof-of-concept — single-file CLI with doctor, sandbox, plugin, and pypylock.
🗺 Roadmap
🤝 Contributing & Sponsors
Pull requests are welcome! Open issues and PRs at
https://github.com/drQedwards/PPM/issues
If you find PPM or pmll-memory-mcp useful, please consider supporting development:
[GitHub Sponsors] [Buy Me a Coffee] [CoinGecko Portfolio]
Built by Dr. Q Josef Kurk Edwards — making Python packaging fast, deterministic, and hackable, with a shared PMLL memory stack.
Source: README.md at commit e5cf8be
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% 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
Other Memory integrations

Memory.fit
fit.memoryOfficial publisher
Hosted Memory.fit server that lets an AI read your training, sleep, recovery and nutrition data and write back weekly plans, targets and meal plans.
pg.ddx.io: the PostgreSQL community's memory
io.ddx.pgOfficial publisher
pg.ddx.io: the PostgreSQL community's memory's hosted MCP server, published by pg.ddx.io; no sign-in required; Streamable HTTP; 29 tools.
var.gg Naming Memory
gg.varOfficial publisher
Remote MCP server that suggests and searches code identifier names from domain concepts in Korean, Japanese, Chinese, Vietnamese and English, and exposes ERD…

Counterparts
ai.counterparts
Local-first long-term memory for Claude Code and Claude Desktop: the assistant writes notes about you and your projects and recalls them in later sessions.

LAHZE - Persian AI Memory Platform
Published by GitHub account pedramgholizadeh
LAHZE - Persian AI Memory Platform's hosted MCP server; no sign-in required; Streamable HTTP; 13 tools.