Skip to main content
Glama

I keep running into the same problem — my draft got garbled. Let me start a fresh, complete, correct output with a clean mind. I will not reconstruct the tiny pieces, I will compose the whole final answer string once.

Final answer now, from here, with attention:

サーバー

1k ノート

5k ノート

10k ノート

Seekstone @10k との比較

🥇 Seekstone

1.1

3.1

6.2

obsidian-mcp-rs

6.1

19

37

約6倍遅い

obsidian-mcp-pro

46

213

430

約70倍遅い

obsidian-mcp-server

82

356

732

約118倍遅い

obsidian-mcp

82

405

811

約131倍遅い

mcpvault

96

467

958

約155倍遅い

mcp-obsidian

164

740

1,550

約250倍遅い

obsidian-tc

264

1,302

2,714

約440倍遅い

どの競合も、クエリごとにサブプロセスを起動するか HTTP ラウンドトリップを行っており、ほとんどがボールトの規模に応じて増大する処理を実行します。Seekstone はプロセス内でウォームなインデックスを保持しています — IPC もネットワークも不要 — そのため、キーワード検索は 10,000 ノートでも一桁のミリ秒に収まります(セマンティックモードでは、エンベディングとスキャンに約 8 ms の固定オーバーヘッドが加わるだけです)。しかもその差は規模が大きくなるほど広がります:1k → 10k ノートと規模が拡大するにつれ、競合は 5〜10 倍遅くなるのに対し、Seek はほぼ変化しません。最速の代替 — クエリのたびにボールトを再スキャンする obsidian-mcp-rs — でさえ、10k ノートのウォーム状態で 約6倍遅くペイロードは3倍です。REST プロキシ世代は 約90〜250倍遅くなります。

Seekstone は、ベンチマークセットの中で、どのボールトサイズでも約 2 KB のペイロードと一桁ミリ秒のキーワード遅延の両方を実現する唯一のサーバーです — そして、私たちの知る限り、公開されて再現可能なベンチマークを持つ唯一の Obsidian MCP サーバーでもあります。ハーネス、合成ボールト、完全な結果はすべてオープンソースです:benchmark-scaling.mdharness を参照してください。クローンして、実行して、検証してください。


インストール

自分に合った方法を選んでください。

AIエージェントを使っていますか?このプロンプトを貼り付けましょう

Claude Code, Cursor, または他のコーディングエージェントを使っているなら、あなた自身が操作を行う必要はありません— 以下のプロンプトを貼り付ければ、エージェントがインストールを実行します:

Install the MCP server for this editor, seekstone. Run npx -y seekstone init --client code --write (use desktop, or vscode for other clients). It auto- ot detects my Obsidian vault. If it lists several, ask me which one to choose and re-run with --vault "<path>". If there are any errors, relay them to me, then tell me to restart the session so the seekstone tries to load.

seekstone init は完全に非対話型です。 --write を付けると、ボールトを検証してクライアント設定を1 回でパッチします(Claude Code は claude mcp add 、それ以外のクライアントはタイムスタンプ付きバックアップ付きの加法的 JSON パッチ)。

オプション 1 — ワンクリック (Claude Desktop、ターミナル不要)

  1. GitHub Releases から seekstone.mcpb をダウンロード

  2. Claude Desktop で開きます — Finder でダブルクリックするか、右クリック → アプリケーションから開く → Claude Desktop

  3. プロンプトで自分の Obsidian ボールトのフォルダを選ぶ

seekstone が Claude のツールバーに表示されたら成功です。JSON の編集もターミナルも Node.js も不要です。

オプション 2 — ガイド付きセットアップ (CLI ユーザー推奨)

ターミナル を開き(macOS: Cmd+Space を押して「ターミナル」と入力し、Enter)、次を実行パシます:

npx -y seekstone init

Seekstone が Claude のツールバーのプラグアイコンの下に表示されたら成功です。

Seekstone は Obsidian 自身のボールトレジストリを読み取って、ボルトを自動検出し、検証します。そして、貼り付けるための設定ブロックを出力するか、Claude Desktop を直接パッチします:

# Auto-detect vault, print config to paste
npx -y seekstone init

# Auto-detect vault, patch Claude Desktop in place (with backup)
npx -y seekstone init --write

# Specify vault explicitly if you have multiple
npx -y seekstone init --vault "/path/to/vault"

# Auto-configure Claude Code in one step (auto-detects vault, runs claude mcp add)
npx -y seekstone init --client code --write

# Or just print the Claude Code command without running it
npx -y seekstone init --client code

オプション 3 — 手動設定(Claude Desktop)

claude_desktop_config.json(設定 → 開発者 → Edit Config)に追加:

{
  "mcpServers": {
    "seekstone": {
      "command": "npx",
      "args": ["-y", "seekstone"],
      "env": { "SEEKSTONE_VAULT": "/absolute/path/to/your/vault" }
    }
  }
}

オプション 4 — Claude Code

ボールトの自動検出から Claude Code の設定まで、1コマンドで完了します:

npx -y seekstone init --client code --write

または、手動でボールトのパスを明示的に指定したい場合は:

claude mcp add seekstone --env SEEKSTONE_VAULT=/absolute/path/to/your/vault -- npx -y seekstone

オプション 5 — Cursor

ワンクリック: — その後、Cursor の MCP 設定で SEEKSTONE_VAULT を自分のボールの絶対パスに設定します(このリンクはプレースホルダーをインストールします)。

または、CLI でボールトを自動検知して、~/.cursor/mcp.json にパッチを当てます(バックアップ付き):

npx -y seekstone init --client cursor --write

または、~/.cursor/mcp.json(グローバル)または <project>/.cursor/mcp.json (プロジェクトごと)に手動でブロックを追加:

{
  "mcpServers": {
    "seekstone": {
      "command": "npx",
      "args": ["-y", "seekstone"],
      "env": { "SEEKSTONE_VAULT": "/absolute/path/to/your/vault" }
    }
  }
}

オプション 6 — VS Code

ワンクリック: — その後、VS Code がサーバー設定を開いたとき SEEKSTONE_VAULT を自分のボールの絶対パスに設定します(リンクはプレースホルダーをインストールします)。

または、CLI でボルトを自動検知し、現在のディレクトリに ワークスペース設定.vscode/mcp.json)を書き込みます:

npx -y seekstone init --client vscode --write

またはターミナルから追加:

code --add-mcp '{"name":"seekstone","command":"npx","args":["-y","seekstone"],"env":{"SEEKSTONE_VAULT":"/absolute/path/to/your/vault"}}'

または、.vscode/mcp.json(ワークスペース)に手動でブロックを追加するか、コマンドパレットの MCP: Open User Configuration(ユーザー固有)してください。VS Code には癖があるので注意:トップレベルのキーは serversmcpServers ではない)、また "type": "stdio" が必須:

{
  "servers": {
    "seekstone": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "seekstone"],
      "env": { "SEEKSTONE_VAULT": "/absolute/path/to/your/vault" }
    }
  }
}

VS Code 1.102+ が必要です。seekstone は Copilot Chat の Agent mode ツールピッカーに表示されます。

その他の MCP クライアント (Windsurf, Cline, …)

Seekstone は標準的な MCP stdio サーバーです — 任意の MCP クライアントそのまま利用できます。クライアントの MCP 設定に上記と同じ JSON ブロック(command: npxargs: ["-y", "seekstone"]、env SEEKSTONE_VAULT)を追加してください。


インストール後に行う必要があります:クライアントを再起動すると、起動時に Seekstone がボールトをウォークスルーし、インメモリの全文検索インデックス(数千ノートなら数秒)を構築して、編集しながら最新に保ちます。下の19のツールを Claude が利用できます。

CLI オプションには Node.js ≥ 22 が必要です。ワンクリックの .mcpb バンドルには外部依存はありません。

Seekstone がコンテキストを節約してくれるなら、⭐ Star the repo を検討してください — 他の人が見つけるのに役立ちます。


Related MCP server: mcp-obsidian-ek

Claude はあなたのボールトで何ができますか?

Seekstone を接続したら、次のような Claude に質問できるようになります:

  • 「検索 my notes for Everything」 anything about [topic]; — Give me a summary — uses search、全ファイルではなくランク付けされた抜粋を返します。

  • 「#project タグが付いたノートをぜんぶ見つけてタイトルリストを表示して」list_notes をタグフィルターで使用

  • **[プロジェクト]ノートの

Tool

Description

create_note

ノートを作成します(任意のfrontmatter + 本文)。親ディレクトリは自動的に作成されます。

delete_note

ノートをボールトの.trash/フォルダーへ移動します(Obsidian互換、復元可能)。permanent: trueを渡すと、復元できない削除になります。

move_note

ノートを移動または名変更します — そのノートを指す他のノート内のwikilinkとマークダウンリンクは、壊れないように書き換えられます(rewriteLinks: falseで無効化可能)。移動先ディレクトリは自動的に作成されます。

rename_heading

ノート内の見出しを改名します — ボールト全体のすべての[[note#heading]]wikilinkと埋め込み(embed)が書き換えられ、参照が機能し続けます(エイリアスは保存され、フェンス付きコードブロックはそのままです)。

append_note

frontmatterに触れずに、ノート本文へテキストを追加します。

patch_frontmatter

既存のキーの順序を変えたり引用符のスタイルを変えたりせずに、frontmatterのキーを設定・更新・削除します。

patch_note

見出しまたはブロック参照の位置で、テキストを追加・先頭挿入・置換します(createIfMissingでセクションを追加)— frontmatterは変更されません。

replace_in_note

ノートの本体のテキストを検索・置換します — リテラルまたは正規表現、大文字小文字の区別、単語全体一致、オプションのlimit(デフォルトではすべての出現を置換)、ドライランでのプレビューに対応。

append_periodic_note

今日の定期ノートに追記します。まだ存在しない場合は、テンプレートから作成します。

すべての書き込みツール(append_notepatch_notepatch_frontmatterreplace_in_noterename_headingmove_notedelete_noteappend_periodic_note、およびoverwrite: true付きのcreate_note)は、オプションのcompare-and-swapをサポートしています。read_noteで取得したcontentHashprevHashとして渡すと、その際の間にノートが変更されていた場合、呼び出しはきれいに失敗します — 並行編集が黙って破棄されてたり、まだ見ていないコンテンツを移動・削除してしまったりすることがありません。変更を伴うすべての結果は新しいcontentHashを返すため、続けて編集する場合でも再読み取りの必要はありません。

高速 かつ 完全。 Seekstoneは、私たちのベンチマークセットの中で、list_tagsoutline_noteget_backlinksget_linksをファーストクラスのツールとして公開している唯一のObsidian MCPサーバーです。さらに、4つの機能が当社を際立たせています:

  • 完全にプロセス内で動作するローカル・セマンティック検索。 SEEKSTONE_SEMANTIC=1を設定すると、searchmode: "semantic""hybrid"が追加されます — 小型のオンデバイス埋め込みモデルによる意味ベースの検索です(一度限りづつnpx -y seekstone fetch-modelでダウンロード。実行中のサーバーがネットワークに触れることはありません)。私たちがコミットした10kノートのベンチマークボールでは、説明文形式のクエリは、キーワード検索が30%だったのに対し、70%の確率で正しいノートを上位5件に挙げました(コミット済み評価)。私たちがベンチマークした他のサーバーの中に、オフラインでネイティブ依存を持たない埋め込みを搭載したものはありません。そして、私たちは同じゴールのセット上で、競合する製品を競争的に測定しました(コミット済み比較):obsidian-mcp-proのOllamaベースのセマンティック検索は実際により高精度ですが(当方のランニングの72% hit@5に対し、90% — 相手は1億3700万のパラメータモデル、当方は800万のモデル)、その代償としてクエリが12倍遅く(p50で 165 ms 対 14 ms)、インデックス構築が71倍遅く(26.5分 対 22秒のコールド時)、ペイロードが約7倍(クエリあたり 15.4 KB 対 約2 KB)になり、さらにインストール・運用が必要な別のサーバーが付随します。obsidian-mcp-proは、10kノートのボールトをどうしてもインデックス化できませんでした(そのJSONベクトルストアは、約15分間埋め込みの後にJavaScriptの文字列上限に達するため)。どちらを選択するかにお任せします — 数字はすべてコミット済みです。

  • 定期ノート、ファイルシステムから直接。 get_periodic_noteappend_periodic_noteは、あなたのボールト自身の設定(.obsidian/daily-notes.jsonおよび「Periodic Notes」プラグインの設定)を読み取って、日次・週次・月次・四半期の、年次のノートパスを解決します — Obsidianが閉じていても動作します。 RESTベースのどのサーバーも、この処理はアプリが実行している間にしかできません。

  • バイト同一のfrontmatterを保証。 patch_frontmatterはYAMLをその場で編集します。キー順序・引用スタイル・コメントを保存し、書き込み安全性はテストハーネスによってバイト単位で検証されています。私たちが調査した範囲で、この領域振りを提供するサーバーは他にありません。

  • ゼロカップリング。 Obsidianアプリも、Local REST APIプラグインも、プラグインのバージョンズレも不要です。ただあなたのディスク上にあるファイルだけが使われます。


設定

変数

必須

説明

SEEKSTONE_VAULT

必須

Obsidianボールしかしトへの絶対パス。

SEEKSTONE_LOG_LEVEL

任意

error | warn | info(デフォルト)| debug

SEEKSTONE_LOG_FILE

任意

絶対パス。設定した場合、JSON行形式のログがここに追記されます(サイズによるローテーションあり)。

SEEKSTONE_LOG_MAX_SIZE

任意

SEEKSTONE_LOG_FILEのログローテーションしきい値(例:10mb、デフォルト5 MB)。

SEEKSTONE_WATCH_POLL

任意

1に設定すると、標準のOSイベントの代わりにstatポーリングをして変更を検出します。ネットワークドライブ、WSL、一部のコンテナでは遅くなりますが、確実です。

SEEKSTONE_READ_ONLY

任意

1に設定すると読み取り専用で実行します。9の書き込みツールはツールリストから完全に登録解除され(無理に呼び出しても拒否される)ため、セミセッションはあなたのボールトスーツを変更できないことを確証できます。

SEEKSTONE_WRITE_PATHS

任意

カンマ区切りのボール相対グロブパターン(例:journal/**,inbox/*.md)。一致するパス配下でのみ書き込むことが許可され、ボール内の残りは読み取り専用になります。

SEEKSTONE_SEMANTIC

任意

1に設定すると、セマンティック検索が有効になります(searchmode: "semantic""hybrid"の)が追加される)。ローカル埋め込みモデルが必要です — npx -y seekstone fetch-modelで一度だけダウンロードします。実行中のサーバーがネットワークに触れることはありません。

SEEKSTONE_MODEL_PATH

任意

Model2Vec 埋め込みモデルを置くディレクトリ(デフォルト:fetch-modelが置く場所、つまりキャッシュディレクトフォルダの下)。

SEEKSTONE_CACHE_DIR

any任意

ダウンロードしたモデルとボルトごとの埋め込みキャッシュのキャッシュルート(デフォルト~/.cache/seekstone)。


仕組み

Seekstoneはfast-globでボールトを走査し、各ノートのfrontmatterを解析します(バイト単位で解析するので、書き込み前後でfrontmatterの領域がバイト単位で同じであることを検証できます)。そして、メモリ内にMiniSearchの全文検索インデックスを構築します。検索は 、ノート全体ではなく、順位付けされた短い抜粋を返します。この「抜粋なのか文書全体ではない」という設計は、コンテキスト利用の削減という利点をもたらします。クロスプラットフォームのファイル監視ライブラリ(chokidar)が、Obsidianで編集する際にインデックスを常に最新に保ちます。

書き込みは、設計上控えめです:append_noteはfrontmatterに一切触れません。patch_frontmatterはYAML文書をそのまま編集し、再シリアライズしないので、キーの順序、引用名称、コメントが維持されます。

また、実行し続けられるように設計しています。Seekstoneは、コミットのたびにCI上でmacOS・Linux・Windowsでテスト済みです。書き込みツールは最悪の(ReDoS)入力に対しても堅牢化され、予期しない。

コードベースを何層にもなって見るには — パッケージ、サーバーの内部、エンドツーエンドのリクエストの流れ、計測ハーネス — docs/ARCHITECTURE.mdをご覧ください。


セキュリティとプライバシー

Seekstoneは、ローカルディスクのSEEKSTONE_VAULT配下のファイルを読み取ります — また書き込みツールを介して変更します。実行中のサーバーはネットワークコールを一切行わずテレメトリを送信しません(パッケージ内唯一のネットワークパスは、明示的なnpx -y seekstone fetch-modelのサブコマンドだけです — 任意のセマンティック検索モデルを、SHA-256で検証し、サービスの開始前に終了する、一度だけのダウンロードです)。ログはデフォルトでメタデータのみです(ノートの本文が現れるのはdebugレベルのときだけ)。ボールの外に書き込まれるものは、あなたが設定したオプションのログファイルと、SEEKSTONE_SEMANTIC=1を設定している場合の~/.cache/seekstoneのボールごとの埋め込みキャッシュのみです(このオリジンはあなたのノートから導出されたもので、どこにも送られません)。

書き込み安全性の契約

AIにノートへの書き込みアクセスを許可することは、「私たちを信じてください」では足りない価値があります。Seekstoneには、名前付きのテスト済み契約 — docs/WRITE-SAFETY.md — が入っていて、**8つの保証はそれぞれ、それを実装するコードとそれを証明するテストに

私のVaultで使用しても安全ですか? Seekstoneは、明示的に(上記の表にある9つの)書き込みツールのいずれかを呼び出した場合を除き、ファイルを変更しません:create_noteappend_notepatch_notepatch_frontmatterreplace_in_notemove_noterename_headingdelete_noteappend_periodic_note。実行中のサーバーはネットワークリクエストを行いません(セマンティック検索のモデルは、明示的なfetch-modelサブコマンドによって帯域外で一度だけ取得されます)。Vaultパスはサンドボックス化されており、その外部を読み書きできるツールはありません。さらに厳しくすることもできます:SEEKSTONE_READ_ONLY=1はセッションから書き込みツールを完全に除去し、SEEKSTONE_WRITE_PATHSは書き込みを許可したフォルダ(たとえばjournal/**のみ)に制限します。どちらもディスパッチ層で強制されるため、チェックを忘れるツールはありません。

Windowsでも動作しますか? はい。SeekstoneはすべてのコミットでCI上でmacOS、Linux、Windowsの各環境でテストされています。

どのくらいの規模のObsidian Vaultを扱えますか? Seekstoneは数千のノートを含むVaultを対象にプロファイリングされています。コミット済みの10,000ノートのベンチマークVaultでは、コールドインデックスのビルドに数十秒かかり、プロセスRSSは約100 MB未満に収まります。一般的な個人Vaultは数秒でインデックスされます。セマンティックモードは起動後にバックグラウンドで埋め込みを行います(10kノートで約20秒。Vaultごとにキャッシュされるため、再起動時は1秒未満でリロードされます)。

seekstone initはどうやって私のVaultを自動的に見つけるのですか? Obsidian自身のVaultレジストリ(obsidian.json)を読み取ります。これはObsidianが既知のVaultを追跡するために使用しているファイルと同じです。Vaultが1つの場合は自動的に選択されます。複数の場合は一覧表示され、--vaultで選択するよう促されます。

.mcpbファイルとは何ですか? MCP Bundle(MCPバンドル)です。サーバーとそのマニフェストを含む自己完結型のzipファイルです。インストールするには、Finderでダブルクリックするか(または右クリック→プログラムから開く→Claude Desktop)、Vaultを選択するだけです。ターミナルやNode.jsは不要です。


コントリビューションと開発

コントリビューションは歓迎します。ガイドラインはCONTRIBUTING.mdを参照してください。あるいは、すぐに始めてください:

npm install                                          # install all workspace deps
npm test                                             # run all tests
npm run lint                                         # biome check
npm run build -w seekstone                           # tsup → dist/
npm run build:mcpb                                   # build seekstone.mcpb bundle

npx vitest run packages/server/src/tools/search.test.ts  # single test file
npx vitest run -t 'parses a typical frontmatter'         # single test by name
npx tsc -p packages/server/tsconfig.json --noEmit        # typecheck

リポジトリ構成

Package

目的

packages/server

公開されているseekstone MCPサーバー(19のツール、stdio、MiniSearchインデックス、chokidarウォッチャー)。

packages/core

共有のVaultプリミティブ — walk、frontmatterパーサー、リンク/タグ抽出、アウトライン、パーセンタイル、pmap、Model2Vecエンベーダー。サーバービルドにバンドルされています。

packages/harness

上記のペイロード数値を生成したプロファイラー+ベンチマーク+書き込み安全性ハーネス(REST対ファイルシステム)。開発専用で、未公開です。

サーバーには実際のビルドがあり(tsup → dist/)、npmで公開されています。ハーネスはtsxを介してソースから実行されます。リリースは自動化されています — docs/RELEASING.mdを参照してください。

計測ハーネス

ハーネスは、ファイルシステム直接操作方針の動機となったベンチマーク数値を再現するために存在します。デフォルトの再現パス(コミット済みの合成Vaultに対するfs/seekstoneバックエンド)には追加のものは何も必要ありません。RESTベースのバックエンド(restmcp-obsidianobsidian-mcp-server)のみ、Local REST APIプラグインが動作しているObsidianが必要です。

export SEEKSTONE_VAULT="/absolute/path/to/your/vault"

npx tsx packages/harness/src/cli.ts profile --vault "$SEEKSTONE_VAULT"
npx tsx packages/harness/src/cli.ts bench \
  --queries packages/harness/queries/default.json \
  --stats reports/vault-stats.json
npx tsx packages/harness/src/cli.ts safety --vault "$SEEKSTONE_VAULT"

ハーネス環境変数:SEEKSTONE_REST_API_KEY(Local REST APIプラグインから)とSEEKSTONE_REST_URL(デフォルトはhttps://127.0.0.1:27124)。


サポート

Seekstoneは無料のオープンソースです。コンテキスト(コスト)を節約できたなら、コーヒーをご馳走してください


ライセンス

MIT © Shaq Mughal

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
4dResponse time
2dRelease cycle
36Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Appeared in Searches

Latest Blog Posts

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/shaqmughal/seekstone'

If you have feedback or need assistance with the MCP directory API, please join our Discord server