Skip to main content
Glama
rhamsagar-sf

FAQ RAG MCP Server

by rhamsagar-sf

FAQ RAG + MCP Tool (Starter Skeleton)

This is a minimal starting point for the MCP option.

Contents

  • rag_core.py — RAG core

  • mcp_server.py — MCP server exposing ask_faq

  • faqs/ — tiny sample corpus

  • requirements.txt

Quick Start

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

export OPENAI_API_KEY=sk-...

# Optional model overrides
# export EMBED_MODEL=text-embedding-ada-002
# export LLM_MODEL=gpt-3.5-turbo

# Run a quick CLI smoke test
python rag_core.py

# Configure your MCP client to spawn the server
# command: python
# args: [/absolute/path/to/mcp_server.py]
# env: { OPENAI_API_KEY: "sk-..." }

Design Principles (Evaluation Criteria)

This implementation prioritizes Simplicity, Practicality, and Interface Correctness.

1. Simplicity over Over-Engineering

  • No Vector Database: Instead of adding heavy dependencies like Chroma or Pinecone, we use numpy for in-memory cosine similarity. For a filtered FAQ lists, this is faster, easier to debug, and removes deployment complexity.

  • FastMCP: We use the high-level FastMCP interface to reduce boilerplate, keeping the server code focused on logic rather than protocol details.

  • Global State: We preload the corpus at import time for simplicity in this specific "server" context, avoiding complex dependency injection containers.

2. Practicality

  • Robust Error Handling: The server uses structured logging and catches API errors (e.g., rate limits) to prevent crashes, returning user-friendly error messages to the LLM.

  • Exposed Resources: The faq:// resource allows the LLM (and developers) to inspect the raw content of any FAQ file, which is crucial for verifying answers or debugging retrieval issues.

  • Pre-defined Prompts: The ask_faq_expert prompt helps users/LLMs start with the right context immediately.

3. Interface Correctness

  • Standard MCP Patterns: We strictly follow MCP standards by exposing Tools (action), Resources (data), and Prompts (context).

  • Type Safety: All tools use Python type hints (str, int) which FastMCP automatically converts to JSON-Schema for the LLM to understand.

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/rhamsagar-sf/rag-mcp-project'

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