Shared Knowledge MCP Server
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Required for running the Weaviate vector database option, with included scripts for managing the Docker-based Weaviate environment.
Provides access to Git-related information, including commit message formats and conventions through the knowledge base search functionality.
Enables indexing and searching of Markdown (.md, .mdx) files, allowing AI assistants to retrieve information from documentation stored in Markdown format.
Shared Knowledge MCP Server
各種AIアシスタント(CLINE, Cursor, Windsurf, Claude Desktop)で共通して使用できるナレッジベースMCPサーバーです。 Retrieval Augmented Generation (RAG)を活用して、効率的な情報検索と利用を実現します。 複数のAIアシスタントツール間でナレッジベースを共有することで、一貫した情報アクセスを提供します。
特徴
- 複数のAIアシスタント間で共通のナレッジベースを使用可能
- RAGによる高精度な情報検索
- TypeScriptによる型安全な実装
- 複数のベクトルストア(HNSWLib, Chroma, Pinecone, Milvus)をサポート
- 抽象化されたインターフェースによる拡張性
インストール
設定
MCPサーバーの設定は、各AIアシスタントの設定ファイルに追加します。
VSCode (CLINE/Cursor用)
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
:
Pineconeを使用する例
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
:
HNSWLib(デフォルト)を使用する例
Weaviateを使用する例
注意: Weaviateを使用する場合は、事前にWeaviateサーバーを起動しておく必要があります。以下のコマンドで起動できます:
開発
開発用サーバーの起動
ビルド
本番環境での実行
使用可能なツール
rag_search
ナレッジベースから情報を検索します。
検索リクエスト
使用例
基本的な検索:
高度な検索:
検索結果
レスポンス例
これらの拡張された検索機能により、LLMはより正確かつ効率的に情報を処理できるようになります。位置情報、ドキュメントタイプ、要約、キーワードなどの追加情報は、LLMが検索結果をより深く理解し、適切に活用するのに役立ちます。
仕組み
- 起動時に指定されたディレクトリ内のMarkdownファイル(.md, .mdx)とテキストファイル(.txt)を読み込みます
- ドキュメントをチャンクに分割し、OpenAI APIを使用してベクトル化します
- 選択したベクトルストア(デフォルト: HNSWLib)を使用してベクトルインデックスを作成します
- 検索クエリに対して類似度の高いドキュメントを返します
サポートされているベクトルストア
- HNSWLib: ローカルファイルシステムに保存される高速なベクトルストア(デフォルト)
- Chroma: オープンソースのベクトルデータベース
- Pinecone: マネージドベクトルデータベースサービス(API キーが必要)
- Milvus: 大規模なベクトル検索エンジン
- Weaviate: スキーマファーストのベクトルデータベース(Docker必須)
各ベクトルストアは抽象化されたインターフェースを通じて利用され、必要に応じて簡単に切り替えることができます。
ベクトルストア環境の操作方法
HNSWLib(デフォルト)
HNSWLibはローカルファイルシステムにベクトルストアを保存するため、特別な環境設定は不要です。
ベクトルストアの再構築:
Weaviate
Weaviateを使用するには、Dockerが必要です。
- Weaviate環境の起動:
- ベクトルストアの再構築:
- Weaviateの状態確認:
- Weaviate環境の停止:
- Weaviateのデータを完全に削除(必要な場合のみ):
Weaviateの設定はdocker-compose.yml
ファイルで管理されています。デフォルトでは、以下の設定が適用されます:
- ポート: 8080
- 認証: 匿名アクセス有効
- ベクトル化モジュール: なし(外部埋め込みを使用)
- データ保存: Dockerボリューム(
weaviate_data
)
設定オプション
環境変数 | 説明 | デフォルト値 |
---|---|---|
KNOWLEDGE_BASE_PATH | ナレッジベースのパス(必須) | - |
OPENAI_API_KEY | OpenAI API キー(必須) | - |
SIMILARITY_THRESHOLD | 検索時の類似度スコアの閾値(0-1) | 0.7 |
CHUNK_SIZE | テキスト分割時のチャンクサイズ | 1000 |
CHUNK_OVERLAP | チャンクのオーバーラップサイズ | 200 |
VECTOR_STORE_TYPE | 使用するベクトルストアの種類("hnswlib", "chroma", "pinecone", "milvus") | "hnswlib" |
VECTOR_STORE_CONFIG | ベクトルストアの設定(JSON文字列) | {} |
ライセンス
ISC
貢献
- Forkする
- フィーチャーブランチを作成する (
git checkout -b feature/amazing-feature
) - 変更をコミットする (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュする (
git push origin feature/amazing-feature
) - Pull Requestを作成する
This server cannot be installed
This server enables AI assistants (CLINE, Cursor, Windsurf, Claude Desktop) to share a common knowledge base through Retrieval Augmented Generation (RAG), providing consistent information access across multiple tools.