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を使用して単体テストを作成して実行し、機能の正しさを確保します。
プロジェクト構造
search-engine-with-rag-and-mcp/
├── LICENSE # MITライセンス
├── README.md # プロジェクトドキュメント
├── data/ # データディレクトリ
├── docs/ # ドキュメント
│ └── env_template.md # 環境変数ドキュメントテンプレート
├── logs/ # ログファイルディレクトリ(自動作成)
├── src/ # メインパッケージ(ソースコード)
│ ├── __init__.py
│ ├── core/ # コア機能
│ │ ├── __init__.py
│ │ ├── main.py # エントリーポイント
│ │ ├── search.py # ウェブ検索モジュール
│ │ ├── rag.py # RAGの実装
│ │ ├── agent.py # LangChainエージェント
│ │ └── mcp_server.py # MCPサーバーの実装
│ └── utils/ # ユーティリティパッケージ
└── __init__.py
└── requirements.txt # 依存関係管理
📄 ライセンス
このプロジェクトはMITライセンスに従っています。詳細についてはLICENSEファイルを参照してください。
謝辞
以下のプロジェクトの貢献に感謝します。
- LangChain エージェントフレームワークの提供
- モデルコンテキストプロトコル 標準化されたツール呼び出しの提供
- Ollama ローカルLLM機能の提供
- Exa ウェブ検索機能の提供
- FireCrawl 内容検索機能の提供

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

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

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

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

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

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

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

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