
darwin-memo
io.github.rogermscPublished by GitHub account rogermscv0.7.1Updated Oct 24, 2026
Self-curating agent memory kept honest by survival-based selection over measured outcomes.
The publisher's own server: Darwin
Overview
A local MCP server that gives coding agents a persistent, self-curating memory of repository lessons tied to measured task outcomes.
- What you can do
- Query stored repository lessons and open a ticket before starting a task, then add new lessons learned from the work. Inspect lessons, their settlements and removal reasons through the dashboard and inspection tools. Retention is managed by the host: outcomes move bounded energy balances, upkeep ticks remove or merge entries, and pinning exempts a lesson. Settlement associates outcomes with consulted lessons rather than proving causation.
- When to use it
- For Python repositories using pytest and GitHub Actions where you want an agent to carry repository lessons across tasks and see which lessons survive based on reported outcomes. Best suited to teams willing to run the generated workflow and commit the bound store with changes.
- Requirements
- Runs locally over stdio, typically via uvx from PyPI. Python 3.10 or later; the MCP extra is optional. Persistence needs POSIX advisory locks on a local filesystem, so Windows and shared network stores are unsupported. The DARWIN_MEMO_PATH environment variable sets the memory file location (default ~/.darwin-memo/memory.json). Building the dashboard needs npm.
Installation
In SourceWeft
- Open darwin-memo 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
darwin-memo
Measured memory for coding agents. Keep repository lessons, connect them to reported task outcomes, and inspect why each lesson stays or is removed.
Start with Python projects using pytest, GitHub Actions, and an MCP client. The core uses only the Python standard library. MCP support is an optional extra.
The product goal is lower total operating cost while preserving task success. That benefit is not established by the committed experiments. A smaller memory store or a larger energy balance is not a savings measurement.
See the mechanism in 60 seconds
From this reviewed checkout:
The demo uses a filesystem-backed simulation: file deletion uses file size, and protected-file recreation incurs a modeled penalty of three times that size. It does not measure restoration scratch space, I/O cost, or money. Open a lesson in the dashboard to inspect its settlements and removal reason.
To try the coding workflow with a real failing evaluation, use the fixed pytest example. Its authentication-retry defect changes one fixed case from failure to success. The example demonstrates settlement; it does not establish that memory caused the fix.
Install the development workflow
The init and task commands in this checkout are unreleased. Install them from
the reviewed checkout on Python 3.10 or later:
Build the dashboard from this checkout before packaging it:
Persistence requires POSIX advisory locks on a local filesystem. Windows and shared network stores are unsupported; the package refuses lockless persistence.
Connect one repository
- Run
darwin-memo init --profile github-pytestat your repository root. - Configure your MCP client using
.darwin-memo/mcp.example.json. - Add a repository lesson and query memory before a task.
- Bind the returned ticket to the repository, task, base commit, and fixed evaluation.
- Complete the task and commit the bound store with your changes.
- Run the generated GitHub Actions workflow against that task commit.
- Download its outcome artifact and carry the accepted store forward.
- Open the dashboard to inspect the reported outcome and retained lesson.
The GitHub pytest guide includes setup
requirements and the generated operating instructions.
init refuses overwrites and changes no global agent settings. The recommended
MCP configuration exposes query, add, and inspection while reserving settlement
and retention mutations for the host. It reduces accidental self-awarded credit;
it does not protect against a malicious actor with write access to the store,
evaluation, or workflow.
The workflow compares the same base evaluation at both commits. Added passing tests earn no credit. Green-to-green results earn zero. Missing observations or infrastructure failures abstain and leave the ticket pending. Bound settlements record repository, task, commit, run, evaluation fingerprint, and report hashes. Process one task at a time: independent Git snapshots do not merge.
Understand retention
A query retrieves lessons and opens a ticket. A later outcome moves the consulted lessons' bounded energy balances. Ticks charge upkeep; entries that reach the floor are removed, and similar entries can merge. Pinning exempts a lesson from removal and consolidation. The glossary explains the terms.
Settlement associates outcomes with consulted lessons. It does not establish
causation. Passing tests are observable outcomes, not physically conserved
resources. ci, operator, and agent identify reporting paths. Historical
measured labels are caller claims; absent provenance is unknown. None of these
labels authenticates a report by itself.
CLI, dashboard, and MCP mutations lock the full load–modify–save operation. MCP reloads on each call, cached embeddings survive unrelated writes, and stale Python writers are rejected. Retry the whole operation after contention. See the store format and API reference.
Inspect the evidence
Reconstruct the paper's central table without an installation or network:
The paper, Attacking the Curator, focuses on the feedback-corruption threat model, curator comparisons, and a reusable reproduction artifact. Historical replays remain replays. Read the claim audit, reproduction paths, and submission status.
Limitations and participation
Memory can be harmful, useful lessons can starve, and an attacker who controls enough outcome reports can control retention. A fixed evaluation can still be incomplete or gameable. The threat model defines the boundary. If no memory performs best in the cost study, the release will report that result.
Other integrations remain available; the GitHub pytest profile is the supported first-release path. Report setup failures with the diagnostic issue template, or choose a bounded contributor task. Release promotion, participant contact, paid experiments, and submission remain separate authorized actions.
Source: README.md at commit 0f8209d
Tools
0Version history
1- v0.7.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 Darwin integrations
Darwin
so.darwinOfficial publisher
Darwin lets an assistant search for AI agents, inspect their operations, and coordinate multi-step work through them, including authentication and payment…

Darwin-owned Public Sources
Published by GitHub account darwin-studios
Remote MCP server that lets an assistant fetch public HTML, Markdown, text or JSON documents from an approved list of official hosts, with provenance.

Darwin-owned Files
Published by GitHub account darwin-studios
Free offline file conversions and bounded DOCX text extraction. Supplied bytes; no network.

Darwin-owned AntV Charts
Published by GitHub account darwin-studios
Darwin-hosted AntV bar, column and line charts, plus bounded CSV bar charts. Free PNG output.

Australia/Darwin clock
Published by GitHub account sadri-dridi
Remote MCP server whose headline tool returns the current local time in Australia/Darwin, bundled with assorted small time, URL, and validation helpers.