Show HN: Memro – Persistent Memory for Claude Code, Cursor and Codex Memro launched as a source-available project under the PolyForm Noncommercial License 1.0.0, giving AI coding agents such as Claude Code, Cursor and Codex persistent memory across sessions through a Go API server, Python, JavaScript/TypeScript and Go SDKs, a Model Context Protocol server and a CLI. The system stores agent identity and memory in PostgreSQL 16 with pgvector and combines vector cosine similarity with full-text keyword search via Reciprocal Rank Fusion; commercial use requires a Memro Cloud subscription or an enterprise license. The v0.1.0 release ships pinned container images (ghcr.io/memrohq/memro:0.1.0 and memro-dashboard:0.1.0) verifiable with Cosign, with the API on port 8081, dashboard on 5173 and Postgres on 55432. Give your AI agents persistent memory across sessions: agent identity, memory storage and hybrid retrieval through an API, SDKs and MCP. License Source Available Memro is licensed under the PolyForm Noncommercial License 1.0.0 https://github.com/memrohq/memro/blob/main/LICENSE . Free for Non-Commercial Use : Personal study, experiments, hobby projects, research, and testing without commercial application. Commercial Use : Using Memro for commercial products or production services requires a managed subscription on Memro Cloud https://memro.co or an enterprise commercial license. How to Get a Commercial License : Visit memro.co/pricing https://memro.co/pricing or contact licensing@memro.co . Repository Notice : github.com/memrohq/memro is the single public repository for Memro. It contains the Go server, official SDKs Python, JavaScript/TypeScript, Go , Model Context Protocol MCP server, and the CLI. 1. Connect installed agent tools via device login: npx memro-cli connect 2. Check connection status: npx memro-cli status In your assistant, say: "Remember that our primary database is PostgreSQL 16 with pgvector." Restart your session and ask: "What database and extensions do we use?" Run the full Memro API server and PostgreSQL with pgvector on your own infrastructure: git clone https://github.com/memrohq/memro && cd memro cp .env.example .env add OPENAI API KEY for hybrid search; set METRICS TOKEN docker compose up -d API on :8081, dashboard on :5173, Postgres on 127.0.0.1:55432 curl http://localhost:8081/health curl -fsSL https://raw.githubusercontent.com/memrohq/memro/v0.1.0/docker-compose.release.yml -o docker-compose.yml && docker compose up -d curl http://localhost:8081/health Note: The prebuilt image one-liner downloads docker-compose.release.yml with pinned ghcr.io/memrohq/memro:0.1.0 and ghcr.io/memrohq/memro-dashboard:0.1.0 images, available once v0.1.0 is published. - Backend API : http://localhost:8081 - Dashboard : http://localhost:5173 - Postgres Database : Port 55432 on localhost Option 1 clone to avoid port 5432 collisions with existing local Postgres setups. - Metrics Token : Set METRICS TOKEN min 32 characters in .env to protect GET /metrics and GET /stats/cache ; the server logs a warning if unset. - Verify Signatures : Verify published container images keylessly using Cosign: cosign verify ghcr.io/memrohq/memro:0.1.0 \ --certificate-identity-regexp 'https://github.com/memrohq/memro/' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com For complete deployment options, production topologies, and configuration tables, see docs/self-hosting.md https://github.com/memrohq/memro/blob/main/docs/self-hosting.md . ┌──────────────────────────────────────┐ │ Clients & MCP Tools │ │ Claude Code · Cursor · Codex · SDKs│ └──────────────────┬───────────────────┘ │ HTTP REST / Stdio MCP ┌──────────────────▼───────────────────┐ │ Memro API Go │ │ Sovereign Ed25519 Identity · RRF │ └──────────────────┬───────────────────┘ │ SQL & Embeddings ┌──────────────────▼───────────────────┐ │ PostgreSQL 16 + pgvector │ │ pgvector Dense Search + tsvector FTS│ └──────────────────────────────────────┘ Memro runs a Go HTTP API backed by PostgreSQL and pgvector. Search queries combine vector cosine similarity and full-text keyword search using Reciprocal Rank Fusion RRF, memrohq/memro holds all components in one mono-repository: | Path | Description | Documentation | |---|---|---| | server/ https://github.com/memrohq/memro/blob/main/server | Go API server, PostgreSQL + pgvector engine | Self-Hosting Guide https://github.com/memrohq/memro/blob/main/docs/self-hosting.md | | cli/ https://github.com/memrohq/memro/blob/main/cli | One-command connector npx memro-cli connect | CLI Documentation https://github.com/memrohq/memro/blob/main/cli/README.md | | mcp/ https://github.com/memrohq/memro/blob/main/mcp | Model Context Protocol server stdio & SSE HTTP | MCP Guide https://github.com/memrohq/memro/blob/main/docs/mcp.md | | sdk/python/ https://github.com/memrohq/memro/blob/main/sdk/python | Official Python SDK PyPI: memro | Python SDK Guide https://github.com/memrohq/memro/blob/main/sdk/python/README.md | | sdk/js/ https://github.com/memrohq/memro/blob/main/sdk/js | Official JavaScript / TypeScript SDK npm: @memro/sdk | JavaScript SDK Guide https://github.com/memrohq/memro/blob/main/sdk/js/README.md | | sdk/go/ https://github.com/memrohq/memro/blob/main/sdk/go | Official Go SDK github.com/memrohq/memro/sdk/go@v0.1.0 | Go SDK Guide https://github.com/memrohq/memro/blob/main/sdk/go/README.md | | examples/ https://github.com/memrohq/memro/blob/main/examples | Runnable integrations Claude Code, Cursor, Codex | Examples Index https://github.com/memrohq/memro/blob/main/examples/README.md | | bench/ https://github.com/memrohq/memro/blob/main/bench | Reproducible benchmark harness and test suites | Benchmarks Index https://github.com/memrohq/memro/blob/main/docs/benchmarks/README.md | | docs/ https://github.com/memrohq/memro/blob/main/docs | Architecture, concepts, API reference, decisions | Documentation Index https://github.com/memrohq/memro/blob/main/docs/README.md | PyPI once published or install from source: pip install ./sdk/python pip install memro python from memro import Agent agent = Agent.create local sovereign Ed25519 identity mem = agent.remember "The billing service was rewritten in Go", type="semantic" results = agent.recall "billing service language" print results 0 .content See runnable script at examples/python/register remember recall.py https://github.com/memrohq/memro/blob/main/examples/python/register remember recall.py . npm once published or install from local build: npm install ./sdk/js npm install @memro/sdk js import { Agent } from '@memro/sdk'; const agent = await Agent.create ; // local sovereign Ed25519 identity const mem = await agent.remember 'The billing service was rewritten in Go', { type: 'semantic' } ; const results = await agent.recall 'billing service language' ; console.log results 0 .content ; See runnable script at examples/typescript/index.js https://github.com/memrohq/memro/blob/main/examples/typescript/index.js . go get github.com/memrohq/memro/sdk/go@v0.1.0 package main import "context" "fmt" memro "github.com/memrohq/memro/sdk/go" func main { ctx := context.Background agent, := memro.CreateAgent nil mem, := agent.Remember ctx, "The billing service was rewritten in Go", nil results, := agent.Recall ctx, "billing service language", nil fmt.Println results 0 .Content } See runnable script at examples/go/main.go https://github.com/memrohq/memro/blob/main/examples/go/main.go . Step-by-step guides for connecting coding tools with full session-restart memory verification: Memro includes structured primitives and cognitive graphs beyond basic vector search: - Typed Memories : Categorize observations as semantic facts , episodic events/conversations , procedural runbooks/recipes , or profile agent guardrails . See Memory Concepts https://github.com/memrohq/memro/blob/main/docs/concepts.md . - Temporal Search & Evolution : Query memories with timestamp weighting and trace how beliefs evolve over time. See API Reference https://github.com/memrohq/memro/blob/main/docs/api-reference.md . - Conflict Analysis & Resolution : Identify contradictory facts across sessions and mark superseded memories using resolve conflict . See Conflict Resolution https://github.com/memrohq/memro/blob/main/docs/concepts.md conflict-resolution . - Reasoning Graphs : Trace memory provenance, causal chains, and dependencies between stored observations. See Opinionated Guide https://github.com/memrohq/memro/blob/main/docs/Opinionated Guide.md . Memro publishes empirical evaluations and methodology: - LongMemEval Benchmark : Evaluated across 500 questions testing multi-session recall and knowledge updates. See LongMemEval Report https://github.com/memrohq/memro/blob/main/docs/benchmarks/longmemeval.md . - Empirical Failure & Boundary Evaluations : Runnable test suite for identity boundaries, contradictory facts, stale facts, and distractor rejection. See Measurable Evaluations https://github.com/memrohq/memro/blob/main/docs/benchmarks/evaluations.md . - Clean-Machine Verification : Full transcript verifying every quickstart command in a container without local caches. See Verification Transcript https://github.com/memrohq/memro/blob/main/docs/verify-quickstart.md . 1. Start PostgreSQL with pgvector docker compose up -d db 2. Run backend API server cd server DATABASE URL=postgres://memro:memro@localhost:55432/memro go run ./cmd/memro-api 3. Run tests MEMRO TEST DATABASE URL=postgres://memro:memro@localhost:55432/memro go test -race ./... Please review CONTRIBUTING.md https://github.com/memrohq/memro/blob/main/CONTRIBUTING.md and SECURITY.md https://github.com/memrohq/memro/blob/main/SECURITY.md before submitting pull requests. Repository: github.com/memrohq/memro https://github.com/memrohq/memro · Documentation: https://memro.co https://memro.co License: Source available under PolyForm Noncommercial 1.0.0 https://polyformproject.org/licenses/noncommercial/1.0.0 . Free for non-commercial use; commercial use requires Memro Cloud or a commercial license.