Desktop Setup (Claude Desktop)
Run Crow locally with Claude Desktop using stdio transport. No cloud deployment needed — everything runs on your machine.
Prerequisites
- Claude Desktop installed
- Node.js 18 or later
- Git
Step 1: Clone and Install
git clone https://github.com/kh0pper/crow.git
cd crow
npm run setupThis installs dependencies and creates the local SQLite database at data/crow.db.
Step 2: Configure API Keys
Copy the example env file and add your keys:
cp .env.example .envEdit .env and add keys for the services you want. All core servers (memory, research, sharing, blog) work without any API keys — only storage (requires MinIO) and external integrations need keys.
Security note: Your
.envfile contains API keys that act like passwords. Never share it, commit it to GitHub, or post its contents anywhere. The file is already listed in.gitignoreso git won't track it, but always double-check before pushing code. See the Security Guide for more about keeping your keys safe.
Step 3: Generate Claude Desktop Config
npm run desktop-configThis outputs a JSON block for your Claude Desktop configuration. Copy it and add it to:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Step 4: Restart Claude Desktop
Quit and reopen Claude Desktop. You should see the MCP server icons in the input area, indicating Crow is connected.
Verify and Connect Your AI
Check that everything is working:
npm run checkTry it out — in Claude Desktop, say:
"Remember that today is my first day using Crow" "What do you remember?"
Reducing Context Usage
By default, each Crow server is a separate entry in your Claude Desktop config. For fewer context tokens, use npm run mcp-config -- --combined to generate a single crow-core entry that activates servers on demand. See the Context & Performance guide for details.
Limitations
- Only works with Claude Desktop (stdio transport)
- Only accessible from the machine running the servers
- No OAuth — direct process connection
- For mobile/web access, use the Cloud Deploy instead
Want remote access?
Chain this desktop instance with a cloud instance for remote access and sync. Set up Oracle Cloud or Google Cloud, then chain them together — your memories stay in sync across both.