MCP Server with RAG and Multi-Search について
MCP Server with RAG and Multi-Searchは、FastMCPを使い、ローカル文書のRAG検索とGemini 2.0またはLinkupによるウェブ検索を提供します。ローカル資料とウェブ検索を併用したい人向けです。
主な機能
- 01ローカル文書へのRAG検索
- 02Gemini 2.0によるウェブ検索
- 03Linkupによるウェブ検索
- 04検索方式の自動選択と切り替え
活用シーン
- 01ローカル文書について質問
- 02Gemini 2.0またはLinkupでウェブ検索
MCP 対応
MCPサーバーはクライアントに`rag`、`web_search`、`gemini_search`、`linkup_search`ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
RAG とマルチ検索に対応した MCP サーバー
LlamaIndex を使用した RAG(検索拡張生成)機能と、Google の Gemini 2.0 API および Linkup による複数のウェブ検索オプションを提供する、カスタム MCP(Model Calling Protocol)サーバーです。
特長
- ローカルドキュメントを使用した RAG ワークフロー
- 複数のウェブ検索機能:
- 高度な AI 搭載検索を実現する Google の Gemini 2.0
- 従来型のウェブ検索を実現する Linkup
- FastMCP で構築
セットアップ
前提条件
- Python 3.8 以降
- DeepSeek モデルを使用できるよう、ローカルに Ollama をインストールしていること(または、使用するモデルに合わせて変更してください)
- Gemini API キー(https://ai.google.dev/ で取得してください)
- Linkup API キー(任意)
インストール
-
このリポジトリをクローンします:
git clone <repository-url> cd own-mcp-server -
必要な依存関係をインストールします:
pip install -r requirements.txt -
環境変数を設定します(
.envファイルを作成してください):# Required API keys GEMINI_API_KEY=your_gemini_api_key_here LINKUP_API_KEY=your_linkup_api_key_here # Optional configurations OLLAMA_HOST=http://localhost:11434 -
ドキュメントを
dataディレクトリに追加します(存在しない場合は自動的に作成されます)
サーバーの起動
次のコマンドでサーバーを起動します:
python server.py
使用方法
サーバーでは、次のツールを利用できます:
web_search:利用可能な最適な検索方法を使用します(Gemini 2.0 を優先し、利用できない場合は Linkup にフォールバックします)gemini_search:Google の Gemini 2.0 を使用して検索しますlinkup_search:Linkup を使用して検索しますrag:RAG を使用してローカルドキュメントに問い合わせます
必要なライブラリ
このプロジェクトでは、次のライブラリを使用します:
- llama-index - RAG の中核機能
- ollama - ローカル LLM との連携
- Google Generative AI SDK - Gemini 2.0 との連携
- Linkup SDK - ウェブ検索機能
- FastMCP - MCP サーバーの実装
- Python-dotenv - 環境管理
- nest-asyncio - 非同期処理のサポート
トラブルシューティング
問題が発生した場合:
- Ollama が正しくインストールされ、実行中であることを確認してください
- DeepSeek モデルを取得します:
ollama pull deepseek-r1:1.5b - Python 3.13 との互換性の問題が発生した場合は、Python 3.11 または 3.10 へのダウングレードを検討してください
- API キーが正しく、必要な権限を持っていることを確認してください
- Gemini 2.0 の問題については、API キーで最新モデルを利用できることを確認してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。