mcpField
O
Open Brain

Open Brain

リモート
github.com/Bobby-cell-commitsメモリ・ナレッジ828 週間前に更新
リポジトリ

Open Brain について

Open Brainは、AIクライアントで思考を記録・検索したい人向けのセルフホスト可能なMCPメモリーサーバーです。PostgreSQLとpgvectorによるグラフ構造で記憶を保存し、セマンティック検索、自動重複排除、バックグラウンドでの統合を行います。

主な機能

  1. 01思考の記録とセマンティック検索
  2. 02メタデータによる思考の絞り込み
  3. 03思考と固有表現のグラフ連携
  4. 04重複検出と古い記憶の確認
  5. 05週次レビューと関連する思考の再提示
  6. 06RSSや論文ソースからの取り込み

活用シーン

  1. 01会議メモを保存し意味から検索
  2. 02毎週、繰り返し現れるテーマや未完了事項を確認
  3. 03複数の記憶にまたがるアイデアや人物を関連付け
  4. 04研究情報を個人用メモリーストアに取り込む

MCP 対応

思考の記録、検索、閲覧、分析を行うMCPツールを提供します。MCPクライアントは個人用アクセスキーでデプロイ済みエンドポイントに接続します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://{supabase_project_ref}.supabase.co/functions/v1/open-brain-mcp/mcp認証が必要

ツール

詳細

Open Brain

グラフ構造のMCPメモリ。LongMemEvalベースラインで37.2%を達成 — ほとんどのメモリシステムが公開していないベンチマークです。

MCP クライアント(Claude、ChatGPT など、MCP に対応したあらゆるアシスタント)向けのセルフホスト可能なメモリサーバーです。Telegram、パイプライン、または直接の取り込みから思考を受け取り、フラットなドキュメントストアではなく、Newman-IDF で重み付けされたエンティティグラフに格納します。自動化された Dream サイクルがバックグラウンドで実行され、類似した重複の統合、テーマの変化の追跡、クラスターをまたいだインサイトの統合、古くなったコンテンツのアーカイブを行います。MCP ツールは17個です。PostgreSQL + pgvector を使用します。データはすべて自分で管理できます。

仕組み

flowchart LR
    TG[Telegram Message] --> TGBot[telegram-bot\nEdge Function]
    MCP[AI Client\nClaude/ChatGPT] --> MCPServer[open-brain-mcp\nEdge Function]
    Pipeline[RSS/HF Papers/\nEmergent Mind] --> RunPipeline[run-pipeline\nEdge Function]
    TGBot --> OR1[OpenRouter\nEmbedding + Metadata]
    MCPServer --> OR2[OpenRouter\nEmbedding + Search]
    RunPipeline --> OR3[OpenRouter\nTriage + Embed]
    OR1 --> DB[(Postgres\n+ pgvector)]
    OR2 --> DB
    OR3 --> DB
    MCPServer --> DB
    TGBot --> TGReply[Telegram Reply\nwith Metadata]
取り込み経路

Telegram ボットにメッセージを送ると、telegram-bot Edge Function が Webhook 経由で受け取ります。メッセージを OpenRouter に並行して送り、ベクトル埋め込み(意味を数値で表現したもの)の生成と、トピック、言及された人物、アクションアイテム、テーマ、品質スコア、固有表現などのメタデータ抽出を行います。思考の意味的な重複を確認した後、関連する思考との接続を自動で作成してデータベースに保存し、ボットが取り込んだ内容の要約を返信します。

パイプライン経路

run-pipeline Edge Function は、RSS フィード(AI ニュースレター)、Hugging Face のデイリーペーパー、Emergent Mind(トレンドの arXiv 論文)からアイデアを自動で取り込みます。各項目は関連性を判定され、埋め込みが生成され、重複が除去されたうえで保存されます。GitHub Actions(Supabase デプロイ)または組み込みの cron コンテナ(Docker デプロイ)を使って、スケジュールに従い実行されます。

検索経路

MCP(Model Context Protocol)経由で接続された AI クライアントは、意味検索で思考を検索したり、フィルター(タイプ、トピック、人物、時間)で閲覧したり、集計統計を取得したり、テーマの週次レビューを要求したりできます。open-brain-mcp Edge Function がこれらのリクエストを処理し、個人用アクセストークンで認証します。

ナレッジグラフ

各思考は、ベクトル類似度を使って関連する思考と自動でリンクされます。類似度が0.80を超える接続は、LLM によって型付きの関係(拡張する、矛盾する、根拠となる、置き換える)に分類されます。固有表現(人物、ツール、プロジェクト、組織)が抽出され、共有エンティティグラフに統合されます。共起エッジは、時間の経過とともにどの思考が一緒に取得されたかを追跡し、実際の使用パターンに基づいて接続を強化します。

ストレージ

すべてのデータは Postgres に保存され、高速な類似度検索には pgvector を使用します。思考は、埋め込み(1536次元ベクトル)、メタデータ、型付きの接続、エンティティ参照とともに保存されます。Supabase(マネージドホスティング)にデプロイするか、Docker Compose を使ってセルフホストできます。

デプロイ方法

Open Brain の実行方法を選択してください。

Supabase(ホステッド)Docker Compose(セルフホスト)
セットアッププロジェクトをリンクしてスクリプトを実行cp .env.example .env + ./start.sh
インフラストラクチャSupabase が管理ご使用のマシン/サーバーで実行
スケジュール実行GitHub Actions組み込みの cron コンテナ
コストSupabase の無料枠 + OpenRouterOpenRouter のみ
ガイド以下に続くDocker ガイド

Supabase へのデプロイ

前提条件
  1. Supabase アカウント -- Supabase は、API、認証、Edge Functions(サーバーレスコード)を組み込みで提供するホスト型 Postgres データベースです。supabase.com で無料アカウントを作成してください。新しいプロジェクトを作成します。プロジェクト URL(https://abcdef.supabase.co のような形式)と、サービスロールキー(Settings > API にある長い文字列)が必要です。

  2. Supabase CLI -- Supabase プロジェクトを管理するコマンドラインツールです(データベースのマイグレーションの適用、関数のデプロイ、シークレットの設定など)。

    npm install -g supabase
    
  3. OpenRouter アカウント -- OpenRouter は AI モデルへのリクエストをルーティングします。ここでは、埋め込み(思考のベクトル表現)の生成とメタデータの抽出に使用します。openrouter.ai でアカウントを作成し、ダッシュボードから API キーを生成してください。

  4. Telegram ボット(推奨)-- 外出先で思考を記録する主な方法です。Telegram で @BotFather を通じてボットを作成し、セットアップスクリプトを実行してください(以下を参照)。MCP アクセスのみが必要な場合は、この手順を省略できます。

クイックスタート
1. リポジトリをクローンする
git clone https://github.com/YOUR_USERNAME/open_brain.git
cd open_brain
2. Supabase プロジェクトをリンクする
cd supabase
supabase link --project-ref YOUR_PROJECT_REF
cd ..

ヒント: プロジェクト参照 ID は、Supabase URL のサブドメインです。URL が https://abcdef.supabase.co の場合、プロジェクト参照 ID は abcdef です。

3. ブートストラップを実行する
./scripts/bootstrap.sh

ブートストラップでは、環境のセットアップが案内されます。各シークレット(Supabase URL、サービスロールキー、OpenRouter API キー、Telegram トークンなど)の入力を求め、暗号学的に安全な MCP アクセスキーを自動生成して、すべてを .env.local に書き込みます。すでに .env.local がある場合は、既存の値を表示し、特定の値を更新できます。

4. デプロイを実行する
./scripts/deploy.sh

デプロイでは、データベーススキーマを適用し(ベクトル検索インデックス付きの thoughts テーブルを作成)、シークレットを Supabase にアップロードして、すべての Edge Functions をデプロイします。各操作が完了するたびに、手順ごとのチェックリストが表示されます。最後に、MCP 接続 URL と、そのまま貼り付けて使える Claude Code コマンドが出力されます。

5. 検証を実行する
./scripts/validate.sh

検証では、稼働中のデプロイに対して 8 項目を確認し、すべてが機能することを確かめます。確認項目は、データベースへのアクセス、RPC 関数、Edge Function への到達性、認証、思考の記録、セマンティック検索、思考の一覧表示です。各項目の成功/失敗と最終的な概要を含むチェックリストが出力されます。

Telegram ボットをセットアップする(任意)

Telegram で @BotFather を通じてボットを作成し、セットアップスクリプトを実行してください。

./scripts/setup-telegram.sh YOUR_BOT_TOKEN

スクリプトはトークンを検証し、Webhook を登録して、コマンドのオートコンプリートを設定した後、設定する環境変数とシークレットを出力します。表示された手順に従ってセットアップを完了してください。

AI クライアントを接続する

デプロイ後、AI クライアントを接続すると Open Brain を使用できます。必要な値は次の 2 つです。

  • MCP エンドポイント URL: https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp(Supabase)または http://localhost:80/functions/v1/open-brain-mcp(Docker)
  • MCP アクセスキー: セットアップ中に生成されたキー(.env.local または Docker の .env に保存)

ヒント: デプロイスクリプト(Supabase)または起動スクリプト(Docker)に、値を入力済みの正確な接続コマンドが表示されます。

Claude Code(CLI -- 推奨)
claude mcp add --transport http --header "x-brain-key: YOUR_MCP_KEY" open-brain https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp

これにより Open Brain が MCP サーバーとして登録され、Claude Code はどの会話でも利用できるようになります。YOUR_MCP_KEY と YOUR_REF は実際の値に置き換えてください。

Claude Code(プロジェクトの .mcp.json)

接続をチームで共有するには、プロジェクトのルートにある .mcp.json ファイルに次の内容を追加します。

{
  "mcpServers": {
    "open-brain": {
      "type": "http",
      "url": "https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp",
      "headers": {
        "x-brain-key": "${MCP_ACCESS_KEY}"
      }
    }
  }
}

注: ${MCP_ACCESS_KEY} の構文では環境変数の展開を使うため、キーをバージョン管理に含めずに済みます。この設定を使用する各マシンで、MCP_ACCESS_KEY 環境変数を設定してください。

Claude Desktop

Claude Desktop は、設定ファイル経由でのリモート MCP サーバーに対応していません。代わりに、次の手順を行います。

  1. Claude Desktop > Settings > Connectors を開きます
  2. Add a new connector をクリックします
  3. MCP エンドポイントの URL を入力します:https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp
  4. MCP アクセスキーを使用して、x-brain-key 認証ヘッダーを設定します
ChatGPT (Pro/Team/Enterprise/Edu)
  1. Settings > Connectors > Advanced > Developer Mode に移動します
  2. MCP サーバーの URL を追加します:https://YOUR_REF.supabase.co/functions/v1/open-brain-mcp/mcp
  3. MCP アクセスキーを使用して、x-brain-key 認証ヘッダーを設定します

使用例

Telegram での取り込み

ボットにメッセージを送ると、Open Brain が自動的に処理します:

You: Just had a great meeting with Sarah about the Q3 product roadmap.
     She wants to prioritize the mobile app redesign.

Bot: Captured!
  Type: meeting_note
  Theme: personal
  Topics: q3-roadmap, mobile-app-redesign
  Quality: 0.7
  People: Sarah
  Action items: Prioritize mobile app redesign
  Why: Records a product strategy decision with clear ownership
  Related: "Product planning session notes..." (82% similar)

すべてのメッセージはベクトルとして埋め込まれ、抽出されたメタデータで補強され、重複がチェックされ、関連する思考に自動でリンクされます。また、エンティティはナレッジグラフに解決されます。

セマンティック検索

接続済みの AI クライアントに、ブレインを検索するよう依頼します:

You: Search my brain for anything about product roadmap discussions

Claude: I found 3 relevant thoughts:
  1. (0.89 similarity) Meeting with Sarah about Q3 product roadmap...
  2. (0.82 similarity) Product planning session notes...
  3. (0.76 similarity) Quarterly goals discussion...

セマンティック検索では、異なる言葉を使っていても、意味に基づいて思考を見つけられます。「product planning」について尋ねると、意味が似ているため、「roadmap discussions」に関する思考が見つかります。

週次レビュー

最近の思考について、AI が生成した要約を取得します:

You: Give me a weekly review of my recent thoughts

Claude: Here's your weekly review:
  Themes: Product planning, team meetings, technical architecture
  Open loops: Mobile redesign decision pending, API migration timeline
  Connections: Sarah mentioned in 3 meetings this week, all about mobile

週次レビューでは、過去 7 日間の思考を分析し、テーマ、未解決のままの課題、アイデア間のつながり、思考における不足をまとめます。

利用可能なツール

ツール説明
search_thoughtsグラフ展開(1 ホップのトラバーサル)をオプションで利用できるセマンティック検索
list_thoughts種類、トピック、人物、テーマ、品質、時間で絞り込んで思考を閲覧
thought_stats集計統計:件数、種類/テーマの内訳、上位のトピック/人物
capture_thought任意の AI クライアントから新しい思考を保存(自動埋め込み付き)
get_connections思考からのグラフトラバーサル(extends、contradicts などの型付きリンク)
list_entities頻度順に抽出されたエンティティ(人物、ツール、プロジェクト、組織)を閲覧
weekly_reviewテーマ、未解決のままの課題、次のステップについて AI が生成する要約
analyzeグラフ分析:ハブ、密度、ソース、共起、テーマ
dedup_review類似度ゾーンのヒストグラム付き重複候補
refresh_salienceすべての顕著性スコアを再計算
update_thought内容を書き換え(再埋め込み、メタデータを再抽出)
delete_thought完全に削除(関連するつながりも連鎖削除)
serendipity_digest忘れられていた質の高い思考を再提示
pipelineパイプラインの監視:ヘルスステータス、実行履歴、マージ監査
review_stale古くなった思考候補を確認して対応
migration_guide他のプラットフォームから記憶をインポートする手順

詳しい使い方のパターン、ツールの組み合わせ、見落としやすい動作については、docs/cookbook.md を参照してください。

スキル(Claude Code ワークフロー)

Open Brain には Claude Code スキルが含まれています。これらは、上記の MCP ツールを組み合わせて、より高度な分析を行うための、複数フェーズからなる構造化されたワークフローです。スキルは .claude/skills/ から自動検出され、スラッシュコマンドとして呼び出されます。

スキル内容
/discover最近の思考を対象に、段階的にパターンを発見します。過去のレポート(EVOLVED/NEW/STALE の分類)を基に、並列の調査エージェントを実行し、プロジェクトの優先事項と照合します。
/pulseパイプラインとデータのヘルスレポートです。9 件の並列 MCP 呼び出しをルーブリックで採点(GREEN/YELLOW/RED)し、経時的な調査結果の追跡に実行間メモリを使用し、6 種類の複数指標パターン検出器を備えています。
/brain-healthナレッジグラフのヘルスレポートです。テーマへの注目度、グラフ密度、ハブの健全性、共起の整合性、重複排除の負荷、統合結果、エンティティの全体像を対象とする 12 件の並列 MCP 呼び出しを実行します。

詳しい説明と使い方については、docs/skills/README.md を参照してください。

自動メンテナンス

Open Brain は、ナレッジグラフの健全性を保つためにバックグラウンドでメンテナンスを実行します。これらのジョブは、GitHub Actions(Supabase デプロイ)または組み込みの cron コンテナー(Docker デプロイ)を通じて自動的に実行されます。

ジョブ頻度目的
RSS/HF Papers/Emergent Mind の取り込み1日2回設定済みのソースからアイデアを取り込む
パイプラインの監視1日2回ヘルスチェックを行い、失敗時に Telegram でアラートを送信する
Dream の重複排除1日2回類似度が高い思考を統合する(類似度が 0.92 を超える場合は自動統合、0.85~0.92 の場合は LLM が確認)
グラフ分析キャッシュ毎日ハブ、密度、共起の分析を事前計算する
Dream のテーマ毎週テーマの勢い、ライフサイクルの遷移(新興/アクティブ/衰退)、重心のドリフトを追跡する
Dream の減衰毎週段階的なスコアリングと LLM による確認を通じて、古くなった思考をアーカイブする
Dream の統合毎週思考クラスターから分野横断的な洞察を生成する
共起の減衰毎週使用されていない共起エッジを減衰させる

GitHub Actions のワークフローファイルは、スケジュールをカスタマイズする際の参考として docs/workflows/ に含まれています。

プロジェクト構成

open-brain-server/
  supabase/
    migrations/                   # Database migrations (applied with supabase db push)
    functions/
      _shared/                    # Shared modules (supabase-client, openrouter, types, errors, auto-link, entities, dream-*)
      telegram-bot/               # Telegram capture (primary capture path)
      open-brain-mcp/             # MCP server (17 tools)
        tools/                    # Individual tool implementations
      run-pipeline/               # Automated RSS/HF Papers/Emergent Mind ingestion
      monitor-pipeline/           # Pipeline health monitoring with Telegram alerts
      refresh-graph-analysis/     # Graph analysis cache computation
  docker/                         # Docker Compose self-hosting (6 services)
  pipeline/                       # Python-based local pipeline (Reddit, RSS, briefing)
  scripts/                        # Setup and deployment automation
  tests/                          # Integration tests
  docs/
    cookbook.md                    # MCP tool usage patterns and compositions
    skills/                       # Skill documentation
    workflows/                    # GitHub Actions reference (scheduling)
    writing-a-source.md           # Guide for adding pipeline sources
  .claude/
    skills/                       # Claude Code skills (auto-discovered)
      discover/                   # Incremental pattern discovery
      pulse/                      # Pipeline health report
      brain-health/               # Knowledge graph health report

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。