mcpField
V
Vortex Notes

Vortex Notes

ローカル
vortex-notes.pages.devメモリ・ナレッジ01 週間前に更新

Vortex Notes について

Vortex Notesは、エンドツーエンド暗号化されたMarkdownノートを、人とエージェントが共有する記憶として扱い、ローカルのセマンティック検索も提供します。Markdownファイルを正本とし、エージェントは許可されたスペースに限定された個別キーでアクセスでき、キーは失効できます。

主な機能

  1. 01エンドツーエンド暗号化Markdownノート
  2. 02エージェント別キーと範囲指定アクセス
  3. 03ローカルのハイブリッド検索
  4. 04デバイス間同期とバージョン復元
  5. 05MCPツールとコマンドライン操作

活用シーン

  1. 01エージェントによるプロジェクトノートの検索と更新
  2. 02タスク開始時のリンク付きノートの文脈構築
  3. 03日時付き日誌と追跡可能な事実の記録
  4. 04デバイス間の同期と過去版の復元

MCP 対応

ノートの検索、読み取り、書き込み、編集、日誌の追記、事実の記録、コンテキスト構築を行うMCPサーバーを提供します。エージェントは許可されたスペースに限定された個別キーで接続でき、キーは失効可能です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"vortex-303-vortex-notes": {
"command": "npx",
"args": [
"-y",
"vortex-notes"
],
"env": {
"VORTEX_NOTES_VAULT": "<VORTEX_NOTES_VAULT>",
"VORTEX_NOTES_READONLY": "<VORTEX_NOTES_READONLY>"
}
}
}
}
起動コマンドnpx -y vortex-notes
設定が必要な環境変数
VORTEX_NOTES_VAULTVault folder to serve. Optional: after `npx vortex-notes@latest pair` the paired vault is found automatically.
VORTEX_NOTES_READONLYSet to 1 for search-and-read-only access.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmvortex-notes0.1.11

ツール

9

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
modeenumいいえ検索モード(デフォルトは hybrid)hybrid | keyword
limitintegerいいえ結果の最大数(デフォルトは 8)
querystringはい自然言語またはキーワードによるクエリ

詳細

Vortex Notes

エンドツーエンド暗号化されたノート。AI エージェントのメモリーとしても使えます。

▶ アプリを開く · ライブデモ · npm · セルフホスト

Vortex Notes ウェブアプリ:暗号化された保管庫を備えた、ライブプレビュー対応のマークダウンエディター

ノートは、自分が所有するプレーンな .md ファイルです。検索しやすく、Git で管理でき、Obsidian と互換性があります。 Vortex Notes は、ノートアプリとエージェントメモリーストアがそれぞれ別々に担っていた次の2つの機能を、1か所にまとめます。

  • サーバーは何も読み取れません。 12語のフレーズだけでアカウント全体を管理でき、キーはブラウザー内で導出されます。リレーに保存されるのは暗号文のみです。スキーマに平文フィールドは存在せず、サーバー上にリセットするものがないため、リセット用のパスワードもありません。
  • エージェントは単なる同乗者ではなく、主体です。 エージェントは専用のキーを持ちます。キーはエージェントのマシン上で生成され、送信されることはありません。あなたが認証し、許可したスペースに範囲を限定でき、1つのコマンドで取り消せます。エージェントが行う編集にはすべて、エージェントの署名が付きます。

この組み合わせ、つまり エージェントが十分に活用できる かつ サーバーが内容を読み取れない という、これまで空白だった領域を埋めます。


アプリ

単なるビューアーではなく、本格的なアプリです。iPhone/Android/Mac にインストール可能(オフラインでも動作)で、WebSocket によるデバイス間の同期は1秒未満。Obsidian 風のライブプレビュー対応マークダウンエディターは、デスクトップでもスマートフォンでも快適に使えます。

スマートフォンで使う Vortex Notes    エージェントとデバイス:それぞれが独自の、範囲を限定でき取り消し可能なキーを持つ

  • パスワードでロックできるノート — パスワード または 12語のフレーズでノートをロックできます。タイトルは表示されたまま、本文は第2の封印されたレイヤーとなり、ロックを解除するまで自分のデバイスでも読み取れません。
  • バージョン履歴と復元 — 同期されたすべてのバージョンが保存されます。以前のバージョンを復元したり、パスワードを忘れる前にロックしたノートを復元したりできます。
  • 公開ノート — ワンタップで、任意のノートをテーマ付きの公開ページとして公開できます。
  • 12語のフレーズを変更 — 何も失わずにリカバリーフレーズを更新できます。サインイン済みのすべてのデバイスとエージェントはそのまま使い続けられ、古いフレーズは無効になります。

エージェントメモリー(MCP)

ファーストパーティの MCP サーバーは、Claude Code、OpenClaw、Cursor、その他すべての MCP クライアントに、CRUD のミラーではなく、タスクに適したツールを提供し、ヘッドレスでも動作します。

  • search_notes · read_note · write_note · edit_note(ピンポイント編集)
  • append_daily — タイムスタンプ付きの日誌エントリー
  • remember(fact, supersedes) — ライフサイクルを持つ事実。置き換えられた事実も表示され続け、取り消し線が引かれ、置き換えた事実を示します。監査可能で、ブラックボックスではありません。
  • build_context(topic) — 関連度の高いノートを全文で取得し、さらに [[wikilinks]] を1段階たどります。エージェントは1回の呼び出しで、タスクに適したコンテキストを得られます。

検索はデバイス上で行われます。 BM25 と多言語埋め込みを組み合わせたハイブリッド検索です(SQLite FTS5 + sqlite-vec + 小型のローカルモデル)。API キーは不要で、データがデバイスの外に出ることもありません。英語で検索して、約100言語にわたるスペイン語のノートを見つけられます。


クイックスタート

アプリを試す

vortex-notes.pages.dev/app を開いてアカウントを作成し(12語を保存してください)、書き始めましょう。ホーム画面に追加するとインストールできます。これでセットアップは完了です。メールアドレスもパスワードも不要です。

エージェントを接続する

エージェントのマシンで:

npx -y vortex-notes@latest pair

6 文字のコードが表示されるので、アプリで承認します(ユーザーメニュー → エージェントとデバイス → エージェントをペアリング)。エージェントには専用の、スコープが限定された取り消し可能なキーが付与され、リカバリーフレーズを目にすることはありません。pair を実行すると、そのマシンで見つかったすべてのハーネスが、ペアリング済みのボールトに固定されて設定されます。

  • Claude Code:ユーザースコープなので、すべてのプロジェクトで利用できます
  • Hermes:その後、/reload-mcp を入力します
  • OpenCode:~/.config/opencode/opencode.json に追加されます

エージェントに MCP がない場合でも、同じツールをシェルコマンドとして使えます。MCP を使わないエージェントをご覧ください。 SSH 経由でも動作します(スマートフォンから承認できます)。その他の stdio MCP クライアントでは、次のように設定します。 { "command": "npx", "args": ["-y", "vortex-notes", "mcp"], "env": { "VORTEX_NOTES_VAULT": "<path pair printed>" } }。 読み取り専用にするには、--read-only を追加します。

Claude.ai、ChatGPT、その他のチャットアプリを接続する

ブラウザーやスマートフォンのチャットアプリから MCP サーバーにアクセスするには、URL が必要です。アプリで、ユーザーメニュー → エージェントとデバイス → チャットアプリを接続を選ぶと、クラウドエージェントが作成され、シークレットのコネクター URL が表示されます。

  • Claude(ウェブ、デスクトップ、モバイル):Settings → Connectors → Add custom connector → URL を貼り付けます
  • ChatGPT:Settings → Apps & Connectors → Advanced → Developer mode → Create → URL を貼り付けます(認証なし)

これは、ゼロ知識設計に対する唯一のオプトイン例外です。エージェントがアクセスできるノートを提供できるよう、リレーはそのエージェントのキーを保存時に暗号化して保持します。キーのスコープは限定でき、読み取り専用にもでき、取り消すと URL は無効になります。それ以外はすべてエンドツーエンドで暗号化されたままです。

CLI を使う
npm install -g vortex-notes
vortex-notes init                              # create a vault
vortex-notes search "that idea about pricing"  # hybrid semantic + keyword
vortex-notes serve                             # local web viewer at 127.0.0.1:7303
MCP を使わないエージェント:同じツールをコマンドとして使う

すべての MCP ツールはコマンドとしても使えるため、シェルを実行できるエージェント(OpenClaw スタイルのハーネス、スクリプト、cron、git フック)でも同じように動作します。pair の後はコマンドがペアリング済みのボールトを自動的に見つけます。各コマンドは、読み取り前と書き込み後に同期します。

npm install -g vortex-notes@latest                # once, so `vortex-notes` is on PATH
vortex-notes context "kiln"                       # top notes in full + linked notes
vortex-notes read projects/kiln.md
vortex-notes daily "fired the test tiles"
vortex-notes remember "Kiln max is cone 8" --topic kiln --supersedes "cone 10"
vortex-notes write "Glaze tests" "Three recipes…" --folder studio --tags glaze
vortex-notes edit clay.md --append "Order more in May."
vortex-notes recent --days 3 --json               # --json on any command

write/edit/daily/remember では、テキストに - を指定すると stdin から読み込みます。エラー時は終了コード 1 を返します(--json を指定すると {"error": …})。全コマンドの一覧は vortex-notes --help で確認できます。これらを使ったすぐに利用できる OpenClaw スキルもあります。

.vortex/index.db のインデックスは破棄可能です。常に Markdown ファイルが信頼できる唯一の情報源です。VORTEX_NOTES_NO_SEMANTIC=1 を指定すると、埋め込みをスキップします(キーワード検索のみとなり、モデルはダウンロードされません)。

リレーをセルフホストする

ホスト型リレー vortex-notes.pages.dev は利便性のためのものであり、特定のサービスへの依存を強いるものではありません。独自のリレーを実行できます。

vortex-notes relay --port 7300 --db ~/relay.db   # the ciphertext store, web app and chat connectors
vortex-notes setup --relay http://<host>:7300    # on each computer: your 12 words, then sync
npx -y vortex-notes@latest pair --relay http://<host>:7300   # an agent machine

http://<host>:7300/app を開くと、ブラウザーでアカウントを作成できます。

  • データは --db ファイルです(デフォルトは ~/.vortex-notes/relay.db)。バックアップしてください。 --db :memory: は使い捨てのテスト用です。
  • チャットアプリ(Claude、ChatGPT):
    • コネクターを作成する前に、RELAY_CONNECTOR_KEK に 64 桁の 16 進数文字列(openssl rand -hex 32)を設定すると、キーが保存時に暗号化されます。
    • リレーを HTTPS 経由で公開します(Caddy、nginx、またはトンネルを使用)。チャットアプリから localhost にはアクセスできません。
    • OAuth のディスカバリーは Host/X-Forwarded-Host ヘッダーに従うため、リバースプロキシをそのまま利用できます。
  • その他の設定:
    • RELAY_QUOTA_MB は各アカウントのストレージ容量を制限します。
    • RELAY_ADMIN_ACCOUNT(アカウント ID)を設定すると、ウェブアプリで管理者向け統計情報が有効になります。
  • **ネイティブアプリ:**Mac アプリと iPhone アプリは、現時点ではホスト型リレーを使用します。CLI、エージェント、ウェブアプリは、どのリレーでも動作します。

暗号化の仕組み

12語の BIP39 フレーズから、アカウントの署名鍵と暗号化鍵が導出されます。各デバイスとエージェントはそれぞれランダムな鍵ペアを持ち、アカウント鍵によって認証される account → device → agent のチェーンを形成します。スペースのコンテンツ鍵は、読み取り可能な各プリンシパルに対して封印されます。リレーは、署名付きリクエストごとにスコープと読み取り専用の制約を適用しますが、保持するのは封印されたデータだけです。

悪意のあるリレーや召喚状を受けたリレーにできることは、古い暗号文や暗号文の一部を配信しないことです(シーケンス番号の欠落で検知できます)。できないことは、メモ、タイトル、鍵を読み取ること、編集を偽造すること、変更を気付かれないように行うことです。WebSocket 同期チャネルで送られるのは、コンテンツを含まない「スペースが変更されました」という通知だけです。これは呼び鈴であり、データそのものではありません。

幅広い利用状況を把握するため、リレーは IP から大まかな国(2文字のコード)をメモリ上で導出し、そのコードのみを保存します。IP 自体がディスクに書き込まれたり、ログに記録されたりすることはありません。

技術スタック

TypeScript、すべて MIT ライセンスです。暗号には @noble / @scure、CodeMirror 6、 better-sqlite3、sqlite-vec、transformers.js、 marked を使用しています。リレーは小規模な Node サービスで、ウェブアプリは暗号処理をすべてクライアント側で行う単一の esbuild バンドルです。単体テストは48件、Playwright のブラウザテストスイートは10件です。

MIT © Vortex303

コメント

MCP は初めてですか?

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

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