
Cairn
io.github.jasondostal由 GitHub 账号 jasondostal 发布v0.21.2更新于 Oct 27, 2026
Persistent memory for AI agents and humans. Store, search, and discover patterns.
发布方自己的服务:Cairn.ink Memory
概览
自托管的持久记忆服务器,让助手跨会话、跨项目存储、搜索和回忆决策、事实与模式。
- 可以做什么
- 存储、搜索和回忆记忆,融合向量、关键词、时效与标签排序,并支持时间过滤
- 以规则、近期活动、信念和未完成工作开启会话,并管理信念与工作记忆
- 创建、认领和完成工作项,管理项目文档
- 执行代码结构查询(依赖方、调用方、影响范围、死代码、复杂度)并校验架构规则
- 修改、整合和导入记忆,并记录结构化的思考序列
- 适用场景
- 适合需要助手在会话之间、跨项目记住决策与事实的场景,或希望使用自托管记忆层(可选知识图谱与代码智能)而非托管服务时。
- 运行要求
- 以本地进程(容器镜像)运行,需要带 pgvector 的 PostgreSQL,知识图谱可选 Neo4j;README 描述的是四容器 Docker Compose 部署。需要 CAIRN_DB_HOST 和密钥 CAIRN_DB_PASS;CAIRN_LLM_BACKEND 选择 ollama 或 bedrock 用于增强,属可选项。
安装
在 SourceWeft 中
- 打开 控制台中的 Cairn,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[Cairn — persistent memory for agents and humans]
[Release] [License] [MCP] [PostgreSQL]
[!IMPORTANT] Cairn is retired, and this repository is archived (read-only). Its successor is rill — a faster, leaner, MCP-native memory server written in Go that learned from everything Cairn got right (and the things it got wrong). Cairn was the first; rill is where the work continues. This repo stays up as a read-only archive — explore it, fork it, but new development lives in rill.
A self-hosted persistent memory platform for AI agents and humans. Store something once, find it later, across sessions, across projects. Four containers. docker compose up. Done.
Cairn is the memory brain. Your agent runtime handles execution — Cairn handles knowing. What decisions were made, what facts are known, what patterns emerge across projects.
It's built for the systems person. The curious. The t-shaped. The ones who need a memory that works the way they do, across everything, all at once.
Quick Start
1. Pull and run
Four containers start:
- cairn on port 8000 (MCP server + REST API)
- cairn-ui on port 3000 (web dashboard)
- cairn-db (PostgreSQL 16 + pgvector)
- cairn-graph (Neo4j 5, knowledge graph)
Migrations run on first boot. Ready in about a minute.
2. Connect your IDE
Add this to your MCP config:
Where that goes:
Or run the setup wizard — it walks you through everything: LLM backend, database, embeddings, auth, and IDE configuration:
Pick a tier (local dev, recommended, enterprise, or custom) and the wizard collects only what that tier needs. Supports --dry-run and --non-interactive for CI.
3. Use it
Tell your agent to remember something:
"Remember that we chose PostgreSQL for storage because it handles hybrid search without a separate vector DB."
Search for it later:
"What did we decide about the storage layer?"
That's it. 11 tools available. The ones you'll use most:
The rest: modify, insights, think, status, consolidate, ingest.
What's in the box
Memory that persists across sessions. Your agent makes a decision at 2am. Next morning, different session, it finds that decision. That's the core. Bi-temporal tracking separates when something happened (event_at) from when you learned it (created_at). Memories that go unaccessed decay naturally; important ones are protected. Related memories get consolidated into higher-order insights automatically.
Beliefs. Durable epistemic state — knowledge held with confidence. Crystallize hypotheses into beliefs, challenge them with counter-evidence, retract them when wrong. Beliefs surface in session boot alongside rules and memories, giving agents a clear picture of what the organization knows and how confident it is.
Search that fuses signals. Vector similarity, recency, access frequency, keyword matching, and tag overlap blended via Reciprocal Rank Fusion. Filter by project, type, or time range. Temporal queries: "what did we know as of Tuesday?" via as_of, "what happened last week?" via event_after/event_before.
Knowledge graph. Entities and facts get extracted into a Neo4j graph that connects memories through shared people, places, projects, and concepts. Optional, but powerful when you're working across domains.
Thinking sequences. Structured deliberation — start with a goal, add thoughts (observations, hypotheses, analysis, alternatives), conclude. Both humans and agents contribute. The exploration itself becomes searchable memory.
Work management. Hierarchical work items with dependency tracking, gates that pause for human decisions, and activity logging. Experimental — evolving as we learn what works.
Web dashboard. Browse memories with OKLCH-colored toggle filters, score gradient bars, and shareable URL state. Explore the knowledge graph and entity relationships. View analytics, manage work items. Port 3000.
[Cairn dashboard with memory growth and token usage]
Memory growth by type, token usage tracking, and the full nav.
Code intelligence. A standalone worker indexes codebases with tree-sitter (30 languages) and builds a code graph in Neo4j. The server queries the graph without ever touching source files. Ask structural questions — "what depends on this file?", "who calls this function?", "what's the blast radius?" — and get answers from the code graph. Call graph extraction, cyclomatic complexity, dead code detection. Enforce architecture boundaries with YAML rules. Works across projects.
Supported languages (30)
Multi-user authentication and RBAC. Off by default, zero to enterprise in one command. ./scripts/setup.sh includes auth configuration, or run ./scripts/setup-auth.sh standalone. Auth mode selection (none / local JWT / OIDC SSO), JWT secret generation, OIDC provider validation. Personal Access Tokens for machine clients, stdio identity for MCP. Three roles, project-level scoping, first-user-becomes-admin. Groups with OIDC sync. See the Authentication Guide.
Disaster recovery. Cron-friendly scripts for PostgreSQL dump and Neo4j graph export with configurable retention. Tested restore procedures with migration safety checks. See the Backup Guide.
Do I need an LLM?
No. Store, search, recall, and rules work without one. You lose auto-enrichment (summaries, tags, importance scoring), knowledge extraction, and thinking.
If you want enrichment:
Configuration
All via environment variables. The ones that matter:
Full reference is in docker-compose.yml. Every variable has a sensible default.
Authentication
Off by default. The fastest way to enable it is through the setup wizard:
Three modes — no auth, local JWT, or OIDC/SSO. Generates secrets, validates
your identity provider's discovery endpoint, writes .env. Provider-specific
URL hints for Authentik, Keycloak, Auth0, Okta, and Azure AD. Both scripts
support --dry-run and --non-interactive for CI.
First user to register becomes admin. Role-based access control enforces permissions across REST API, MCP HTTP, and the web UI. Personal Access Tokens for machine clients, groups with OIDC sync.
See the Authentication Guide for the full reference covering all auth modes, OIDC provider configuration, and MCP client examples.
Security note: Cairn's auth system is functional and production-tested but has not been independently audited. For network-exposed deployments, add TLS termination and network-level access controls.
Remote MCP Access (Claude.ai, Mobile)
Connect Cairn to Claude.ai, the Claude mobile app, or any OAuth2-capable MCP client. Cairn acts as an OAuth2 Authorization Server, delegating user authentication to your existing OIDC identity provider.
Prerequisites: Auth enabled (CAIRN_AUTH_ENABLED=true), OIDC configured (CAIRN_OIDC_ENABLED=true), and a public URL set (CAIRN_PUBLIC_URL).
Enable it:
Connect from Claude.ai:
- Go to Claude.ai Settings > Integrations > Add custom MCP
- Enter your Cairn URL:
https://your-cairn-domain.com/mcp - Claude.ai discovers the OAuth2 endpoints automatically
- You'll be redirected to your identity provider to log in
- After login, Claude.ai has full access to your Cairn MCP tools
The OAuth2 flow uses Authorization Code + PKCE with Dynamic Client Registration (RFC 7591). If your identity provider supports SSO sessions, the auth redirect is invisible after the first login.
See the Remote MCP Guide for reverse proxy configuration, security hardening, and troubleshooting.
Code Intelligence
Code intelligence runs as a standalone worker that indexes source code and writes to Neo4j. The cairn server queries the graph but never touches source files directly. This separation means indexing doesn't block the event loop and the worker can run on the machine where code lives.
Requirements: Neo4j (the cairn-graph service in docker-compose) must be running.
Quick start
Environment variables
Docker / remote codebases
Mount source code into the cairn container and set CAIRN_CODE_DIR:
Or run the worker on the code host and point it at your cairn + Neo4j instances:
What gets indexed
- Symbols: functions, classes, methods, interfaces, enums, React components/hooks
- Relationships:
IMPORTS(file-level),CALLS(function-level),CONTAINS(parent-child) - Metadata: signatures, docstrings, cyclomatic complexity, line numbers, content hashes
- Languages: Python, TypeScript/TSX, and 28 more (C, Rust, Go, Java, Ruby, etc.)
Query examples (via code_query MCP tool)
Architecture
Benchmark
Tested against LoCoMo, a long-conversation memory benchmark with 1,986 questions across five categories.
Test configuration: Titan V2 embeddings (Bedrock, 1024-dim), episodic ingestion (raw turns + two-pass fact extraction), Search V2 with graph-primary retrieval, type routing, cross-encoder reranking, LLM-as-judge evaluation. Full results and methodology in eval/.
Development
Status
Cairn is under active development. It's a real system used daily in production, and it's evolving as I learn what actually works for agent memory. Migrations handle schema changes. If something breaks, open an issue.
License
来源:README.md,提交 40be32a
工具
0版本历史
1- v0.21.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Cairn 集成

Cairn.ink Memory
ink.cairn官方发布者
Cairn.ink Memory 是一个托管 MCP 端点,让助手保存、召回、查看、更正和遗忘跨会话记忆,每条记忆都附带来源凭证。

Cairn Commons (read-only)
由 GitHub 账号 cairncommons 发布
只读的远程 MCP 服务器,让编程助手按错误文本、包名和版本查询经过核验、锁定版本的依赖缺陷记录。

Cairn Remembers
由 GitHub 账号 CairnRemembers 发布
面向 AI 代理的本地优先情景记忆:把决策、笔记和更正存入一个 SQLite 记忆库,任何支持 MCP 的助手都能检索和写入。

Cairn
由 GitHub 账号 luckyjackluo 发布
Cairn 为 AI 助手提供本地工具,用于列出、读取、搜索、打标签、编辑、移动并语义检索指定文件夹中的文件。

Cairn
由 GitHub 账号 cybort360 发布
把 Claude Code 的工作会话、文件编辑和任务记录到 Cairn 账户,让助手能够登记活动与项目笔记。