Scalable memory for real AI agent orchestration and shared knowledge
Persistent memory for AI agents. Local-first, open source.

Ancora is a persistent memory system for AI coding agents like Claude Code and OpenCode. It enables agents to remember context, decisions, and patterns across sessions using hybrid search and local embeddings.
Featues
- Full local memory storage (SQLite + FTS5)
- 15 MCP tools for memory management
- Hybrid keyword + semantic search
- Local embeddings (nomic-embed-text)
- CLI, TUI, HTTP API
- Works offline, zero telemetry
- MIT licensed
Cloud Sync (Coming Soon)
Want your memories synced across all your devices?
Join the Waitlist for Syfra Cloud
What you'll get:
- Multi-device sync (Mac, Linux, Windows)
- End-to-end encryption
- Partner/team sharing
- Web dashboard
- Advanced analytics
Status
Production Ready - All features implemented and tested (621 tests passing).
Quick Start
Installation
Recommended: Homebrew (macOS/Linux)
# Add the Syfra tap (one time)
brew tap Syfra3/tap
# Install Ancora
brew install ancora
# Verify installation
ancora --version
Alternative: Bash Install Script (all platforms)
Quick install:
curl -sSL https://raw.githubusercontent.com/Syfra3/ancora/main/scripts/install-ancora.sh | bash
Custom install directory:
# Install to specific location (e.g., ~/.local/bin)
export ANCORA_INSTALL_DIR=$HOME/.local/bin
curl -sSL https://raw.githubusercontent.com/Syfra3/ancora/main/scripts/install-ancora.sh | bash
# Make sure the directory is in your PATH
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # or ~/.zshrc
source ~/.bashrc
The install script will:
- Detect your OS and architecture automatically
- Download the appropriate binary from GitHub Releases
- Verify the checksum
- Install to
/usr/local/bin (or $ANCORA_INSTALL_DIR)
- Make the binary executable
From Source
# Via go install (requires Go 1.25+)
go install github.com/Syfra3/ancora/cmd/ancora@latest
# Or build locally
git clone https://github.com/Syfra3/ancora.git
cd ancora
make build
Manual Download
Download pre-built binaries from GitHub Releases:
Platforms:
- Linux:
amd64, arm64
- macOS:
amd64 (Intel), arm64 (Apple Silicon)
- Windows:
amd64
Example (Linux amd64):
VERSION=1.0.0 # Check releases for latest version
curl -LO "https://github.com/Syfra3/ancora/releases/download/ancora-v${VERSION}/ancora-${VERSION}-linux-amd64.tar.gz"
tar xzf "ancora-${VERSION}-linux-amd64.tar.gz"
sudo mv ancora /usr/local/bin/
chmod +x /usr/local/bin/ancora
Run as MCP Server
# Recommended: agent profile (11 core tools)
ancora mcp --tools=agent
# Admin profile (4 management tools)
ancora mcp --tools=admin
# All tools (15 total)
ancora mcp
Configure in your AI agent's MCP settings:
{
"mcp": {
"ancora": {
"type": "stdio",
"command": "ancora",
"args": ["mcp", "--tools=agent"]
}
}
}
Setup Agent Integration
Automated setup (recommended):
# Interactive wizard (detects your agent)
ancora setup
# Or specify agent directly
ancora setup claude-code # Auto-install for Claude Code from GitHub
ancora setup opencode # Auto-install for OpenCode
What gets installed:
- Claude Code: Plugin via marketplace (GitHub), MCP config, SessionStart hooks, compaction recovery, session tracking
- OpenCode: Plugin at
~/.config/opencode/plugins/ancora.ts, MCP registration, session hooks
Local development setup for Claude Code:
If you're working from the source repository or want to use a local version:
# Clone repository
git clone https://github.com/Syfra3/ancora.git
cd ancora
# Run local setup script
./scripts/setup-claude.sh
This installs the plugin from your local directory instead of GitHub, useful for:
- Testing changes before release
- Contributing to ancora development
- Using unreleased features
Manual Claude Code setup:
# From GitHub (production)
claude plugin marketplace add Syfra3/ancora
claude plugin install ancora
# From local directory (development)
claude plugin marketplace add /path/to/ancora
claude plugin install ancora
# Both approaches also need MCP:
claude mcp add ancora ancora -- mcp --tools=agent
Basic CLI Usage
# Search memories
ancora search "authentication bug" --workspace=myapp