second-brain-cloudflare
One shared memory for Claude, ChatGPT, Cursor, Codex, and every other AI tool you use.
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.
The easiest way to get started is the desktop app. It sets everything up for you in about two minutes — no terminal, no accounts to wire together, no technical steps.
⬇ Download for Mac or Windows
Prefer to run it yourself? Use the one-click Deploy to Cloudflare button, or follow the manual steps. See the Quick Start for all three options.
#3 Product of the Day on Product Hunt
Related MCP server: Segundo Cérebro
What's new in v2.2
Advanced Settings. Seven plain-language controls for how your Second Brain remembers and recalls — how much recent memories outrank old ones, how varied results are, how far to follow connections, how much detail comes back, how strictly duplicates are blocked, how aggressively old memories are compressed, and which AI model does the thinking. Open it with ⌘, in the desktop app. Changes apply to your next search, with no redeploy.
Change how your memories are read. Pick a finer reading for more precise matching, and the app rebuilds your search data for you — resumable if your daily AI allowance runs out, and reversible until the final step. Your memories themselves are never touched.
Lost your password? The unlock screen is no longer a dead end. Sign in to Cloudflare and set a new one. You can also change your password deliberately from Connections, and disconnect every AI tool in one step.
Find a brain you already have. Setting up on a new computer? Sign in to Cloudflare and the app finds your Second Brain — identified from your account's own records, not by asking the Worker. Typing the address yourself still works exactly as before.
Now in Italian, with native menus on Mac and Windows, and a download button in the dashboard sidebar.
What's new in v2.1
Calendar sync. Connect Google, Outlook, or iCloud calendars from Settings → Integrations by pasting your calendar's private iCal (
.ics) link — no OAuth, no developer setup. Upcoming events sync into memory and stay current, so recall knows what's on your plate; past events are kept as a bounded history.Email capture. Connect Gmail or iCloud with an app password from Settings → Integrations, and Second Brain captures the meaningful mail from your inbox — automatically filtering out newsletters, marketing, receipts, and other automated noise — so real correspondence surfaces in recall.
Integrations, organized. The Integrations screen now groups connections into Knowledge, Calendars, and Email, so it stays easy to navigate as more are added. Synced items are classified like anything else you save.
What's new in v2
Memory graph. Memories now connect to each other — automatically as you save, or explicitly with the new
linkandconnectionstools. Recall can follow those connections (thehopsoption) 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, the whole brain keeps working keyword-only: recall falls back to keyword search with a clear notice, and captures, appends and updates are still committed rather than rejected. A
/healthendpoint reports index status, and the dashboard shows a banner with the exact fix.
See it in action

How it works
Connect Second Brain to the AI tools you already use, then save information as it comes up.
Your Second Brain runs as a single Worker in your own Cloudflare account. Every install (the desktop app, CLI, browser extension, Obsidian, and each AI client) is a client pointed at that one Worker. There is nothing to sync between devices; they all read and write the same memory.
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 |
| Store ideas, decisions, preferences, and project context |
| Add an update to an existing memory |
| Replace an existing memory |
| Find memories by meaning rather than exact wording |
| Browse recently saved memories |
| 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
rememberdirectly 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-cliNotion: 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.
Calendar: Connect Google, Outlook, or iCloud from Settings → Integrations and paste your calendar's private iCal (
.ics) link (Google: your calendar → Integrate calendar → "Secret address in iCal format"; Outlook: Calendar → Shared calendars → Publish; iCloud: Share Calendar → Public Calendar). Read-only — upcoming events sync into memory automatically (nightly, or on demand with Sync now), and past events are kept as a bounded history.Email: Connect Gmail or iCloud from Settings → Integrations with an app password (Google: Account → Security → App passwords; iCloud: appleid.apple.com → App-Specific Passwords). Read-only — meaningful messages are captured into memory, while newsletters, marketing, receipts, and other automated mail are filtered out.
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
Pick the option that fits you. They all deploy the same Second Brain into your own Cloudflare account — the difference is only how much setup you do by hand.
Option 1 — Desktop app (recommended, no technical steps)
The lowest-friction way to get started. Download the Second Brain desktop app for Mac or Windows, open it, and it walks you through setup in about two minutes: you pick a password, sign in to (or create) a free Cloudflare account, and it builds your Second Brain in your own private space and connects your AI tools for you. After setup it becomes the app you open your dashboard with every day.
It also sets up the rest of the ecosystem from one place: one click to configure the CLI, and guided setup for the browser extension, the Obsidian plugin, and Notion. The menu bar keeps every connection and integration a click away.
Nothing to install beyond the app itself — no terminal, no git, no configuration values to copy. Developers: see installer/ for how it works and how to build it.
The Mac build is signed and notarized by Apple. The Windows build is not yet code-signed, so Windows may show a SmartScreen "unrecognized app" notice on first launch — click More info → Run anyway. (Code signing for Windows is in progress.)
Option 2 — One-click Cloudflare deploy
Prefer to deploy the Worker yourself without the app? Set it up in three steps.
1. Choose an authentication token
Your AUTH_TOKEN is the password used to access your Second Brain. It is the same value every client asks for. Whether a surface calls it your "auth token", "bearer token", or "password", they all mean this one token, sent in the Authorization: Bearer header.
Use either:
A memorable phrase, such as
coffee-lover-2026A 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 |
|
Metric |
|
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.dev3. 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-URLWindows 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:
Add the provided custom instructions to the app's personalization settings.
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":"..."}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/mcpa compatible client will:
Detect the authentication requirement.
Register itself with your Worker.
Open the hosted login page in your browser.
Ask you to enter your
AUTH_TOKEN.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
Cursor
You can also configure supported command-line clients manually:
claude mcp add --transport http second-brain https://YOUR-WORKER-URL/mcpcodex mcp add second-brain --url https://YOUR-WORKER-URL/mcpClients that cannot open a browser, such as mcp-remote in a headless environment, can use static token authentication:
Authorization: Bearer YOUR-AUTH-TOKENOAuth requires the OAUTH_KV namespace for client registrations and tokens. The Deploy to Cloudflare button provisions it automatically.
Opera shows “Did you mean gmail.com?” during Authenticate
Some browsers flag a false phishing warning when your Cloudflare account subdomain contains gmail-com. Cloudflare auto-generates that label for accounts linked to a Gmail address, so your Worker URL can look like:
https://second-brain.your-name-gmail-com-s-account.workers.devOpera may treat gmail-com in the hostname as a fake Gmail site and block the OAuth login page before it loads.
Quick workarounds
Click Ignore on Opera’s warning page, then enter your
AUTH_TOKENon the Second Brain sign-in page.Use another browser (Chrome, Edge, Firefox) as your system default, or open the auth link there.
In Cursor: remove the MCP server, add it again, then click Connect.
Permanent fix — change your workers.dev subdomain
Open Workers subdomain settings in the Cloudflare dashboard.
Click Change next to your current subdomain.
Pick a name without
gmail(for examplevincenzofabianoinstead ofvincenzofabiano92-gmail-com-s-account).Update every client config to the new URL:
https://second-brain.YOUR-NEW-SUBDOMAIN.workers.dev/mcpRemove and re-add the MCP connector in Cursor (or other clients), then authenticate again.
Alternative — custom domain
Attach a domain you control under Worker → Settings → Domains & Routes. Browsers will not confuse a custom hostname with Gmail.
Stale OAuth registration in Cursor
If the browser opens a plain error instead of the sign-in form (“invalid authorization request” or similar), Cursor may be using an old OAuth client_id. Remove the Second Brain MCP entry, add it again with the correct Worker URL, then authenticate once more.
Claude Code says Second Brain is “not available”
Some MCP clients (notably Claude Code) load tool schemas lazily. /mcp can show connected while remember / recall do not appear in the session’s visible tool list at first. That does not mean the server is down.
Verify with a real tool call — ask the agent to run recall with a natural-language query. If it returns results (or “no memories found”), MCP is working.
Only treat Second Brain as unavailable when a tool call returns an error (auth failure, network error, 5xx). Re-run scripts/connect-ai-clients.sh or .ps1 if your global instructions still tell the agent to report unavailable without calling a tool.
Option 3 — Manual deployment
For developers who want full control from the command line. Requires Node.js and a Cloudflare account.
npm install
npm run vectors:create
npm run deploynpm 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. Then connect your AI clients using the same steps as Option 2, step 3.
Documentation
Setup Guide: Deploy the Worker, configure authentication, and connect AI clients
How It Works: Semantic search, chunking, memory classification, and duplicate detection
Connect to AI Clients: ChatGPT, Claude, Claude Code, Codex, and other MCP clients
Capture from Anywhere: Browser extension, bookmarklet, iOS Shortcuts, and share sheet
Web UI: Dashboard and mobile interface
Obsidian Plugin: Installation, configuration, and sync modes
API Reference: REST and MCP endpoints
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.
Code signing policy
Windows builds of the Second Brain desktop app are code-signed.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Team and roles:
Role | Members |
Authors | |
Reviewers | |
Approvers |
All release binaries are built from this repository's source by GitHub Actions (installer-release.yml). Every signing request is reviewed and manually approved by an approver before a signed release is published.
Privacy statement: This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. Second Brain is self-hosted by design: during setup the desktop app talks to Cloudflare only to create resources inside your own Cloudflare account, and afterwards it communicates exclusively with your own private Second Brain. Your memories and credentials are never sent to the project maintainers or any other third party.
Star History
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceSelf-hosted semantic memory for AI agents. Save worklogs, decisions, and notes via MCP, then recall them across sessions by meaning rather than keyword. Backed by Postgres + pgvector with local embeddings (multilingual-e5-base).Last updated1MIT
- Flicense-qualityDmaintenanceSelf-hosted personal knowledge graph running on Cloudflare, connecting to Claude as an MCP server for capturing atomic concepts and cross-domain analogies.Last updated20
- Alicense-qualityDmaintenanceA minimal, tag-free personal memory system that syncs across all Claude interfaces (mobile, web, desktop, Claude Code). Built on Cloudflare's edge stack for zero-maintenance serverless operation.Last updated15MIT
- Alicense-qualityCmaintenanceProvides a shared MCP memory layer for AI clients, backed by Cloudflare Workers and D1, enabling personal Markdown notes management.Last updatedMIT
Related MCP Connectors
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
One memory, every AI: Claude, ChatGPT, Perplexity, Gemini, Cursor, OpenClaw, Hermes, any MCP client.
Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rahilp/second-brain-cloudflare'
If you have feedback or need assistance with the MCP directory API, please join our Discord server