dreamd
A local MCP server that gives AI harnesses a shared, filesystem-backed memory using the .agent folder, with tools to search and append lessons across sessions.
README
dreamd
The plain files in your repo are the memory. dreamd is the local server that reads and writes them.
Drop a .agent/ folder in the project. Claude Code, Cursor, Cline, and other MCP-aware harnesses share it. What one agent learns, the next already knows. You can cat, grep, git diff, and hand-edit every byte.
This is not "another memory product." It is a storage-model wedge: the filesystem is the source of truth, and the MCP tools (search_nodes / append_node) are a thin interface over those files.
Open core: Apache-2.0 core today, self-hosted only. Premium features may ship later. Do not read this as free-forever for everything.
npx -y dreamd-mcp init # scaffold .agent/
npx -y dreamd-mcp # MCP server (stdio)
First run prompts once. Press
y, or keep usingnpx -y dreamd-mcp.
The moment it earns its name
~/project $ npx -y dreamd-mcp init
# Claude Code, Tuesday:
you > axum keeps blowing up when I unwrap in route handlers
claude> filed under rust::error_handling::axum_rejection
# Cursor, Friday, fresh session:
you > why is this build failing?
cursor> You're unwrapping in a route handler. dreamd has a
lesson from Tuesday: axum needs IntoResponse on
custom Error types. Try `?` and a typed error.
No re-explaining. No re-pasting. Same .agent/ folder, every harness.
Install
npm (recommended)
npx -y dreamd-mcp init
npx -y dreamd-mcp
Requires a project root sentinel (.git/, Cargo.toml, package.json, or pyproject.toml).
Cargo / from source
git clone https://github.com/botzrDev/dreamd.git
cd dreamd
cargo install --path crates/dreamd-cli
See CONTRIBUTING.md for the full dev setup.
Quick start (< 30 seconds)
If ~/your-project is a brand-new folder, run git init first (or make sure it contains one of the supported root sentinels).
cd ~/your-project
npx -y dreamd-mcp init
# Terminal 1: shared daemon (recommended when several agents write)
dreamd watch
# Terminal 2: MCP server for your harness
npx -y dreamd-mcp
Ask the agent to search memory for something you just learned. It calls search_nodes and recalls prior context.
cat .agent/episodic/AGENT_LEARNINGS.jsonl
dreamd doctor
Adapters: Claude Code · Cursor
What dreamd writes
| Location | Contents | Commit? |
|---|---|---|
<project>/.agent/ |
Episodic JSONL, semantic lessons, personal prefs | Yes (this is the shared memory) |
<project>/.agent/.dreamd/ |
Local index, daemon state, config template | No (gitignored by init) |
~/.agent/registry.toml |
Which projects have a store | No |
~/.agent/dreamd.sock |
Daemon API socket (while running) | No |
dreamd init is idempotent. To uninstall from a machine — stop local servers, remove the socket, unregister the current project, clear caches — run dreamd uninstall (project .agent/ stores are left in place). Advanced, registry-only: dreamd init --uninstall-project unregisters the current project and touches nothing else.
Architecture (one paragraph)
Agents talk to dreamd over MCP (search_nodes, append_node). The MCP server proxies to a single-writer daemon (dreamd watch) over HTTP on a Unix domain socket, or runs in-process when no daemon is present. The coordinator appends to AGENT_LEARNINGS.jsonl and feeds a Tantivy BM25 index. Recall ranks hits with a query-time salience formula (BM25 × age decay × pain × importance × recurrence). Each hit carries source_harness and skill_action, so recall is attributable across harnesses. The dream cycle consolidates episodic learnings into LESSONS.md under WAL protection.
v0.1 recall is deliberately lexical (BM25 + salience). That is a scope choice, not a scoreboard claim. Semantic / embedding recall is out of scope until after v0.1.
Details: ARCHITECTURE.md · SPEC.md · docs/http-api.md
FAQ
Is this the first / only cross-harness memory? No. Other projects exist (including large ones). dreamd owns the storage-model wedge: plain files you already version-control, not a category claim.
Do I need Rust? No for the recommended path. npx -y dreamd-mcp downloads a prebuilt binary. Rust is only required if you build from source.
Where does memory live? In <project>/.agent/. The daemon and index under .agent/.dreamd/ are local and gitignored. You can read and edit the JSONL / Markdown by hand; durable appends should go through the daemon / MCP so the writer stays single-writer.
What if I want a full wipe? See Full fresh store. There is no dreamd reset --all. To uninstall dreamd itself, run dreamd uninstall — details: packages/dreamd-mcp/README.md.
Windows? Not in v0.1. Linux and macOS only. Windows lifecycle is planned for v0.1.1.
Is everything free forever? Apache-2.0 core is open. Premium may come later. Self-hosted only in v0.1 (no hosted SaaS).
More troubleshooting: docs/troubleshooting.md.
Roadmap
| When | What |
|---|---|
| v0.1 (~2026-08-09) | BM25 lexical recall, Linux + macOS, deterministic dream cycle, npm dreamd-mcp |
| v0.1.1 | Windows lifecycle, semantic / embedding recall, LLM-assisted dream cycle (not claimed in v0.1) |
| Oct 2026 | State-Drift benchmark publish (dreamd is one row; conflict of interest disclosed) |
v0.1.1 features are intentionally not implemented or documented as shipped in v0.1 code.
Documentation
| Doc | What |
|---|---|
| GUIDE.md | 20-minute tutorial walkthrough |
| docs/README.md | Full documentation index |
| docs/http-api.md | REST API over Unix socket |
| docs/configuration.md | TOML config and env vars |
| docs/troubleshooting.md | Common failures |
| docs/glossary.md | Domain terms |
| SPEC.md | On-disk contract |
| ARCHITECTURE.md | Engineering decisions |
| CONTRIBUTING.md | Dev setup and RFC process |
| SECURITY.md | Threat model |
| docs/marketing.md | Product story and positioning |
Warm recall latency numbers (local Criterion benches) live in PERF.md if you want them. They are not the product pitch.
Status
v0.1 targeting 2026-08-09. Daemon commands available today: init, dream, doctor, mcp, watch, reset workspace, version. npm package: dreamd-mcp (floating: npx -y dreamd-mcp). Linux and macOS.
| Layer | Status |
|---|---|
SPEC.md v0.1 |
Shipped |
| Reference implementation (daemon, HTTP API, dream cycle, Tantivy recall) | In progress |
MCP server (dreamd mcp + npx dreamd-mcp shim) |
Shipped on npm |
| CI / cross-platform matrix | Lint, test, build, binary-size gate, DCO |
| Conformance | Reference-impl alpha suites (scripts/alpha/); no formal certification in v0.1 |
State-Drift benchmark (Oct 2026)
A separate, reproducible eval measuring whether memory systems correctly update superseded facts. dreamd is one row in the table, published regardless of placement. Conflict of interest is disclosed; configs use each maintainer's documented defaults; raw outputs are committed for audit. Methodology: scripts/benchmark/README.md.
Platforms
v0.1: Linux and macOS. Windows in v0.1.1.
Contributing
See CONTRIBUTING.md. By participating you agree to the Code of Conduct. Security reports: SECURITY.md (do not open a public issue for vulnerabilities).
License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。