Skip to main content
Glama

MCP-RAG: Model Context Protocol with RAG 🚀

A powerful and efficient RAG (Retrieval-Augmented Generation) implementation using GroundX and OpenAI, built with Modern Context Processing (MCP).

🌟 Features

  • Advanced RAG Implementation: Utilizes GroundX for high-accuracy document retrieval

  • Model Context Protocol: Seamless integration with MCP for enhanced context handling

  • Type-Safe: Built with Pydantic for robust type checking and validation

  • Flexible Configuration: Easy-to-customize settings through environment variables

  • Document Ingestion: Support for PDF document ingestion and processing

  • Intelligent Search: Semantic search capabilities with scoring

Related MCP server: RAG_MCP

🛠️ Prerequisites

  • Python 3.12 or higher

  • OpenAI API key

  • GroundX API key

  • MCP CLI tools

📦 Installation

  1. Clone the repository:

git clone <repository-url> cd mcp-rag
  1. Create and activate a virtual environment:

uv sync source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`

⚙️ Configuration

  1. Copy the example environment file:

cp .env.example .env
  1. Configure your environment variables in .env:

GROUNDX_API_KEY="your-groundx-api-key" OPENAI_API_KEY="your-openai-api-key" BUCKET_ID="your-bucket-id"

🚀 Usage

Starting the Server

Run the inspect server using:

mcp dev server.py

Document Ingestion

To ingest new documents:

from server import ingest_documents result = ingest_documents("path/to/your/document.pdf") print(result)

Performing Searches

Basic search query:

from server import process_search_query response = process_search_query("your search query here") print(f"Query: {response.query}") print(f"Score: {response.score}") print(f"Result: {response.result}")

With custom configuration:

from server import process_search_query, SearchConfig config = SearchConfig( completion_model="gpt-4", bucket_id="custom-bucket-id" ) response = process_search_query("your query", config)

📚 Dependencies

  • groundx (≥2.3.0): Core RAG functionality

  • openai (≥1.75.0): OpenAI API integration

  • mcp[cli] (≥1.6.0): Modern Context Processing tools

  • ipykernel (≥6.29.5): Jupyter notebook support

🔒 Security

  • Never commit your .env file containing API keys

  • Use environment variables for all sensitive information

  • Regularly rotate your API keys

  • Monitor API usage for any unauthorized access

🤝 Contributing

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add some amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/apatoliya/mcp-rag'

If you have feedback or need assistance with the MCP directory API, please join our Discord server