Skip to main content
Glama

RAG MCP Server

by NSANTRA
Utils.py1.75 kB
import os import shutil from typing import List from Modules.Config import DOCUMENT_DIR, RERANKER def saveFiles(filepath: str, target_filename: str) -> str: """ Saves a file to the designated DOCUMENT_DIR. Args: filepath (str): Path to the source file to be saved. Returns: str: Destination path where the file is saved, or an error message. """ try: filename = target_filename or os.path.basename(filepath) destination = os.path.normpath(os.path.join(DOCUMENT_DIR, filename)) shutil.copy(filepath, destination) if not os.path.exists(destination): raise FileNotFoundError(f"File was not saved correctly: {destination}") return destination except Exception as err: raise RuntimeError(f"Error saving file: {err}") def rerankDocs(query: str, results: list, top_k: int = 5) -> List: """ Reranks retrieved documents based on their relevance to the query using a cross-encoder model. Args: query (str): The search query or prompt. results (list): List of retrieved documents, each as a dictionary with "content" key. top_k (int, optional): Number of top documents to return after reranking. Defaults to 5. Returns: List: Reranked list of top_k documents. """ try: if not results: return [] pairs = [(query, doc.get("content", "")) for doc in results] scores = RERANKER.predict(pairs, batch_size = 32) reranked = sorted(zip(results, scores), key = lambda x: x[1], reverse = True)[:top_k] return [r[0] for r in reranked] except Exception as err: print(f"[RAG RERANKER] Error: {err}") return results[:top_k]

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/NSANTRA/RAG-MCP-Server'

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