Skip to content

rahilp/second-brain-cloudflare

Repository files navigation

Second Brain

One shared memory for Claude, ChatGPT, Cursor, Codex, and every other AI tool you use.

License: MIT Built with Cloudflare Workers MCP Compatible

You use Claude for some things, ChatGPT for others, and Cursor for code. But your context, including your projects, decisions, and preferences, does not move with you. You end up explaining yourself again and again.

Second Brain gives every AI tool access to the same persistent memory.

Unlike memory built into a single app, this memory belongs to you. It runs in your own Cloudflare account, stays under your control, and cannot be locked inside one AI platform.

Deploy to Cloudflare

Deploying takes about two minutes. See the Quick Start for the required configuration values.

#3 Product of the Day on Product Hunt

Second Brain for AI: Persistent memory for Claude, ChatGPT, and Cursor

What's new in v2

  • Memory graph. Memories now connect to each other — automatically as you save, or explicitly with the new link and connections tools. Recall can follow those connections (the hops option) to surface related context that a plain search would miss, and the dashboard has a new Graph tab to explore your memory visually.

  • Notion sync. Connect your Notion workspace from Settings → Integrations in the dashboard. Pages you share with the connection sync into memory, stay updated as they change in Notion, and surface in recall alongside everything else. Nightly automatic sync, or on demand with Sync now.

  • Graceful degradation. If the Vectorize index is missing, recall now falls back to keyword search with a clear notice instead of failing, a new /health endpoint reports index status, and the dashboard shows a banner with the exact fix.

See it in action

Second Brain Demo

How it works

Connect Second Brain to the AI tools you already use, then save information as it comes up.

Second Brain retrieves memories by meaning rather than exact wording. Asking:

What did I decide about the pricing model?

can surface the correct memory even when the original note used completely different words.

Memory tools

Tool What it does
remember Store ideas, decisions, preferences, and project context
append Add an update to an existing memory
update Replace an existing memory
recall Find memories by meaning rather than exact wording
list_recent Browse recently saved memories
forget Permanently delete a memory

Save from anywhere

Memory is most useful when capturing information is easy. Second Brain connects to the tools and moments where context already exists.

  • AI clients: Use remember directly within Claude, ChatGPT, Cursor, Codex, and other MCP clients.

  • Command line: Run brain remember, brain recall, and other commands from your terminal.

    npm install -g second-brain-cf-cli
  • Notion: Connect your Notion workspace from Settings → Integrations in the web dashboard. Create an internal connection in the Notion developer portal (a connection, not a personal access token — only connections appear in a page's Connections menu), share the pages you want remembered with it, and paste its secret — shared pages sync into memory automatically (nightly, or on demand with Sync now) and stay updated as they change in Notion.

  • Obsidian: Automatically sync notes using the Second Brain Sync plugin, also available through Obsidian Community Plugins.

  • Browser extension: Capture a page or highlighted text using the Chrome extension.

  • iPhone and iPad: Use the Brain Dump, Text Brain Dump, and Save to Brain shortcuts in integrations/ios-shortcuts/.

  • Bookmarklet: Use the lightweight bookmarklet in integrations/bookmarklet.js.

Quick Start

Set up your Second Brain in three steps.

1. Choose an authentication token

Your AUTH_TOKEN is the password used to access your Second Brain.

Use either:

  • A memorable phrase, such as coffee-lover-2026

  • A randomly generated token:

    openssl rand -base64 32

Save this token somewhere secure. You will need it when authorizing clients and testing your deployment.

2. Deploy to Cloudflare

Click Deploy to Cloudflare and follow the prompts.

Enter the following values during setup:

FIELD VALUE
Dimensions 384
Metric cosine
AUTH_TOKEN The token you created in step 1

Cloudflare will provision the required resources and deploy your Worker automatically.

When deployment finishes, copy your Worker URL. It will look similar to:

https://your-worker-name.your-subdomain.workers.dev

3. Connect your AI clients

Choose the instructions for the clients you use.

Claude Code or Codex CLI

Run the command for your operating system, replacing YOUR-WORKER-URL with the Worker URL from step 2.

macOS, Linux, WSL, or Git Bash

curl -fsSL https://raw.githubusercontent.com/rahilp/second-brain-cloudflare/main/scripts/connect-ai-clients.sh | bash -s -- https://YOUR-WORKER-URL

Windows PowerShell

iex "& { $(irm https://raw.githubusercontent.com/rahilp/second-brain-cloudflare/main/scripts/connect-ai-clients.ps1) } -WorkerUrl https://YOUR-WORKER-URL"

The setup script configures the MCP connection and global instructions using OAuth. Your authentication token is not passed to the script.

ChatGPT or Claude desktop and web apps

These clients require two manual setup steps:

  1. Add the provided custom instructions to the app's personalization settings.

  2. Add the following URL as a custom MCP connector:

    https://YOUR-WORKER-URL/mcp
    

Follow the client-specific instructions in the wiki for the exact menus and settings.

Your Second Brain is now ready to use across every connected client.

Optional: Verify the deployment

Replace YOUR-WORKER-URL and YOUR-TOKEN with your own values:

curl -X POST https://YOUR-WORKER-URL/capture \
  -H "Authorization: Bearer YOUR-TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"content":"second brain is working","source":"test"}'

A successful response will look like:

{"ok":true,"id":"..."}
How OAuth authentication works

The /mcp endpoint supports OAuth 2.0 discovery and dynamic client registration.

When you add the following URL as an MCP connector:

https://YOUR-WORKER-URL/mcp

a compatible client will:

  1. Detect the authentication requirement.
  2. Register itself with your Worker.
  3. Open the hosted login page in your browser.
  4. Ask you to enter your AUTH_TOKEN.
  5. Store the resulting OAuth authorization.

This means your authentication token does not need to be placed in the client configuration or included in the connector URL.

The following clients support this flow:

  • ChatGPT
  • Claude.ai
  • Claude Code
  • Codex CLI

You can also configure supported command-line clients manually:

claude mcp add --transport http second-brain https://YOUR-WORKER-URL/mcp
codex mcp add second-brain --url https://YOUR-WORKER-URL/mcp

Clients that cannot open a browser, such as mcp-remote in a headless environment, can use static token authentication:

Authorization: Bearer YOUR-AUTH-TOKEN

OAuth requires the OAUTH_KV namespace for client registrations and tokens. The Deploy to Cloudflare button provisions it automatically.

Manual deployment

To deploy without the one-click button:

npm install
npm run vectors:create
npm run deploy

npm run vectors:create creates the Vectorize index (384 dimensions, cosine). Wrangler then provisions the remaining Cloudflare resources automatically and fills in the required values in wrangler.jsonc.

Documentation

Technology

Second Brain is built with:

  • Cloudflare Workers
  • D1 SQLite
  • Cloudflare Vectorize
  • Workers AI
  • Cloudflare KV
  • Model Context Protocol
  • TypeScript

It runs within Cloudflare's free tier at personal scale.

Your data stays in your own Cloudflare account.

Star History

Star History Chart

MIT License · Discussions

About

One memory layer, every AI tool. Store anything once — recall it in Claude, ChatGPT, Cursor, or any MCP client. Self-hosted on Cloudflare's free tier.

Topics

Resources

License

Stars

569 stars

Watchers

3 watching

Forks

Sponsor this project

Contributors