Semantic Search MCP
Semantic Search
Markdownファイルに対するセマンティック検索。キーワードだけでなく、意味で関連するノートを見つけます。新しいノートを作成する前に重複を検出します。
2つのサーバー転送方式をサポートしています:
stdio MCP — Claude Code統合用(セッションごとに1プロセス)
HTTP — 1つのポートでMCP-over-HTTPとRESTを統合。すべてのクライアントで共有される1つのウォームプロセス
機能
sentence-transformersを使用したセマンティック検索
重複/類似ノートの検出
ファイル監視による自動インデックス更新
マルチディレクトリ対応
インラインタグ抽出 (
#tag-name)
Related MCP server: mcp-recall-md
インストール
CPUのみのインストール — macOS(すべてのMac、Apple SiliconまたはIntel)およびNVIDIA GPUを搭載していないLinux/Windowsに推奨。約5GBのCUDAバイナリを節約します。macOSでは、Apple GPU (MPS) がPyTorchの組み込みMPSバックエンドを介して自動的に検出・使用されます。「CPU」というラベルはCUDAが存在しないことを指すだけであり、実行時の計算デバイスを指すものではありません。
uv tool install --index https://download.pytorch.org/whl/cpu \
git+https://github.com/bborbe/semantic-searchCUDAインストール — 専用のNVIDIA GPUを搭載したLinux/Windows専用。macOSには適用されません(MacではNVIDIA CUDAはサポートされていません)。
uv tool install git+https://github.com/bborbe/semantic-searchアップグレード
uv tool upgrade semantic-searchサーバーモード
stdio MCP (セッションごとのClaude Code)
Claude Codeセッションごとに1つのプロセスを生成します。シンプルですが、各セッションが約400MB〜1GBのモデルコピーを個別に読み込みます。
claude mcp add -s project semantic-search \
--env CONTENT_PATH=/path/to/vault \
-- \
uvx --from git+https://github.com/bborbe/semantic-search semantic-search-mcp利用可能なツール:
search_related(query, top_k=5)— 意味的に関連するノートを検索check_duplicates(file_path)— 重複/類似ノートを検出
HTTP (すべてのクライアントで共有)
単一の長時間実行プロセスが、/mcp でMCP-over-HTTPを、/search、/duplicates、/health、/reindex でRESTを提供します。すべてのClaude CodeセッションとRESTクライアントが1つのウォームインデクサーを共有します。
CONTENT_PATH=/path/to/vault semantic-search-http --host 127.0.0.1 --port 8321MCP設定を介してClaude Codeから接続します:
{
"mcpServers": {
"semantic-search": {
"type": "http",
"url": "http://127.0.0.1:8321/mcp"
}
}
}RESTエンドポイント:
エンドポイント | メソッド | 説明 |
| POST | MCP-over-HTTP (Claude Code) |
| GET | セマンティック検索 |
| GET | 重複ノートの検索 |
| GET | インデックス統計を含むヘルスチェック |
| GET/POST | インデックスの強制再構築 |
クエリ例:
# Search
curl 'http://127.0.0.1:8321/search?q=kubernetes+deployment'
# Find duplicates
curl 'http://127.0.0.1:8321/duplicates?file=notes/my-note.md'
# Health check
curl 'http://127.0.0.1:8321/health'Claude Codeプラグイン
このリポジトリは、セットアップ、検索、リサーチ用のコマンドを備えたClaude Codeマーケットプレイスプラグインとしても提供されています。
インストール
claude plugin marketplace add bborbe/semantic-search
claude plugin install semantic-searchアップデート
claude plugin marketplace update semantic-search
claude plugin update semantic-search@semantic-searchクイックスタート
# One-shot interactive setup: installs the binary, writes the launchd/systemd
# unit, registers the MCP server in your Claude config.
/semantic-search:configure
# Search indexed markdown
/semantic-search:search kubernetes deployment
# Multi-step research across results
/semantic-search:research kafka backup strategyコマンド
コマンド | 説明 |
|
|
| 実行中のMCPサーバーを介したセマンティック検索 |
| マルチステップリサーチ — 検索、分類、主要ソースの読み込み、統合 |
バックグラウンド実行
本番環境のような用途では、semantic-search-http をバックグラウンドサービスとして実行し、すべてのClaude Codeセッション(およびRESTクライアント)が1つのウォームプロセスを共有できるようにします。
プラットフォーム | ガイド |
macOS (launchd) | |
Linux (systemd) |
クイック例 (macOS):
launchctl load ~/Library/LaunchAgents/com.github.bborbe.semantic-search-http.plistクイック例 (Linux):
systemctl --user enable --now semantic-search-http.serviceCLIコマンド
サーバーを実行しない単発コマンド:
# Search
CONTENT_PATH=/path/to/vault semantic-search search "kubernetes deployment"
# Find duplicates
CONTENT_PATH=/path/to/vault semantic-search duplicates path/to/note.mdバイナリ
バイナリ | 目的 |
| 統合HTTPサーバー — |
| stdio MCPサーバー — Claude Codeセッションごとに1つ。HTTPサービスが設定されていない場合に使用。 |
| CLI専用 — |
設定
環境変数
変数 | 説明 | デフォルト |
| インデックス対象ディレクトリ(複数指定はカンマ区切り) |
|
| ログレベル (DEBUG, INFO, WARNING, ERROR) |
|
複数ディレクトリ
パスをカンマで区切ることで、複数のディレクトリをインデックス化できます:
CONTENT_PATH=/path/to/vault1,/path/to/vault2,/path/to/docsすべてのディレクトリは一緒にインデックス化され、1つの統合インデックスとして検索されます。
仕組み
初回実行時に小さな埋め込みモデル(約90MB)をダウンロードし、Markdownファイルをインデックス化します(一般的なボルトであれば1秒未満)。ファイルシステム監視により、ファイル変更時にインデックスが自動更新されます。
インデックス化されるコンテンツ
各Markdownファイルは、重み付けされたコンポーネントでインデックス化されます:
コンポーネント | 重み | メモ |
ファイル名 | 3x | |
Frontmatter | 3x | |
Frontmatter | 2x | インラインタグとマージ |
Frontmatter | 2x | |
インラインタグ ( | 2x | 本文から抽出 |
最初のH1見出し | 2x | |
本文コンテンツ | 1x | 最初の500単語 |
開発
# Clone
git clone https://github.com/bborbe/semantic-search
cd semantic-search
# Install dev dependencies
make install
# Run checks
make check
# Run tests
make testライセンス
BSD 2-Clause License — LICENSE を参照してください。
Maintenance
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
- AlicenseNot gradedqualityBmaintenanceEnables semantic search and knowledge graph exploration of Obsidian vaults using Smart Connections embeddings. Provides intelligent note discovery, similarity search, and connection mapping through natural language queries.11354MIT
- AlicenseAqualityCmaintenanceEnables semantic search over local markdown note collections using vector embeddings, with real-time file watching and zero-config setup.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables managing and searching markdown notes with semantic search, question answering, and note generation, and provides an MCP server for GitHub Copilot integration.4
- AlicenseNot gradedqualityCmaintenanceEnables semantic search over an Obsidian vault using natural language, retrieving relevant notes and extracted conclusions.MIT
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/bborbe/semantic-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server