MIT Licensed · Self-hostable · Works with Claude, GPT-4, Llama, Gemini

Your AI engineering
team's memory
infrastructure.

The only memory layer purpose-built for AI-assisted engineering teams. Persistent. Governed. Audited. Runs 100% local or in the cloud.

7
memory types — fact · decision · constraint · incident · skill · ADR · episode
100%
local capable — no cloud dependency required
Any LLM
Claude · GPT-4 · Llama · Gemini · Mistral
Complete
audit trail on every write — agent, tool, commit, ticket
namespace: org:acme:engineering live
decision arch-agent · 2h ago

Chose ArcadeDB over Neo4j for multi-model support and embedded vector search.

incident oncall-agent · 6h ago

Redis OOM on prod-02. Resolved by setting maxmemory-policy=allkeys-lru.

constraint auto-injected

CONSTRAINT: All database queries must go through the ORM layer. Direct SQL is prohibited.

skill skill-coach · just now

Use gh pr create --fill to open a PR with auto-filled title and body.

constraint auto-injected

CONSTRAINT: All PHI data MUST be encrypted at rest using AES-256. Direct database access from service layers is PROHIBITED.

The real cost of stateless AI teams

Your team has 20 engineers and 20 AI assistants. Without shared memory, you have 40 silos — each starting from zero.

Agents forget between sessions

Context window closes; architecture decisions, resolved incidents, learned patterns — gone. Every session restarts from zero.

No shared context across agents

Agent A doesn't know what Agent B discovered 10 minutes ago. Work is repeated, mistakes are repeated, and coordination is manual.

Decisions lost

A senior architect's 10am decision doesn't reach the developer asking the same question at 2pm. The same trade-offs get re-litigated daily.

Zero governance

No audit trail. No way to know which agent made which call, which decision was automated, or why. Compliance is impossible to prove.

Architecture violations slip through

Agents generate code that violates your documented architecture. No one enforces the rules at code-generation time without re-prompting every session.

Knowledge leaves when engineers do

Onboarding takes weeks because institutional knowledge lives in people's heads and scattered notes. New hires and their AI assistants start completely cold.

memnos fixes all six.
Capabilities

Enterprise-grade memory for every layer of your stack

Persistent Shared Memory

ArcadeDB multi-model backend — graph, vector, and document in one engine. Facts, decisions, incidents, and constraints survive session boundaries and are shared across your entire team.

Temporal Memory

Every memory carries valid_from / valid_until timestamps. Query the knowledge graph as_of any past date — "what did we know about the auth service on March 15th?" Only memnos does this.

Living Knowledge Graph

Not a static document store. The graph evolves in real-time as agents work — new edges, superseded decisions, cross-linked incidents — always reflecting your team's current understanding.

Architecture Enforcement

Ingest your architecture docs as typed constraint nodes. Every agent's search results automatically include relevant constraints — your documented rules enforce themselves without re-prompting.

AI Governance & Audit Trail

Every memory write carries agent_id, tool, git_commit, JIRA ticket, and timestamp. Know which agent made which decision and why, forever queryable. Full compliance-grade audit log.

Multi-Agent Coordination

Real-time pub/sub across agents — SSE stream, webhook, and cursor delivery modes. When one agent writes a discovery, every subscribed agent knows in milliseconds.

Multi-Model Support

Claude Code, GPT-4, Llama, Gemini, Mistral — any model that can make an HTTP call works with memnos. Swap your underlying LLM without touching your memory layer.

Namespace ACLs

Fine-grained access control via API keys and namespaces. Give the backend team read/write to org:acme:backend, the frontend team to org:acme:frontend. Each agent gets exactly the permissions it needs.

Secret Vault

AES-256-GCM encrypted vault for secrets, credentials, and keys stored alongside memories. Automatic credential rotation, audit-logged access. Stop putting secrets in environment variables.

Constraint Injection

Write an architecture rule or policy once. It auto-injects into every future search result — a guardrail that propagates to your entire agent fleet without any re-prompting or system prompt updates.

Skill Discovery

Built-in skill catalogs for Claude Code, GitHub CLI, Docker, kubectl. Teams author and share reusable skills. Any agent can discover what any tool or teammate knows how to do.

Portable Memory

Full namespace export/import. Move your entire knowledge graph between installations, environments, or cloud regions. Your team's memory travels with your infrastructure.

Use Cases

Built for real engineering team complexity

Governance

Enterprise AI governance from day one

The question isn't whether your AI agents will make consequential decisions. They already are. The question is whether you can audit them, govern them, and prove it to your organization.

Complete audit trail — every write carries agent, tool, commit, and ticket
Namespace access control — each agent gets exactly the permissions it needs
Architecture enforcement — documented rules enforced automatically in CI
Learn about governance →
audit_record.json
{
  "id": "mem_a4f2b91",
  "content": "Chose ArcadeDB over Neo4j",
  "memory_type": "decision",
  "provenance": {
    "agent_id": "arch-agent-01",
    "tool": "claude-code",
    "git_commit": "a4f2b91",
    "ticket": "ARCH-42"
  },
  "created_at": "2026-03-15T10:23:44Z",
  "namespace": "org:acme:architecture"
}
Comparison

Not just another memory layer

memnos is the only memory tool built for multi-agent engineering teams — with governance, temporal queries, and architecture enforcement no other tool has.

Capability memnos mem0 Zep Obsidian+Claude ChatGPT Memory
Multi-agent shared memory ~
Temporal memory (as_of queries)
Architecture enforcement
Complete audit trail
Self-hostable, 100% local ~ ~
Secret vault
Python SDK

Works with every framework your team already uses

memnos-sdk is a zero-dependency Python client with optional integrations for LangChain, LlamaIndex, and architecture enforcement. Install what you need.

$ pip install memnos-sdk core
$ pip install 'memnos-sdk[langchain]' + LangChain
$ pip install 'memnos-sdk[llamaindex]' + LlamaIndex
$ pip install 'memnos-sdk[all]' everything
agent_memory.py
from memnos_sdk import MemnosClient

with MemnosClient(url="http://localhost:8766", api_key="...") as client:
    # Write a decision with full provenance
    client.write(
        "JWT tokens must expire after 15 minutes in production",
        namespace="org:acme:security",
        memory_type="constraint",
        affects=["auth", "api-gateway"],
        rationale="Compliance requirement — SOC2 CC6.1",
    )

    # Semantic search across all team memories
    results = client.search(
        "authentication token expiry policy",
        namespace="org:acme:security",
    )
    for r in results:
        print(f"[{r.memory_type}] {r.content}")
Claude Code (MCP)
LangChain
LlamaIndex
REST API (any language)
Cursor / Windsurf
Integration

How it works

Five lines is all it takes to give your agent permanent, governed, shared memory.

1

Connect your agents

Drop the MCP server into Claude Code, Cursor, or any MCP-compatible host. Or use the REST SDK from any language. Self-host with Docker in 90 seconds or use the managed cloud API.

2

Search — constraints auto-inject

Agents search and write as they work. Every search result automatically includes relevant architecture constraints — your rules propagate without re-prompting or system prompt updates.

3

Enforce in CI

Run corpus.check_all() on every PR diff. SHALL violations block the merge. SHOULD violations annotate it. Architecture governance runs automatically in your pipeline.

4

Write with full provenance

Every memory write carries agent_id, tool, git_commit, and JIRA ticket. The audit trail is built in — no extra work. Query any decision, trace any incident, prove any action forever.

ci_check.py
from memnos_sdk import MemnosClient

async with MemnosClient(
    url="https://memnos.acme.com",
    api_key="...",
) as client:

    # Search — constraints auto-inject with every result
    memories = await client.search(
        "how do we handle patient data encryption",
        namespace="org:acme:engineering",
    )
    # → facts + auto-injected constraints

    # Architecture enforcement in CI
    result = await client.corpus.check_all(
        code=pull_request_diff,
        context="patient-access consent validation",
    )
    if result[0].shall_violations:
        raise ArchitectureViolation(result[0].format())

    # Write with full audit provenance
    await client.write(
        content="Selected ArcadeDB — single engine",
        namespace="org:acme:architecture",
        memory_type="decision",
        author="arch-agent",
        metadata={
            "ticket": "ARCH-42",
            "git_commit": "a4f2b91",
        },
    )
We eat our own dog food

The AI agents that built memnos used memnos.

Every architecture decision in this codebase is a memory. Every incident we hit is stored. The agents that write our docs query memnos before writing a word.

We didn't just use our product — our product made itself. If memnos went down, our agents would start repeating the same mistakes within a week.

// actual memories from building memnos

decision arch-agent · 2025-11-03

Chose ArcadeDB over Neo4j+Qdrant. Multi-model support eliminates two separate services and gives embedded vector search without running a second database.

git:a4f2b91·ARCH-42
incident oncall-agent · 2025-12-14

E2E stack stuck at "Created" — ArcadeDB container never became healthy. Root cause: ~ in .env file not expanded by docker-compose. Fixed by injecting MEMNOS_DATA_DIR as shell env var.

constraint auto-injected to all agents

CONSTRAINT: Source directories are READ-ONLY. All memory and learnings go to vaults only. Never write markdown in source repos.

One tool. Every agent.
Zero lost context.

Self-host with Docker in 90 seconds, or connect to the managed API. MIT licensed. No lock-in.