hive-memory
Provides AI coding agents with persistent, graph-connected memory across projects, enabling cross-project context retrieval via synaptic connections and hybrid search.
README
<p align="center">
██╗ ██╗██╗██╗ ██╗███████╗
██║ ██║██║██║ ██║██╔════╝
███████║██║██║ ██║█████╗
██╔══██║██║╚██╗ ██╔╝██╔══╝
██║ ██║██║ ╚████╔╝ ███████╗
╚═╝ ╚═╝╚═╝ ╚═══╝ ╚══════╝
███╗ ███╗███████╗███╗ ███╗ ██████╗ ██████╗ ██╗ ██╗
████╗ ████║██╔════╝████╗ ████║██╔═══██╗██╔══██╗╚██╗ ██╔╝
██╔████╔██║█████╗ ██╔████╔██║██║ ██║██████╔╝ ╚████╔╝
██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║██║ ██║██╔══██╗ ╚██╔╝
██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║╚██████╔╝██║ ██║ ██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
Cross-project memory layer for AI coding agents — with graph memory
</p>
Hive Memory is an MCP server that gives AI coding agents persistent, graph-connected memory across projects. It stores decisions, learnings, and session progress in a local knowledge base with brain-inspired synaptic connections — so your agent can discover related context through topology-based traversal, not just keyword search.
Features
- 33 MCP tools — project management, memory storage/recall, graph traversal, browsing, connectors, team sync, meetings, stewardship, and admin
- SQLite-backed — FTS5 full-text search, WAL mode, zero external services
- Graph memory (synapses) — 15 axon types, Hebbian learning, spreading activation
- Hybrid search — BM25 + optional vector similarity with RRF fusion
- 4 connectors — GitHub, Slack, Notion, Google Calendar
- Team sync — Git-based shared cortex for teams
- Meeting pipeline — transcript → structured notes → enrichment
- HTTP mode — Deploy on Railway/Render with per-user API keys and rate limiting
- Docker support — Ready-to-run container with health check
- Schema versioning — Tracked migration history in
schema_metatable - Audit logging — In-memory audit trail for all tool calls
- Backup CLI —
hive-memory backup [--output path]for database snapshots
Architecture
┌──────────────────────────────────────────────────────────┐
│ Hive Memory (cortex) │
│ │
│ ┌────────────┐ ┌──────────────┐ ┌─────────────────┐ │
│ │ MCP Server │ │ HTTP Server │ │ CLI Interface │ │
│ │ (stdio) │ │ (port 3179) │ │ (hive-memory) │ │
│ └─────┬──────┘ └──────┬───────┘ └────────┬────────┘ │
│ └────────────────┼────────────────────┘ │
│ │ │
│ ┌──────────────────────▼────────────────────────────┐ │
│ │ CortexStore │ │
│ │ ┌────────────┐ ┌──────────┐ ┌──────────────┐ │ │
│ │ │HiveDatabase│ │ Synapse │ │ Enrichment │ │ │
│ │ │ (SQLite) │ │ Graph │ │ Engine │ │ │
│ │ └─────┬──────┘ └──────────┘ └──────────────┘ │ │
│ │ │ │ │
│ │ ┌─────▼──────────────────────────────────────┐ │ │
│ │ │ SQLite Database (cortex.db) │ │ │
│ │ │ entities · synapses · sessions · projects │ │ │
│ │ │ connectors · users · labels · schema_meta │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
▲ ▲ ▲
┌─────┴─────┐ ┌─────┴─────┐ ┌───┴──────┐
│ GitHub │ │ Slack │ │ Notion │
│ Connector │ │ Connector │ │ Connector│
└───────────┘ └───────────┘ └──────────┘
Quick Start
Install
npm install -g hive-memory
Claude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory"
}
},
"permissions": {
"allow": [
"mcp__hive-memory__*"
]
}
}
The
permissions.allowentry auto-approves all Hive Memory tools so Claude won't prompt for permission every session.
Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory"
}
}
}
Cursor
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory"
}
}
}
HTTP Mode (Remote Deployment)
CORTEX_HTTP=true CORTEX_AUTH_TOKEN=secret hive-memory --http
Or with Docker:
docker compose up
Agent Instructions
Hive Memory works best when your AI agent knows when to call the tools. Copy the provided instruction templates into your agent's instruction file:
| Agent | Instruction file | Template |
|---|---|---|
| Claude Code | ~/.claude/CLAUDE.md |
claude-md-template.md |
| Codex | ~/AGENTS.md or ./AGENTS.md |
codex-md-template.md |
See the full setup guide for step-by-step instructions.
Tools Reference (33 tools)
Project Tools (4)
| Tool | Description |
|---|---|
project_register |
Register or update a project (upsert) |
project_search |
Search projects by name/tags, or list all (empty query) |
project_status |
Get project context (full mode includes cross-project insights) |
project_onboard |
Auto-discover projects in a directory + scan for agent memory files |
Memory Tools (5)
| Tool | Description |
|---|---|
memory_store |
Store a decision, learning, or note. Auto-creates synapses to related memories |
memory_recall |
Search using keyword matching + graph traversal (spreading activation) |
memory_link |
Form an explicit synapse between two memory entries |
memory_traverse |
Deep graph traversal — find memories connected through synaptic pathways |
memory_connections |
View the synaptic connections of a specific memory entry |
Session Tools (1)
| Tool | Description |
|---|---|
session_save |
Save session progress — what was done, what's next |
Browse Tools (5)
| Tool | Description |
|---|---|
memory_ls |
List entities with filters (project, type, status, domain) |
memory_tree |
Tree view of entities grouped by project and type |
memory_grep |
Regex/substring search across entity content |
memory_inspect |
Detailed view of a specific entity including synapses |
memory_timeline |
Chronological view of entities in a time range |
Trail Tools (3)
| Tool | Description |
|---|---|
memory_trail |
View the access trail of recently used memories |
memory_who |
See which agents have contributed to a project |
memory_decay |
Apply synapse weight decay and prune weak connections |
Connector Tools (2)
| Tool | Description |
|---|---|
connector_sync |
Trigger a connector sync (GitHub, Slack, Notion, Calendar) |
connector_status |
View sync status and entry counts for all connectors |
Team Tools (4)
| Tool | Description |
|---|---|
team_init |
Initialize a Git-based shared team cortex |
team_push |
Push local entries to the team cortex |
team_pull |
Pull team entries into local database |
team_status |
View pending push/pull and conflict count |
Context Tools (2)
| Tool | Description |
|---|---|
context_enrich |
Run enrichment on an entity (classification, topics, decisions) |
entity_resolve |
Find and deduplicate person entities across sources |
Meeting Tools (2)
| Tool | Description |
|---|---|
meeting_process |
Process a meeting transcript into structured notes and decisions |
meeting_briefing |
Generate a meeting briefing from recent meetings |
Steward Tools (2)
| Tool | Description |
|---|---|
memory_audit |
Run data quality audit on stored memories |
memory_briefing |
Generate daily or weekly memory briefing |
Advisor Tools (1)
| Tool | Description |
|---|---|
workflow_analyze |
Analyze workflow patterns and generate insights |
User / Admin Tools (2)
| Tool | Description |
|---|---|
user_manage |
Manage users — add, list, revoke, rotate API keys |
memory_audit_log |
Retrieve recent MCP tool call audit log (admin only) |
Connectors
| Connector | Env Variable | What it syncs |
|---|---|---|
| GitHub | GITHUB_TOKEN |
PRs, Issues, ADRs, CODEOWNERS |
| Slack | SLACK_TOKEN |
Signal-filtered messages, threads |
| Notion | NOTION_TOKEN |
Pages, databases, block content |
| Google Calendar | GOOGLE_CALENDAR_CREDENTIALS |
Events, attendees (OAuth2/service account) |
| Outlook | OUTLOOK_TOKEN |
Calendar events |
How It Works
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Claude │ │ Cursor │ │ Codex │
│ Code │ │ │ │ │
│ (Proj A) │ │ (Proj B) │ │ (Proj C) │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
└────────────────┼────────────────┘
│ MCP (stdio)
┌─────────────┐
│ Hive Memory │
│ MCP Server │
└──────┬──────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
┌─────────┐ ┌───────────┐ ┌───────────┐
│ Hive │ │ Synapse │ │ Spreading │
│ Cell │ │ Graph │ │ Activation│
│ Tree │ │ (LTP/LTD) │ │ │
└─────────┘ └───────────┘ └───────────┘
No cloud. No accounts. No embeddings required. Everything stays on your machine.
Graph Memory (Synapses)
Every memory can be connected to other memories through synapses — directed, weighted edges inspired by neuroscience:
"Use JWT for auth" ──[causal:0.8]──→ "Add token refresh logic"
│ │
│──[semantic:0.5]──→ "OAuth2 decision" │
│
"Rate limit API" ←──[dependency:0.6]───────────┘
Axon Types:
| Type | Meaning | Example |
|---|---|---|
temporal |
A occurred before B | Decision A was made before Decision B |
causal |
A caused/led to B | "Use PostgreSQL" → "Add pgvector extension" |
semantic |
Topically related | Both about authentication |
refinement |
B refines/updates A | "Use JWT" → "Use JWT with 15min expiry" |
conflict |
A contradicts B | "Use SQL" vs "Use NoSQL" |
dependency |
B depends on A | Feature B requires Feature A |
derived |
B was derived from A | Learning extracted from a decision |
Spreading Activation
When you search with memory_recall or memory_traverse, the system propagates signal through the synapse graph:
Query: "auth token handling"
│
▼ keyword match
Seed: "Use JWT for auth" (activation: 1.0)
│
├─[causal:0.8]──→ "Add token refresh" (activation: 0.4)
│ │
│ ├─[dependency:0.6]──→ "Rate limit API" (activation: 0.12)
│
└─[semantic:0.5]──→ "OAuth2 decision" (activation: 0.25)
Hebbian Learning
"Neurons that fire together, wire together":
- LTP (Long-Term Potentiation): When two memories are recalled together repeatedly, their synapse weight increases (+0.1 per co-activation)
- LTD (Long-Term Depression): Unused synapses decay over time (×0.995 per flush cycle)
- Pruning: Synapses below 0.05 weight are automatically removed
- Auto-formation: When two memories are co-activated 5+ times, a Hebbian synapse is created automatically
HTTP Mode & Multi-User Setup
Deploy as an HTTP server for shared team access:
# Create an admin user
hive-memory user create admin-name
# Start HTTP server
CORTEX_HTTP=true CORTEX_AUTH_TOKEN=<token> hive-memory
# Or use Docker
docker compose up
API Key Rotation
hive-memory user rotate <user-id>
The new key is active immediately. The graceUntil timestamp is stored for audit purposes.
Rate Limiting
The HTTP server enforces a limit of 100 requests per minute per user (in-memory, per instance).
Auto Session Capture
Hive Memory can automatically save sessions when Claude Code exits. Add to ~/.claude/settings.json:
{
"hooks": {
"SessionEnd": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "hive-memory hook session-end"
}]
}]
}
}
This parses the Claude Code transcript and auto-saves a session summary. It skips if session_save was already called during the session.
Backup
# Create a backup
hive-memory backup
# Specify output path
hive-memory backup --output /path/to/backup.db
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
CORTEX_DATA_DIR |
~/.cortex |
Data storage directory |
CORTEX_LOCAL_SYNC |
true |
Set to "false" to disable writing .cortex.md into project directories |
CORTEX_LOCAL_FILENAME |
.cortex.md |
Custom filename for local context files |
CORTEX_HTTP |
false |
Set to "true" to enable HTTP server mode |
CORTEX_AUTH_TOKEN |
— | Admin API token for HTTP mode |
PORT / CORTEX_PORT |
3179 |
HTTP server port |
CORTEX_SYNC_INTERVAL_MIN |
30 |
Connector auto-sync interval in minutes |
Example with custom config:
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory",
"env": {
"CORTEX_DATA_DIR": "/custom/path",
"CORTEX_LOCAL_SYNC": "false"
}
}
}
}
Local Context File (.cortex.md)
Hive Memory writes a .cortex.md file in each registered project directory. This file contains a snapshot of the project's current context — summary, recent session, next tasks, and cross-project insights. It's auto-generated and should be added to .gitignore.
To disable this feature, set CORTEX_LOCAL_SYNC=false.
Migration from v1/v2
Hive Memory v3 automatically migrates existing data:
- Legacy
knowledge/files are migrated to hive direct entries on first startup, then renamed toknowledge.bak/ - Existing project registrations (
index.json,summary.json, sessions) are unchanged - Embedding data (
vectors.json, embedding model cache) is no longer used and can be safely deleted - The
@huggingface/transformersdependency has been removed — no more model downloads - Schema version is now tracked in the
schema_metatable
No manual action needed — just update and restart.
Development
npm install # Install dependencies
npm run build # Build TypeScript
npm run dev # Dev mode with auto-reload
npm run lint # Lint with ESLint
npm run typecheck # Type check
npm test # Run tests
npm run test:coverage # Run tests with coverage report
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 模型以安全和受控的方式获取实时的网络信息。