UltraRAG: A RAG Development Framework Based on MCP
A lightweight RAG development framework based on MCP architecture design, with YAML configuration for orchestrating control structures.
Verified
Core facts
Read by a script from the official API, not rewritten by a model.
- Repository
- https://github.com/OpenBMB/UltraRAG
- License
- Apache-2.0
- Languages
- Python
- Maintainer
- OpenBMB
- Homepage
- https://ultrarag.github.io/
- Verified
What it is
UltraRAG is a lightweight RAG development framework based on the Model Context Protocol (MCP) architecture design. It was jointly launched by THUNLP at Tsinghua University, NEUIR at Northeastern University, OpenBMB, and AI9stars. Designed for research exploration and industrial prototyping, it standardizes core RAG components (Retriever, Generation, etc.) as independent MCP Servers. Developers can orchestrate complex control structures such as conditional branches and loops simply through YAML configuration.
Main features
Inference orchestration natively supports control structures such as sequential, loop, and conditional branches.
Based on the MCP architecture, functions are decoupled into independent Servers.
New features only need to be registered as function-level Tools to integrate into workflows.
It has built-in standardized evaluation workflows and ready-to-use mainstream research benchmarks.
Getting started
UltraRAG provides two installation methods: local source code installation (recommended using uv for package management) and Docker container deployment.
The project strongly recommends using uv to manage Python environments and dependencies.
If you only need to run basic core functions, such as only using UltraRAG UI, the core dependencies installation applies.
If you want to fully experience UltraRAG's retrieval, generation, corpus processing, and evaluation functions, the full installation applies.
If you prefer not to configure a local Python environment, you can deploy using Docker.
The project calls the full installation its recommended team setup, in which every MCP server shares the same virtual environment and lock file.
For on-demand installation, keep only the optional dependency groups for the modules you need to run.
git clone https://github.com/OpenBMB/UltraRAG.git --depth 1
cd UltraRAG uv sync uv sync --all-extras# CPU: no GPU runtime required
docker run --rm -it -p 5050:5050 hdxin2002/ultrarag:latest-base-cpu
# GPU: requires the NVIDIA Container Toolkit
docker run --rm -it --gpus all -p 5050:5050 hdxin2002/ultrarag:latestultrarag run examples/experiments/sayhello.yamlWho it is for
The project provides complete tutorial examples from beginner to advanced. The Research Experiments section is designed for researchers, providing data, experimental workflows, and visualization analysis tools. Case Analysis provides a visual Case Study interface to track each intermediate output of the workflow, assisting in analysis and error attribution.
Code Integration explains how to call UltraRAG components directly in Python code for more flexible customized development. The Demo Systems are designed for developers and end users, providing complete UI interaction and complex application cases. The Deployment Guide provides production environment deployment tutorials covering the setup of Retriever, Generation models (LLM), and Milvus vector database.
After the container starts, UltraRAG UI runs automatically.
Sources
This page is written from the official sources below. Open them to check the original text.
- GitHub READMEhttps://github.com/OpenBMB/UltraRAGFetched
Verified ·
This page is written by AI from the official sources above and checked automatically. This site has not tested it. Found a mistake? Tell us.