Labsco
MCP SERVER

Roampal Core

by roampal-ai

Persistent memory for a coding assistant that is scored by outcome: advice that worked gets promoted, advice that did not gets demoted.

Agent Memory
Summary
Memory with a feedback loop attached, which is the difference between a store that gets better and one that just gets bigger.

Most memory servers write everything down and retrieve by similarity; here each exchange gets an outcome score, and that score decides whether a memory is promoted to a proven pattern or allowed to expire. The injection happens ahead of your message through hooks or a plugin, so the loop runs without you calling a tool, and the whole thing stays on your machine on CPU.

What it is

A local memory server for Claude Code and OpenCode. Context is injected before the model sees your message, and each exchange is scored afterwards, so the store improves rather than just grows.

What you get
  • Relevant memories injected automatically ahead of your message — no tool call, no change to how you work
  • Five collections with different lifetimes: working context for the session, history kept 30 days and outcome-scored, patterns that persist while they keep proving useful, a permanent memory bank for identity, preferences and goals, and uploaded reference docs
  • Promotion and demotion driven by what actually happened, so a solution that worked moves into patterns and a bad suggestion sinks
  • Deep search across every collection, and tools to add permanent facts, correct an existing memory, delete one that has gone stale, or record the takeaway from a significant exchange
  • Two scoring paths: on Claude Code the main model scores each exchange through a tool; on OpenCode an independent sidecar reviews it as a third party, which takes self-assessment out of the loop
  • Retrieval built for precision — tags-first search with cross-encoder reranking — running entirely on CPU
  • Named memory profiles, so separate bodies of memory can be kept apart
Requirements

Python 3.10+, and either Claude Code or OpenCode as the client. Installed from PyPI as roampal, then roampal init detects the tools you have and wires them up. Runs on Windows, macOS and Linux, on CPU only — no GPU — but wants roughly 800MB of RAM for the reranker, embeddings and ChromaDB, and about 500MB of disk for models fetched on first use. Scoring on OpenCode stays off until you configure a model with roampal sidecar setup; a small local model is enough.

Setup effort

One command — pip install roampal