OpenRAG packages a retrieval-augmented generation stack as a single distribution: document ingestion, vector storage and search, workflow orchestration, and a chat interface over the result. Documents are parsed and structured by Docling, vectorised and indexed in OpenSearch, and queried through Langflow workflows that add re-ranking, filtering, and custom logic.
The service is a FastAPI backend with a Next.js frontend. You add files or folders as knowledge and then chat against them, with retrieval workflows and nudges handled by Langflow. Python and TypeScript SDKs wrap the same API for programmatic chat and search.
A Model Context Protocol server is built in and mounted at /mcp over streamable HTTP, so an MCP client connects to the knowledge base with the same API key used for the REST API and no separate process. Its tools cover RAG chat, semantic search, document ingestion, knowledge filters, and settings management; a previously separate MCP package is deprecated in favour of that endpoint.
Features
- Single-package stack: parsing, retrieval, orchestration, and chat ship wired together
- Document ingestion: Docling parses mixed, messy real-world formats into structured content
- Search backend: OpenSearch stores vectors and indexes for semantic search at scale
- Visual workflow builder: Langflow defines ingestion and retrieval flows by drag and drop
- Agentic RAG: orchestration with re-ranking and multi-agent coordination over retrieved context
- SDKs: Python and TypeScript clients for chat and search against the same API
- Built-in MCP server: mounted at /mcp over streamable HTTP and authenticated with the instance API key
- Deployment options: a Python package, or self-managed services under Docker or Podman