mcpField
S
smart-connections

smart-connections

ローカル
github.com/gogogadgetbytes検索338 週間前に更新

smart-connections について

smart-connections は、Smart Connections の埋め込みを使って Obsidian の保管庫を検索する読み取り専用 MCP サーバーです。Claude Code などの MCP クライアント向けに、ローカルでのクエリ埋め込み生成と厳格なパス検証を備えています。

主な機能

  1. 01テキスト・セマンティック検索
  2. 02クエリ埋め込みのローカル生成
  3. 03ノートの取得とインデックス一覧
  4. 04読み取り専用のパス検証
  5. 05オフライン動作

活用シーン

  1. 01テキストの質問からノートを検索
  2. 02指定ノートに似た内容を特定
  3. 03ノートの取得やインデックスの確認

MCP 対応

テキスト、埋め込み、類似ノートの検索に加え、ノート取得、インデックス一覧、モデル情報のツールを MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"gogogadgetbytes-smart-connections": {
"command": "npx",
"args": [
"-y",
"@gogogadgetbytes/smart-connections-mcp"
],
"env": {
"VAULT_PATH": "<VAULT_PATH>"
}
}
}
}
起動コマンドnpx -y @gogogadgetbytes/smart-connections-mcp
設定が必要な環境変数
VAULT_PATHAbsolute path to your Obsidian vault (e.g., /Users/you/Documents/MyVault)

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

パッケージ
npm@gogogadgetbytes/smart-connections-mcp0.2.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Smart Connections MCP Server

License: MIT Node.js Version

Smart Connections 向けのセキュリティを最優先した MCP サーバーです。読み取り専用です。パスを検証します。監査可能です。

Smart Connections の埋め込みを Claude Code やその他の MCP クライアントに公開し、Obsidian の保管庫をセマンティック検索できるようにします。

開発の背景

Claude Code から Obsidian の保管庫をセマンティック検索する必要がありました。既存の選択肢には、次のような問題があります。

  • パス検証がない - ユーザー入力がファイル操作に直接渡されます
  • 書き込みアクセス - 不要な変更用ツールを公開するものがあります
  • 依存関係が重い - 実質的にはベクトル演算である処理に、PyTorch/transformers が必要です

この実装の特徴:

  • 依存関係を最小限に抑制 - MCP SDK + Transformers.js(テキスト検索用)
  • フェイルクローズのセキュリティ - realpath によるパス検証、シンボリックリンクの検出
  • 監査可能 - 実際に読める小規模な TypeScript コードベース

機能

  • テキスト検索 - ノートのパスだけでなく、プレーンテキストで検索できます
  • セマンティック検索 - Smart Connections の埋め込みを使用します
  • ローカル推論 - Transformers.js を使用します(Smart Connections と同じモデル)
  • 読み取り専用 - 書き込み操作やシェル実行はありません
  • セキュア - 厳格なパス検証と、サイズに上限を設けたレスポンス
  • オフライン - Obsidian を起動していなくても動作します

セキュリティモデル

項目保証
パスの制限すべてのファイルアクセスを保管庫のルートに照らして検証します
トラバーサル防止../ とシンボリックリンクを利用した攻撃をブロックします
読み取り専用書き込み操作は公開されません
レスポンスの制限結果数(50)、コンテンツの長さ(10KB)に上限を設けます
フェイルクローズエラーが発生した場合はアクセスを拒否し、決して回避しません
監査ログセキュリティイベントをコンテキストとともに記録します

インストール

前提条件
  • Node.js 18+
  • Smart Connections プラグインをインストールした Obsidian
  • 埋め込みの作成(Obsidian で保管庫を開き、Smart Connections にインデックスを作成させます)
セットアップ
git clone https://github.com/gogogadgetbytes/smart-connections-mcp
cd smart-connections-mcp
npm install
npm run build
Claude Code の設定

Claude Code の設定に追加します。

claude mcp add smart-connections \
  -e VAULT_PATH="/path/to/your/obsidian/vault" \
  -- node /path/to/smart-connections-mcp/dist/index.js

または、~/.claude.json に手動で追加します。

{
  "mcpServers": {
    "smart-connections": {
      "command": "node",
      "args": ["/path/to/smart-connections-mcp/dist/index.js"],
      "env": {
        "VAULT_PATH": "/path/to/your/obsidian/vault"
      }
    }
  }
}

サーバーを読み込むには、Claude Code を再起動してください。

使い方

設定が完了すると、Claude Code で次のツールを使用できます。

テキストで検索
"Search my vault for notes about backup strategies"
→ Uses search_by_text tool
類似ノートを検索
"Find notes similar to Topics/Claude_Code.md"
→ Uses search_similar tool
ノートの内容を取得
"Show me the content of Topics/Obsidian.md"
→ Uses get_note tool
インデックス済みのノートを一覧表示
"What notes are indexed in my vault?"
→ Uses list_indexed tool

ツール

ツール説明
search_by_textフリーフォームのテキストで検索します(埋め込みをローカルで計算します)
search_similar指定したノートとセマンティックに類似するノートを検索します
search_by_embedding生の埋め込みベクトルを使って検索します
get_note特定のノートの内容を取得します(パスを検証します)
get_model_info埋め込みモデルの設定を取得します
list_indexedインデックス済みのノートをすべて一覧表示します

設定

変数必須説明
VAULT_PATHはいObsidian の保管庫への絶対パス

制限事項

  • 保管庫は1つ - MCP サーバーのインスタンスごとに保管庫を1つ設定します
  • Smart Connections のインデックスを使用 - ノートの埋め込みはプラグインから取得し、テキストクエリの埋め込みはローカルで計算します
  • 書き込みアクセスなし - 仕様です。編集には Obsidian を使用してください
  • 初回実行時にモデルをダウンロード - 約50MBのモデルを ~/.cache/huggingface/ にキャッシュします

開発

# Build
npm run build

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

コントリビューション

CONTRIBUTING.md をご覧ください。セキュリティに重点を置いた PR を歓迎します。

セキュリティ

セキュリティ上の脆弱性を報告する場合は、[email protected] までメールでご連絡ください。セキュリティ上の懸念について、公開の issue は作成しないでください。

ライセンス

MIT - LICENSE をご覧ください

クレジット

コメント

MCP は初めてですか?

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

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