mcpField
M
MCP-RAG: Modular RAG Pipeline using MCP & GroundX

MCP-RAG: Modular RAG Pipeline using MCP & GroundX

ローカル
github.com/sujithadrメモリ・ナレッジ073 週間前に更新

MCP-RAG: Modular RAG Pipeline using MCP & GroundX について

MCP-RAG は GroundX と OpenAI GPT-4 を使うモジュール型 RAG 実装で、AI アプリを構築するチーム向けです。文書取り込み、セマンティック検索、回答生成を、発見・呼び出し可能なツールに分けています。

主な機能

  1. 01PDF を GroundX に取り込み
  2. 02GroundX によるセマンティック検索
  3. 03OpenAI GPT-4 による回答生成
  4. 04Jinja2 による YAML プロンプトの描画
  5. 05モジュール型ツールの設計と検出

活用シーン

  1. 01PDF 文書をベクトルストアに追加
  2. 02文書の内容に基づいて質問に回答

MCP 対応

MCP サーバーは文書取り込みと検索のツールを提供し、クライアントから検出・呼び出しできます。検索は GroundX が行い、回答は OpenAI API が生成します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP-RAG:MCP と GroundX を使用したモジュール型 RAG パイプライン

本番環境に対応した検索拡張生成のセットアップ

ライセンス Python

🚀 概要

MCP-RAG は、次の技術を活用した、モジュール型の本番品質の検索拡張生成(RAG)システムの実装です。

  • 🧠 標準化されたツールオーケストレーションを実現する MCP(Model Context Protocol)
  • 🔍 セマンティック検索、取り込み、ベクトルストア操作を担う GroundX
  • 🤖 LLM を活用したコンテキストに応じた応答生成を行う OpenAI GPT-4

取り込み、検索、生成、ツールの検出を明確に分離できるため、スケーラブルで柔軟性が高く、エンタープライズにも対応できます。

📌 再利用可能なコンポーネントを使用して AI 駆動型アプリケーションを構築するチーム向けに、Sujith Somanunnithan が開発しました。


📦 機能

  • 🔧 MCP サーバーインターフェースを使用したモジュール型のツール設計
  • 🧩 Jinja2 によるレンダリングに対応した YAML ベースのプロンプトテンプレート
  • 📂 PDF ファイルを GroundX ベクトルストアに取り込み
  • 🔍 GroundX 検索ツールによるリアルタイムのセマンティック検索
  • 🤝 新しいツールやサービスとのプラグアンドプレイの API 統合

📁 プロジェクト構成

mcp-rag/
├── server.py                     # MCP Server initialization
├── config.py                     # Environment and config management
├── ingestion.py                  # File ingestion tool logic
├── search.py                     # Search + LLM generation logic
├── prompts.yaml                  # Prompt template in Jinja2
├── models.py                     # Pydantic models for configs
├── .env                          # API keys (excluded from version control)
├── pyproject.toml                # Project config for uv / MCP
├── README.md                     # This file

🧠 アーキテクチャの流れ

  1. ユーザーのクエリが MCP サーバーに届きます
  2. サーバーがクエリを検索ツールにルーティングします
  3. 検索ツールが GroundX API にクエリを送信します
  4. スニペットが YAML プロンプトを使用してレンダリングされます
  5. OpenAI API が最終的な LLM 応答を生成します

🔄 すべてのツールは、MCP を介して動的に検出および呼び出し可能です。


🔑 環境のセットアップ

キーを設定した .env を作成します。

OPENAI_API_KEY=your-openai-key
GROUNDEX_API_KEY=your-groundx-key

uv を使用してインストールします。

uv pip install -r pyproject.toml

⚙️ 使用方法

サーバーを起動します。

mcp dev server.py

PDF を取り込みます。

mcp call ingest_documents --args '{"file_path": "data/sample.pdf"}'

クエリで検索します。

mcp call process_search_query --args '{"query": "What is explained in section 3?"}'

📌 関心事の明確な分離

役割コンポーネント
ツールの検出/呼び出しMCP サーバー
検索の実行GroundX API
応答の生成OpenAI API
ファイルのアップロード取り込みツール(MCP)

📚 ライセンス

このプロジェクトは MIT License の下でライセンスされています。


👨‍💻 作者

Sujith Somanunnithan
クラウド&AI アーキテクト | sujith.de


💬 フィードバックとコントリビューション

改善や拡張(複数ファイルの取り込み、RAG フォールバックチェーンなど)について、気軽にイシューやプルリクエストを作成するか、作者にご連絡ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。