🐝 Swarms MCP ドキュメントサーバー
📖 説明
このプログラムは、 FastMCPを基盤とするエージェントフレームワーク・ドキュメンテーション MCP サーバーであり、 AI エージェントがドキュメントデータベースから効率的に情報を取得できるように設計されています。ハイブリッドなセマンティック(ベクター)検索とキーワード(BM25)検索、チャンクインデックス、そして堅牢な FastMCP ツール API を組み合わせることで、シームレスなエージェント統合を実現します。
主な機能:
セマンティック検索とキーワード検索の両方を使用した効率的なチャンクレベルの検索
エージェントはFastMCPツールを使用してドキュメントを照会、リスト、取得できます。
ローカルファースト、低レイテンシ設計(すべてのデータはローカルでインデックス化され、クエリされる)
ファイル変更時の自動再インデックス
モジュール式:
corpora/に任意のリポジトリを追加し、すべての主要なファイルタイプをサポートします拡張可能: 必要に応じて新しいツール、リトリーバー、またはコーパスを追加できます
メインモジュール:
embed_documents.py→ ドキュメントを読み込み、チャンク化し、埋め込みますswarms_server.py→ MCPサーバーとFastMCPツールを起動します
Related MCP server: MCP Expert Server
🌟 主な機能
ハイブリッド リトリーバー🔍: セマンティック検索とキーワード検索を組み合わせます。
動的な Markdown 処理📄: ファイル サイズに基づいたスマート ローダー。
特殊なローダー⚙️:
.py、.ipynb、.md、.txt、.yaml、.yml。チャンクとファイルの概要📈: チャンク数とファイル数を表示します。
ライブウォッチドッグ🔥:
corpora/内のあらゆる変更に即座に応答します。コストに関するユーザー確認✅: 高価な埋め込みの前に確認します。
ヘルスチェックエンドポイント🚑: サーバーが使用可能であることを確認します。
ローカルファースト🗂️: すべてのリポジトリは外部依存関係なしでローカルにインデックス付けされます。
安全な削除ヘルパー🔥: 壊れた/不一致のインデックスを自動削除します。
🏗️ バージョン履歴
バージョン | 日付 | ハイライト |
2.2 | 2025年4月25日 | サーバーからの埋め込み/読み込みを分割し、読み込みサマリーでチャンク全体をカウントします。 |
1.0 | 2025年4月25日 | ダイナミックマークダウンローダー、カラーログ、ヘルスチェックツール |
0.7 | 2025年4月25日 |
、
、
用の特殊なファイルローダー |
0.5 | 2025年4月10日 | OpenAIの大規模モデル埋め込み、拡張MCPツール |
0.1 | 2025年4月10日 | 汎用ローダー付きの初期バージョン |
📚 コーパスの管理(ローカルリポジトリ)
Swarms やその他のフレームワークは非常に大きいため、完全なコーパスは GitHub にプッシュされません。
代わりに、 corpora/の下に手動でクローンを作成します。
✅注記:
パブリック、プライベート、カスタムなど、任意のリポジトリを追加します。
独自のカスタム AI ナレッジ ベースをローカルに構築します。
大きなリポジトリ(>500 MB) でも問題ありません。すべてのインデックスはローカルで行われます。
🚀 クイックスタート
⚙️ 構成
コーパス:
corpora/環境変数:
.envにはOPENAI_API_KEYが含まれている必要があります
インデックスファイルのサポート:
chroma-collections.parquetとchroma.sqlite3の両方がサポートされています。両方存在する場合は.parquetが優先されます。
自動埋め込み:
インデックスが見つからない場合、サーバーはドキュメントを自動的に埋め込み、インデックスを作成するように要求します。
オプション:
必要に応じて、Chroma 圧縮を無効にします。
setx CHROMA_COMPACTION_SERVICE__COMPACTOR__DISABLED_COLLECTIONS "swarms_docs"
コマンドラインフラグ:
--reindex→ サーバー実行中に更新再インデックスをトリガーします。
🔄 ファイル監視と自動再インデックス
MCP サーバーは、 corpora/ファイルの変更を監視します。
変更、作成、または削除が行われると、ライブ再インデックスがトリガーされます。
サーバーを再起動する必要はありません。
🛠️ 利用可能なFastMCPツール
道具 | 説明 |
| 関連するドキュメントチャンクを検索 |
| インデックスされたすべてのファイルを一覧表示する |
| パスとインデックスで特定のチャンクを取得する |
| 強制的に再インデックス(完全または増分) |
| MCPサーバーのステータスを確認する |
❓ トラブルシューティング
Q: サーバーの起動時に「有効な既存のインデックスが見つかりません」というメッセージが表示されます。
A: サーバーからドキュメントの埋め込みとインデックス作成を促すメッセージが表示されます。プロンプトに従って続行するか、
python embed_documents.py手動で実行してください。
Q: どのインデックス ファイルが使用されますか?
A: サーバーは、利用可能な場合は
chroma-collections.parquetを使用し、そうでない場合はchroma.sqlite3使用します。
Q: 強制的に再インデックスを実行したいです。
A:
python swarms_server.py --reindex実行するか、swarm_docs.reindexツールを使用します。
📋 使用例
🧰 拡張と再構築
新しいドキュメントを追加→
corpora/にドロップして、次の操作を実行します。python swarms_server.py --reindexスキーマの変更→ (例: メタデータ構造の違い):
python swarms_server.py --reindex --full新しいリポジトリを追加→
corpora/下にフォルダーをドロップし、インデックスを再作成します。主に読み取り専用のリポジトリに推奨:
setx CHROMA_COMPACTION_SERVICE__COMPACTOR__DISABLED_COLLECTIONS "swarms_docs"
🔗 IDE統合
Windsurf Cascade に直接接続します。
その後、Cascade 自動化からswarm_docs.*ツールにアクセスできるようになります。
📦 要件
💡 Python 3.11 環境が必要です
環境を明示的に作成します。
次に次のコマンドでインストールします:
✅ MCP サーバー対応
起動後:
適切な読み込みサマリー
高価なアクションの前に安全を確認する
自動ファイル監視と再インデックス
ウィンドサーフィンプラグイン対応
完全なツールカバレッジ
カスケードしても大丈夫です! 🏄♂️