Search Engine With Rag And MCP
🚀 RAGとMCPを備えた検索エンジン
強力な検索エンジンで、LangChain、モデルコンテキストプロトコル(MCP)、検索強化生成(RAG)、およびOllamaを組み合わせて、エージェント型AIシステムを構築しています。このシステムは、ウェブ検索、情報検索を行い、関連する回答を提供することができます。
✨ 主な機能
- Exa APIを使用したウェブ検索機能
- FireCrawlを使用したウェブページ内容の取得
- より関連性の高い情報抽出のためのRAG(検索強化生成)
- ツール呼び出しを標準化するためのMCP(モデルコンテキストプロトコル)サーバー
- Ollamaを通じたローカルLLMとOpenAIを通じたクラウドベースのLLMのサポート
- 直接検索、エージェント型検索、またはサーバーモードをサポートする柔軟なアーキテクチャ
- 包括的なエラー処理とエレガントなフォールバック
- 型ヒント付きのPython 3.13+
- ウェブ操作を効率的に実行するための非同期処理
🔧 技術詳細
このプロジェクトはいくつかの重要なコンポーネントを統合しています:
- 検索モジュール:Exa APIを使用してウェブ検索を行い、FireCrawlを使用して内容を取得します。
- RAGモジュール:ドキュメントを埋め込み、チャンク化してFAISSベクトルライブラリに保存します。
- MCPサーバー:ツール呼び出しのための標準化されたプロトコルを提供します。
- エージェント:LangChainに基づくエージェントで、検索とRAG機能を利用します。
📦 インストール
- リポジトリをクローンします:
git clone https://github.com/your-username/search-engine-with-rag-and-mcp.git
cd search-engine-with-rag-and-mcp
- 依存関係をインストールします:
pip install -r requirements.txt
💻 使用例
基本的な使用法
1. 直接検索モード
検索エンジンサーバーを起動します:
python src/main.py serve --mode direct
検索エンジンを使用してクエリを実行します:
python src/main.py search --query "your-query-here"
2. エージェント型検索モード
エージェントサーバーを起動します:
python src/main.py serve --mode agent
APIを介してエージェントを呼び出して検索を行います:
curl -X POST http://localhost:8000/agent/search -d '{"query": "your-query-here"}'
3. MCPサーバーモード
MCPサーバーを起動します:
python src/main.py serve --mode mcp
HTTPプロトコルを介してMCPサービスを呼び出します:
curl -X POST http://localhost:8001/mcp/execute -d '{"tool": "search", "input": "your-query-here"}'
📚 ドキュメント
開発におけるベストプラクティス
このプロジェクトは以下のベストプラクティスに従っています:
- コードフォーマット:
black
を使用して自動的にコードをフォーマットし、コーディングスタイルを統一します。 - 型チェック:
mypy
を利用して静的型チェックを行い、実行時エラーを回避します。 - Linting:
flake8
とpylint
を適用してコード品質を管理します。 - 単体テスト:
pytest
を使用して単体テストを作成し、機能の正確性を確保します。
📄 ライセンス
このプロジェクトはMITライセンスに従っています。詳細については、LICENSEファイルを参照してください。
謝辞
以下のプロジェクトの貢献に感謝します:
- LangChain エージェントフレームワークの提供
- モデルコンテキストプロトコル 標準化されたツール呼び出しの提供
- Ollama ローカルLLM機能
- Exa ウェブ検索機能
- FireCrawl 内容検索機能
厳選MCPサービス

Edgeone Pages MCP Server
EdgeOne Pages MCPは、MCPプロトコルを通じてHTMLコンテンツをEdgeOne Pagesに迅速にデプロイし、公開URLを取得するサービスです。
TypeScript
252
4.8ポイント

Context7
Context7 MCPは、AIプログラミングアシスタントにリアルタイムのバージョン固有のドキュメントとコード例を提供するサービスで、Model Context Protocolを通じてプロンプトに直接統合され、LLMが古い情報を使用する問題を解決します。
TypeScript
5.2K
4.7ポイント

Gmail MCP Server
Claude Desktop用に設計されたGmail自動認証MCPサーバーで、自然言語でのやり取りによるGmailの管理をサポートし、メール送信、ラベル管理、一括操作などの完全な機能を備えています。
TypeScript
276
4.5ポイント

Baidu Map
認証済み
百度マップMCPサーバーは国内初のMCPプロトコルに対応した地図サービスで、地理コーディング、ルート計画など10個の標準化されたAPIインターフェースを提供し、PythonとTypescriptでの迅速な接続をサポートし、エージェントに地図関連の機能を実現させます。
Python
705
4.5ポイント

Gitlab MCP Server
認証済み
GitLab MCPサーバーは、Model Context Protocolに基づくプロジェクトで、GitLabアカウントとのやり取りに必要な包括的なツールセットを提供します。コードレビュー、マージリクエスト管理、CI/CD設定などの機能が含まれます。
TypeScript
70
4.3ポイント

Unity
認証済み
UnityMCPはUnityエディターのプラグインで、モデルコンテキストプロトコル (MCP) を実装し、UnityとAIアシスタントのシームレスな統合を提供します。リアルタイムの状態監視、リモートコマンドの実行、ログ機能が含まれます。
C#
541
5ポイント

Magic MCP
Magic Component Platform (MCP) はAI駆動のUIコンポーネント生成ツールで、自然言語での記述を通じて、開発者が迅速に現代的なUIコンポーネントを作成するのを支援し、複数のIDEとの統合をサポートします。
JavaScript
1.7K
5ポイント

Sequential Thinking MCP Server
MCPプロトコルに基づく構造化思考サーバーで、思考段階を定義することで複雑な問題を分解し要約を生成するのに役立ちます。
Python
259
4.5ポイント