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

UIUC AI Teaching Assistant Runs 11 Models in Parallel for Sub-2s Responses
UIUC's AI TA chatbot runs 11 models in parallel for text/image retrieval, generation, moderation and ranking, achieving median 2-second response time. Open source with Pinecone RAG and RLHF dataset.

Tangent: Chrome Extension for Branching Claude Conversations
A free, open-source extension that lets you open side threads on Claude without losing your place.

TextForge: A Claude Code-built email approval tool for LLM workflows
A developer built TextForge using Claude Code to automate email workflows with mandatory approval gates, preventing LLMs from sending emails without explicit permission. The tool integrates with Pipedrive CRM and required Google CASA2 security audit compliance.

Building a Programming Language with Claude Code: The Cutlet Experiment
Ankur Sethi built a complete programming language called Cutlet using Claude Code over four weeks, with the AI generating every line of code while he focused on guardrails and testing. The language features dynamic typing, vectorized operations, and a REPL, running on macOS and Linux.