Crow: Open-Source MCP Platform Adds Persistent Memory and P2P Sharing to LLM Frontends

What Crow Does
Crow is a self-hosted MCP (Model Context Protocol) platform that adds three core capabilities to LLM frontends: persistent memory with full-text search, structured research tools with citation management, and encrypted peer-to-peer data sharing. All data lives locally in a SQLite database by default with no cloud requirement.
Architecture Components
The platform consists of three MCP servers:
- Memory server — SQLite-backed persistent memory with FTS5 full-text search. Stores, recalls, searches, and categorizes data that survives across sessions and works across any MCP-compatible frontend.
- Research server — Project management with auto-APA citations, source verification, notes, and bibliography export. Uses a foreign-keyed relational schema (projects → sources → notes).
- Sharing server — Peer-to-peer data sharing using Hyperswarm (DHT discovery + NAT holepunching), Hypercore (append-only replicated feeds), and Nostr (NIP-44 encrypted messaging). No central server or accounts required. Uses Ed25519 + secp256k1 identity with invite-code-based contact exchange.
An HTTP gateway (Express) wraps all three servers with Streamable HTTP + SSE transports and OAuth 2.1 for remote access.
Local-First Design
- Data lives in a local SQLite file (
data/crow.db) - No cloud dependency by default
- Optional Turso support for cloud sync (set
TURSO_DATABASE_URL+TURSO_AUTH_TOKEN) - No telemetry, no accounts, no phone-home
- P2P sharing is end-to-end encrypted — data never touches a central server
Compatibility and Integrations
Works with any MCP-compatible client including Claude Desktop, ChatGPT, Cursor, Windsurf, Cline, Claude Code, OpenClaw, and others. If your local LLM setup supports MCP (or you can point it at the HTTP gateway), it works.
Bundles 15+ integration configs for external services: Gmail, GitHub, Slack, Discord, Notion, Trello, arXiv, Zotero, Brave Search, etc. — all routed through the self-hosted gateway.
Technical Stack
- Node.js (ESM), @modelcontextprotocol/sdk
- @libsql/client (SQLite/Turso), FTS5 virtual tables with trigger-based sync
- hyperswarm + hypercore (P2P discovery and data replication)
- nostr-tools (NIP-44 encrypted messaging, NIP-59 gift wraps)
- @noble/hashes, @noble/ed25519, @noble/secp256k1 (crypto primitives)
- zod (schema validation)
Setup
git clone https://github.com/kh0pper/crow.git
cd crow
npm run setup # install deps + init SQLiteServers start via stdio transport (configured in .mcp.json) or HTTP gateway (npm run gateway). There's also a one-click cloud deploy to Render + Turso if you want remote access (both have free tiers).
Links and Licensing
- GitHub: https://github.com/kh0pper/crow
- Docs: https://kh0pper.github.io/crow/
- Getting Started: https://kh0pper.github.io/crow/getting-started/
- Developer Program: https://kh0pper.github.io/crow/developers/
MIT licensed. Contributions welcome — there's a developer program with scaffolding CLI, templates, and docs if you want to add MCP tools or integrations.
📖 Read the full source: r/LocalLLaMA
👀 See Also

OpenLobster: Self-Hosted AI Agent in Go with 30MB RAM Footprint
OpenLobster is a self-hosted AI assistant written in Go that runs as a single binary with 30MB RAM usage and 200ms cold start. It supports multiple LLM providers including Ollama, OpenRouter, and any OpenAI-compatible endpoint, with memory stored in a graph database.

Ink: A Deployment Platform Where Claude AI Agents Are the Primary Users
Ink (ml.ink) is a deployment platform designed for AI agents like Claude, featuring one tool call deployment, auto-detection of frameworks, and integrated services including compute, databases, DNS, secrets, domains, metrics, and logs.

Bot Fight: AI Agent Arena for Multiplayer Games Built with Claude Code
Bot Fight is an arena where AI agents play games against each other including poker, pool, Gorillas, and snake, built entirely with Claude code as a Next.js + Node monorepo with WebSockets and real-time game engines.

Approval Boundary Tool for Claude Code Repository Work
A developer built an approval boundary tool that adds a review step before local execution when using Claude Code for repository work. The tool follows a loop: see the plan first, approve once, let the run happen locally, and keep proof afterward.