search_thoughtsLABSCO SUMMARY
It publishes a benchmark number, which most memory servers do not.
37.2% on LongMemEval is a figure you can argue with, and that is the point — the alternative is a memory system that makes no measurable claim at all. The design behind it is the graph: connections above 0.80 similarity get typed by an LLM, so "contradicts" and "supersedes" are stored relations rather than something re-derived at query time, and co-occurrence edges strengthen links that keep being retrieved together. Running it means running Postgres with pgvector and paying OpenRouter for embeddings.
What it is
A memory server you host yourself. Thoughts arrive from Telegram, RSS and paper pipelines, or straight from an AI client, and land in an entity graph rather than a flat document store — embedded, deduplicated, auto-linked and entity-resolved on the way in.
What you get
capture_thoughtsaves a new thought with automatic embedding;search_thoughtsdoes semantic search with optional one-hop graph expansionlist_thoughtsbrowses by type, topic, person, theme, quality and time;thought_statsreturns counts and breakdownsget_connectionstraverses typed links — extends, contradicts, is-evidence-for, supersedes — classified by an LLM above 0.80 similaritylist_entitiesbrowses the people, tools, projects and organizations extracted from your notesweekly_reviewsummarises themes, open loops and next steps;analyzereports hubs, density, sources, co-occurrence and themes- Maintenance is exposed rather than hidden:
dedup_reviewwith a similarity histogram,refresh_salience,review_stale,serendipity_digestfor forgotten high-quality notes, andpipelinefor ingest health update_thoughtre-embeds and re-extracts metadata;delete_thoughtcascades connections;migration_guidecovers importing from other platforms
Requirements
Either Supabase or Docker Compose, plus PostgreSQL with pgvector and an OpenRouter API key for embeddings and metadata extraction. Clients connect over streamable HTTP to the deployment's /open-brain-mcp/mcp path with your key in an x-brain-key header — for Claude Code, claude mcp add --transport http --header "x-brain-key: ...". A Telegram bot is optional and is the intended capture path on the go.
Setup effort
Follow the published steps — npm install -g supabase
USE CASES
Capturing a thought before it evaporates
Send it to the Telegram bot and get back what was extracted — type, theme, topics, people, action items and related notes.
Finding what you already thought about something
Search by meaning, then expand one hop to pull in what it connects to.
Taking stock of the week
Get themes, open loops and connections summarised instead of scrolling a log.
Keeping the store from rotting
Review duplicate candidates and stale notes, and let forgotten high-quality ones resurface.
17 tools
Listed in project docs. Your client may show a different list.
list_thoughtsthought_statscapture_thoughtget_connectionslist_entitiesweekly_reviewanalyzededup_reviewrefresh_salienceupdate_thoughtdelete_thoughtserendipity_digestpipelinereview_stalemigration_guidedeep_searchBEFORE YOU INSTALL
What to know first
Tools you get
17 tools named in the project's documentation.
Requires
- A client that can reach a remote MCP server over HTTP
- For the deployment only (not on the client machine): a Supabase project with its URL and service role key, the Supabase CLI and an OpenRouter API key; bootstrap.sh prompts for them and deploy.sh uploads them to Supabase
- The MCP access key bootstrap.sh generates, sent by your client in the x-brain-key header (the project-scope config reads it from MCP_ACCESS_KEY)
INSTALLATION
Connect your client
Server setup
You deploy this yourself before any client can connect. Prerequisites: a Supabase project (its project URL and service role key), the Supabase CLI, and an OpenRouter API key.
npm install -g supabase
git clone https://github.com/Bobby-cell-commits/open-brain-server.git
cd open-brain-serverLink your Supabase project. Your project ref is the subdomain in your Supabase URL.
cd supabase
supabase link --project-ref <YOUR_PROJECT_REF>
cd ..Bootstrap prompts for each secret and generates your MCP access key; deploy applies the schema, uploads secrets, deploys the Edge Functions and prints your MCP connection URL; validate checks the live deployment.
./scripts/bootstrap.sh
./scripts/deploy.sh
./scripts/validate.shThen connect a client with the URL and key deploy printed, using one of the client blocks below.
MCP Clients
Claude Code
claude mcp add --transport http --header "x-brain-key: <YOUR_BRAIN_KEY>" open-brain https://<YOUR_REF>.supabase.co/functions/v1/open-brain-mcp/mcpClaude Code — project scope
{
"mcpServers": {
"open-brain": {
"type": "http",
"url": "https://<YOUR_REF>.supabase.co/functions/v1/open-brain-mcp/mcp",
"headers": {
"x-brain-key": "${MCP_ACCESS_KEY}"
}
}
}
}Claude Desktop
Open Claude Desktop > Settings > Connectors.
Click Add a new connector.
Enter the MCP endpoint URL:
https://<YOUR_REF>.supabase.co/functions/v1/open-brain-mcp/mcpConfigure the x-brain-key authentication header with your MCP access key.
ChatGPT
Go to Settings > Connectors > Advanced > Developer Mode.
Add the MCP server URL:
https://<YOUR_REF>.supabase.co/functions/v1/open-brain-mcp/mcpConfigure the x-brain-key authentication header with your MCP access key.