MCP Server RAG
RAG (Retrieval-Augmented Generation) server for MCP (Model Control Protocol). This server provides vector-based document retrieval functionality to enhance LLM interactions with contextual information.
Overview
The MCP Server RAG implementation provides a bridge between your LLM applications and document collections, offering:
- Vector-based document search using ChromaDB and Sentence Transformers
- Multiple specialized collections (liv, ken, ufa, sap commerce)
- Strongly typed API responses
- Integration with the MCP server infrastructure
Installation
pip install mcp-server-rag-MiniLM
Usage
After installation, you can run the server with:
mcp-server-rag-MiniLM
Or using Python module syntax:
python -m mcp-server-rag-MiniLM
Features
- Vector-based search for contextual document retrieval
- Persistent storage of document embeddings via ChromaDB
- Multiple collection support for domain-specific searches
- Configurable via environment variables
- Fully typed response objects with detailed metadata
- Seamless integration with the MCP protocol
Available Collections
The server provides access to four specialized collections:
liv-rag: LIV document collection (retrieve_liv_contexttool)ken-rag: Kennametal document collection (retrieve_ken_contexttool)ufa-rag: UFA document collection (retrieve_ufa_contexttool)sap-comm-rag: SAP Commerce document collection (retrieve_sap_comm_contexttool)
Configuration
The following environment variables can be used to configure the server:
| Variable | Description | Default |
|---|---|---|
RAG_PERSIST_DIR |
Directory where ChromaDB will store its data | ~/Documents/chroma_db |
RAG_EMBEDDING_MODEL |
Path or name of the Sentence Transformer model | ~/LLM/huggingface/hub/models--sentence-transformers--all-MiniLM-L6-v2/... |
RAG_N_RESULTS |
Default number of results to return from searches | 5 |
Dependencies
- click
- mcp (version 1.2.0 or higher)
- chromadb
- sentence-transformers
Development
Building and Publishing
The repo includes a publish.sh script that helps with building and publishing the package.
./publish.sh
This script will clean previous build artifacts, install build dependencies, build the package, and check it before providing instructions for publishing to PyPI.
License
MIT
Metadata
Release files for mcp-server-rag-MiniLM 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_server_rag_minilm-0.0.1.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_server_rag_minilm-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / mcp_server_rag_minilm-0.0.1.tar.gz
| Download URL | mcp_server_rag_minilm-0.0.1.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4faf373c1c954b1d36c6caa24e31bfa1d801e69d14f94a6af874450f010397e
|
|
BLAKE2b-256 checksum How to use checksums |
afa25d327d24cbde91934be2eda98f31c1acefdad34a60399e254d0fdba60169
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|
Release files / mcp_server_rag_minilm-0.0.1-py3-none-any.whl
| Download URL | mcp_server_rag_minilm-0.0.1-py3-none-any.whl |
|---|---|
| Size | 6.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7eeb45d75594e7720f9bff88272f745dcd2788545874563c1d43fc5a27722525
|
|
BLAKE2b-256 checksum How to use checksums |
142b6560656478f13fe9cc3633df7805062e89415cda879b12456221a96f1a65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|