Rag Starter
@cstamigo-droid
About Rag Starter
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"rag-starter": {
"command": "python",
"args": [
"-m",
"rag_starter"
],
"cwd": "C:/path/to/rag-starter"
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Rag Starter?
Rag Starter is a production-ready starter that turns a folder of documents (PDFs, Markdown, text) into a cited Q&A service. Every answer is grounded in the source, with each claim traceable to the exact passage. It exposes the same core functionality both as an MCP server (for Claude Desktop, Claude Code, or any MCP host) and as an HTTP API (FastAPI).
How to use Rag Starter?
Install dependencies with pip install -r requirements.txt, then either run the MCP server by adding it to claude_desktop_config.json or start the HTTP API with the rag-starter-api command. Use the provided tools (rag_ingest, rag_search, rag_answer) to index documents and ask questions.
Key features of Rag Starter
- Keyless by default – embeddings run locally with ONNX MiniLM; no API key needed.
- Citations, not hallucinations – every answer includes source references like
[file.pdf p3]. - Optional answer synthesis – with an
ANTHROPIC_API_KEYthe server writes a cited answer; without one it returns passages for the host LLM. - Idempotent ingestion – re-ingesting a file updates it in place without duplicates.
- Two interfaces from one codebase – MCP server and HTTP API.
Use cases of Rag Starter
- Chat with internal documentation in Claude Desktop by ingesting a folder of PDFs and Markdown files.
- Build a custom Q&A endpoint for a web app using the FastAPI HTTP API.
- Prototype a RAG pipeline for a client project with zero API costs for retrieval.
- Reskin the app for different clients by swapping the
data/folder and updating configuration.
FAQ from Rag Starter
How is this different from other RAG projects?
It is keyless by default (local embeddings), produces cited answers to prevent hallucinations, and exposes both an MCP server and an HTTP API from the same codebase. It also uses idempotent ingestion so there are no duplicates on re-index.
What dependencies do I need?
Python 3 with pip install -r requirements.txt. The project uses Chroma for vector storage and ONNX MiniLM for local embeddings. No external services are required for basic retrieval.
Where is my data stored?
Document chunks are stored in a local persistent Chroma database. All data stays on your machine unless you configure an external embedding backend like OpenAI.
Can I use an API key for better answers?
Yes. By setting an ANTHROPIC_API_KEY, the server will synthesize a cited answer for each query. Without the key, it returns ranked passages for the host LLM to answer.
How do I switch from local embeddings to OpenAI?
Change the embedding_backend setting in config.py (or via environment variables) from default to openai. The rest of the pipeline remains the same.
Frequently asked questions
How is this different from other RAG projects?
It is keyless by default (local embeddings), produces cited answers to prevent hallucinations, and exposes both an MCP server and an HTTP API from the same codebase. It also uses idempotent ingestion so there are no duplicates on re-index.
What dependencies do I need?
Python 3 with `pip install -r requirements.txt`. The project uses Chroma for vector storage and ONNX MiniLM for local embeddings. No external services are required for basic retrieval.
Where is my data stored?
Document chunks are stored in a local persistent Chroma database. All data stays on your machine unless you configure an external embedding backend like OpenAI.
Can I use an API key for better answers?
Yes. By setting an `ANTHROPIC_API_KEY`, the server will synthesize a cited answer for each query. Without the key, it returns ranked passages for the host LLM to answer.
How do I switch from local embeddings to OpenAI?
Change the `embedding_backend` setting in `config.py` (or via environment variables) from `default` to `openai`. The rest of the pipeline remains the same.
Basic information
More Memory & Knowledge MCP servers
Rust Docs MCP Server
Govcraft🦀 Prevents outdated Rust code suggestions from AI assistants. This MCP server fetches current crate docs, uses embeddings/LLMs, and provides accurate context via a tool call.
Anytype MCP Server
anyprotoAn MCP server enabling AI assistants to interact with Anytype - your encrypted, local and collaborative wiki - to organize objects, lists, and more through natural language.
Ultimate Google Docs & Drive MCP Server
a-bonusThe Ultimate Google Docs, Sheets, Drive, Gmail, & Google Calendar MCP Server. This MCP (primarily for use in Claude Desktop) gains full access to your google suite and lets claude do its thing.
Notion MCP Server
suekouA Model Context Protocol server for connecting Notion to MCP-compatible clients
Basic Memory
basicmachines-coAI conversations that actually remember. Never re-explain your project to your AI again. Join our Discord: https://discord.gg/tyvKNccgqN
Comments