MCP AI BRAIN

Model Context Protocol · Persistent memory

Your memory, available
in every AI session.

An MCP server that gives Claude Code, claude.ai and Codex Obsidian-style persistent memory — Markdown notes with [[wiki-links]], full-text search and backlinks, isolated per user with Row-Level Security in Supabase. Native OAuth 2.1 login for claude.ai; bearer PATs for every other client. Status: LIVE.

5 tools · OAuth 2.1 + PAT · Row-Level Security · Supabase Postgres

Claude Code claude.ai Codex OAuth 2.1 Row-Level Security Markdown + wiki-links Claude Code claude.ai Codex OAuth 2.1 Row-Level Security Markdown + wiki-links
What it is

Persistent memory for every AI session

MCP AI Brain is a hosted Model Context Protocol server that gives Claude real access to its own note space — Markdown with [[wiki-links]], tags, backlinks and full-text search, stored behind per-user Row-Level Security in Supabase Postgres.

Real connection

Works natively in any MCP client

On claude.ai, the server implements its own OAuth 2.1 Authorization Server so the native "Add custom connector" flow works end to end. In clients without built-in OAuth — Claude Code CLI, for instance — you connect with a Personal Access Token via the Authorization: Bearer header.

Real wiki-links

[[note]] creates automatic backlinks

Save a note with [[another note]] in the body and the link is resolved, with the backlink appearing on the other side — just like Obsidian. brain_recall returns the full note together with its outbound links and backlinks, so context connects itself.

Status

LIVE in production

v1 in production, hosted at mcp-ai-brain.vercel.app — Supabase Postgres with per-user Row-Level Security, a dashboard SPA with email-OTP login to issue and revoke Personal Access Tokens and browse a graph view of your notes.

What it already does

The complete tool catalog

5 tools grouped by function — from saving a brand-new note to deleting it for good. Everything below is implemented and live.

Create & update

1 tool
  • brain_storeCreates or updates a note (title, content_md, tags?, overwrite?) and automatically resolves any [[wiki-link]] in the content.

Search & recall

2 tools
  • brain_searchRanked full-text search across title and content_md, with context snippets (query, tags?, limit?).
  • brain_recallReturns the full note by title or id, along with its outbound links and backlinks.

List

1 tool
  • brain_listLists the most recent notes, filterable by tag, with a configurable limit.

Delete

1 · idempotent
  • brain_deleteDeletes a note by title or id. Idempotent by design — calling it twice never errors or has a side effect.

From draft to recalled context: brain_store saves it → brain_search or brain_recall brings it back → brain_list shows what's most recent — [[wiki-links]] connect everything on their own.

Memory security model

Your notes never cross with another user's

Persistent memory is only useful if it's private — so per-user isolation is enforced at the database, not just trusted to the application layer.

Isolation via Row-Level Security

Every note belongs to a single user in Postgres, with no query exception — isolation is guaranteed by the database, not left to the application layer.

PATs stored as SHA-256 hashes

Personal Access Tokens are never stored in plain text — only the hash. A database leak doesn't expose usable tokens.

OAuth 2.1 with mandatory PKCE S256

The claude.ai flow requires PKCE S256 and audience binding (RFC 8707) — the issued token is only valid for that specific resource.

Rotating refresh tokens

Every refresh issues a new token and invalidates the previous one. Reusing an already-rotated refresh token revokes the entire family — a signal of a stolen token.

brain_delete is idempotent

Deleting the same note twice never errors or has a side effect — safe for automations that might retry the call.

Full-text search only runs in your space

brain_search and brain_list never cross accounts — the same database-level Row-Level Security applies to reads and writes alike.

How to connect

Up and running in minutes

Hosted server, zero setup: add the connector, authorize with the email you purchased with, and Claude can already save and recall context across sessions.

Zero setup

Hosted — mcp-ai-brain.vercel.app

Recommended for claude.ai and any other MCP client with native OAuth support. Nothing to install; the login runs entirely on the server's own consent screen.

  1. Add the connector. In claude.ai → Settings → Connectors → Add custom connector, paste the URL below.
    # Connector URL
    https://mcp-ai-brain.vercel.app/mcp
  2. Log in with the email you purchased with. The server's own consent screen sends a 6-digit OTP code to the email used to buy Claude Code Architect.
  3. Authorize. Done — Claude can now call brain_store, brain_search and the rest of the tools. The same flow works on any other MCP client with native OAuth.
First steps

No native OAuth? Use a PAT

For clients without a built-in OAuth flow — like the Claude Code CLI — generate a Personal Access Token in the dashboard and add the server with the Authorization: Bearer <PAT> header.

  1. Save something.
    # you, in the chat:
    "Save this to my memory with the
     tag 'onboarding': ..."
    # → brain_store
  2. Recall it later.
    "What have I already noted about
     [topic]?"
    # → brain_search / brain_recall
  3. Check what's recent.
    "List my most recent notes
     about [tag]"
    # → brain_list

Frequently asked questions

Still have a question? Write to bruno@b2tech.io.

What is MCP AI Brain and how does it work?
It's a hosted Model Context Protocol server that gives any AI session Obsidian-style persistent memory: Markdown notes with [[wiki-links]], tags, backlinks and full-text search, stored in Supabase Postgres behind per-user Row-Level Security. Claude can save and recall context across sessions instead of forgetting everything at the start of every new conversation.
How much does it cost?
Included with the Claude Code Architect training purchase on Hotmart — no separate charge. Log in to the dashboard (mcp-ai-brain.vercel.app) with the same email used at purchase to unlock access. Not a student yet? Check out the training at claude-code.b2tech.io.
Which MCP clients does it work with?
claude.ai, with a native connector via OAuth 2.1. Claude Code, Codex, and any other MCP client that supports bearer-token authentication, using a Personal Access Token generated in the dashboard.
Is it safe? Is my data isolated from other users?
Yes — every note belongs to a single user via Row-Level Security in Postgres, with no query exception, and Personal Access Tokens are stored as SHA-256 hashes, never in plain text. Full-text search only ever runs inside your own note space. See the full security model above.
How do I connect?
Recommended: in claude.ai go to Settings → Connectors → Add custom connector, paste https://mcp-ai-brain.vercel.app/mcp, and log in with the email you purchased with (a 6-digit OTP code sent by the server's own consent screen). For clients without native OAuth, generate a Personal Access Token in the dashboard and use the Authorization: Bearer header.
What happens if I lose my PAT?
Revoke the lost token in the dashboard and generate a new one — the old one stops working immediately, and you just need to swap the header in your MCP client.
Get started

Stop re-explaining context every session.
Ask Claude to remember it for you.

Markdown notes with [[wiki-links]], full-text search and backlinks — isolated per user with Row-Level Security, with native OAuth 2.1 login on claude.ai or a bearer PAT on any other MCP client.

5 tools · OAuth 2.1 or PAT login · per-user Row-Level Security