UltraRAG 2.0 (UR-2.0) is the first lightweight RAG system construction framework designed based on the Model Context Protocol (MCP) architecture, aimed at providing efficient modeling support for scientific research scenarios. It standardizes and encapsulates the core components of RAG (such as Retriever, Generation, etc.) into independent MCP Servers, and achieves flexible invocation and functional extension through function-level Tool interfaces. With the MCP Client serving as the workflow scheduler, developers only need to write concise YAML files to efficiently build reasoning workflows that support complex control structures such as sequential, loop, and conditional branching, significantly lowering the technical barriers and learning costs for constructing and debugging complex RAG systems.
📑 Pipeline
A user-defined workflow file written in YAML to describe the calling order and execution logic of various components and Tools
🕹️ Client
The central scheduler of the workflow, responsible for parsing the Pipeline and uniformly coordinating the execution and calling order of Tools within each Server.
🔧 Server
Contains all independently callable functional modules, enabling developers to conveniently add new features or modules through standardized interfaces, achieving flexible extension and efficient composition of the system.
In addition, UR-2.0 has built-in ToolCall functionality, allowing developers to directly invoke UltraRAG-provided utility functions without modifying the original code structure, enabling seamless integration and flexible extension. The framework also provides comprehensive tutorials from beginner to advanced levels, includes 17 mainstream benchmark tasks and various high-quality baselines, and supports a unified evaluation system and knowledge base, significantly improving system development efficiency and experiment reproducibility.
RAG systems are evolving from early simple modular chaining models to complex architectures relying on model-driven reasoning, dynamic retrieval, and conditional judgment. Traditional frameworks struggle to meet the needs for flexibility and scalability in multi-turn interactions and information updates in such systems. Meanwhile, existing open-source implementations generally lack a unified paradigm, with severe coupling and loose structure among different baseline modules, posing great challenges for understanding, reproducing, and comparative research.To address these challenges, UltraRAG 2.0 aims to provide:
🚀 Low-code construction of complex Pipelines
Native support for reasoning control structures such as sequential, loop, and conditional branching. Developers only need to write YAML files and customize a few dozen lines of code to implement complex iterative RAG workflows (e.g., Search-o1).
⚡ Fast reproduction and functional extension
Based on the MCP architecture, all modules are encapsulated as independent, reusable Servers. Users can customize Servers as needed or reuse existing modules. Each Server’s functions are registered as function-level Tools, and adding new features only requires adding a single function to integrate into the complete workflow. Additionally, UR-2.0 supports invoking external MCP Servers, easily extending Pipeline capabilities and application scenarios.
📊 Unified evaluation and comparison
Built-in standardized evaluation workflows and metric management, supporting out-of-the-box use and extension of 17 mainstream scientific Benchmarks, continuously integrating the latest baselines, and providing Leaderboard results to facilitate systematic research and optimization.