Skip to main content
Glama
evgenygurin

R2R FastMCP Server

by evgenygurin

R2R FastMCP Server

MCP-сервер для интеграции R2R (Retrieval-Augmented Generation) с Claude Desktop.

Доступные реализации:

  • server.py — Кастомный MCP сервер с 5 специализированными инструментами (search, rag, advanced_search, graph_search, advanced_rag)

  • r2r_openapi_server.py — Автогенерация из OpenAPI спецификации R2R (полный доступ ко всем R2R API эндпоинтам)

Быстрый старт

# Установка зависимостей через uv
make install

# Настройка окружения
cp .env.example .env
# Отредактируй .env с твоими настройками

# Проверка кода
make lint

# Запуск сервера
make run

Примечание: Проект использует uv для управления зависимостями. Убедись, что uv установлен: curl -LsSf https://astral.sh/uv/install.sh | sh

Related MCP server: Claude RAG MCP Pipeline

Установка в Claude Desktop

Кастомный сервер (5 инструментов):

# Если возникает ошибка с typer, сначала обнови зависимости:
# pip install --upgrade 'mcp[cli]'

mcp install server.py -v R2R_BASE_URL=http://localhost:7272

OpenAPI сервер (полный R2R API):

# Локальная разработка (stdio)
python r2r_openapi_server.py

# Production деплой (HTTP)
uvicorn r2r_openapi_server:app --host 0.0.0.0 --port 8000

# Claude Desktop установка
mcp install r2r_openapi_server.py -v R2R_BASE_URL=http://localhost:7272

Доступные инструменты

  • search — поиск по базе знаний R2R (vector, graph, web, document)

  • rag — RAG-запрос с генерацией ответа

Тестирование с GUI

Для визуального тестирования инструментов используй MCP Inspector:

# Запуск Inspector с веб-интерфейсом
make run-inspector

Откроется браузер на http://localhost:5173 с GUI для:

  • Просмотра всех 114 инструментов из R2R API

  • Вызова инструментов с параметрами

  • Просмотра результатов и логов в реальном времени

Команды разработки

# Установка и управление
make help         # Список всех команд
make install      # Установка зависимостей

# Проверка кода
make lint         # Проверка кода (format + typecheck)
make fix          # Автоматическое исправление

# Запуск серверов
make run          # Запуск custom MCP server (server.py)
make run-openapi  # Запуск OpenAPI MCP server (stdio режим)
make run-http     # Запуск OpenAPI MCP server (HTTP режим на :8000)
make run-gemini   # Запуск Gemini интеграции (интерактивный)
make run-inspector # Запуск MCP Inspector (GUI для тестирования)

# Утилиты
make clean        # Очистка кэша

Требования

Документация

Полная документация находится в CLAUDE.md

Available Tools

2 tools
ragR2R RAGA

Perform Retrieval-Augmented Generation (RAG) query with full parameter control.

This tool retrieves relevant context from the knowledge base and generates an answer using a language model. Supports all search modes (semantic, hybrid, graph) and customizable generation parameters.

Args: query: The question to answer using the knowledge base. Required. preset: Preset configuration for common use cases. Options: - "default": Basic RAG with gpt-4o-mini, temperature 0.7, 10 results - "development": Hybrid search with higher temperature for creative answers, 15 results - "refactoring": Hybrid + graph search with gpt-4o for code analysis, 20 results - "debug": Minimal graph search with low temperature for precise answers, 5 results - "research": Comprehensive search with gpt-4o for research questions, 30 results - "production": Balanced hybrid search optimized for production, 10 results model: LLM model to use for generation. Examples: - "vertex_ai/gemini-2.5-flash" (default, fast and cost-effective) - "vertex_ai/gemini-2.5-pro" (more capable, higher cost) - "openai/gpt-4-turbo" (high performance) - "anthropic/claude-3-haiku-20240307" (fast) - "anthropic/claude-3-sonnet-20240229" (balanced) - "anthropic/claude-3-opus-20240229" (most capable) temperature: Generation temperature controlling randomness. Must be between 0.0 and 1.0. Lower values (0.0-0.3) = more deterministic, precise answers Medium values (0.4-0.7) = balanced creativity and accuracy (default: 0.7) Higher values (0.8-1.0) = more creative, diverse answers max_tokens: Maximum number of tokens to generate. Optional, uses model default if not specified. use_semantic_search: Enable semantic/vector search for retrieval (default: True) use_hybrid_search: Enable hybrid search combining semantic and full-text search (default: False) use_graph_search: Enable knowledge graph search for entity/relationship context (default: False) limit: Maximum number of search results to retrieve. Must be between 1 and 100 (default: 10) kg_search_type: Knowledge graph search type. "local" for local context, "global" for broader connections (default: "local") semantic_weight: Weight for semantic search in hybrid mode. Must be between 0.0 and 10.0 (default: 5.0) full_text_weight: Weight for full-text search in hybrid mode. Must be between 0.0 and 10.0 (default: 1.0) full_text_limit: Maximum full-text results to consider in hybrid search. Must be between 1 and 1000 (default: 200) rrf_k: Reciprocal Rank Fusion parameter for hybrid search. Must be between 1 and 100 (default: 50) search_strategy: Advanced search strategy (e.g., "hyde", "rag_fusion"). Optional. include_web_search: Include web search results from the internet (default: False) task_prompt_override: Custom system prompt to override the default RAG task prompt. Useful for specializing AI behavior for specific domains or tasks. Optional.

Returns: Generated answer based on relevant context from the knowledge base.

Examples: # Simple RAG query rag("What is machine learning?")

# Development preset for code questions
rag("How to implement async/await in Python?", preset="development")

# Custom RAG with specific model and temperature
rag(
    "Explain neural networks",
    model="vertex_ai/gemini-2.5-pro",
    temperature=0.5
)

# Research preset with comprehensive search
rag(
    "Latest developments in transformer architectures",
    preset="research"
)

# Debug preset for precise technical answers
rag("What causes this error?", preset="debug")
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
presetNodefault
modelNovertex_ai/gemini-2.5-pro
temperatureNo
max_tokensNo
use_semantic_searchNo
use_hybrid_searchNo
use_graph_searchNo
limitNo
kg_search_typeNoglobal
semantic_weightNo
full_text_weightNo
full_text_limitNo
rrf_kNo
search_strategyNo
include_web_searchNo
task_prompt_overrideNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, openWorldHint=true, destructiveHint=false, covering basic safety. The description adds valuable context beyond annotations by detailing search modes (semantic, hybrid, graph), generation parameters, and presets for common use cases, though it lacks explicit rate limits or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately front-loaded with a clear purpose, but it is lengthy due to extensive parameter details. While informative, some redundancy exists (e.g., repeating defaults in descriptions that are also in the schema), reducing efficiency. Every sentence adds value, but structure could be more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's high complexity (17 parameters, no schema descriptions, annotations present, output schema exists), the description is highly complete. It covers purpose, usage, detailed parameter semantics, and examples, compensating fully for schema gaps and leveraging annotations for behavioral basics, making it sufficient for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for 17 parameters, the description fully compensates by providing detailed explanations for each parameter, including defaults, ranges, options (e.g., preset and model examples), and behavioral effects (e.g., temperature impact). This adds significant meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs 'Retrieval-Augmented Generation (RAG) query' with 'full parameter control,' specifying the verb (perform RAG) and resource (knowledge base). It distinguishes from the sibling 'search' tool by emphasizing generation with an LLM rather than just retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage through presets (e.g., 'development' for code questions, 'debug' for precise answers) and examples, but does not explicitly state when to use this tool versus the 'search' sibling tool or other alternatives beyond implied differences.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.9/5.0
Disambiguation2/5

The two tools have significant functional overlap and ambiguous boundaries. Both 'rag' and 'search' perform retrieval from the knowledge base with nearly identical search parameters and presets, differing mainly in that 'rag' includes LLM generation while 'search' returns raw results. This overlap could easily cause misselection, as agents might struggle to choose between them for retrieval-focused tasks.

Naming Consistency5/5

Tool names follow a perfectly consistent pattern with simple, descriptive verbs ('rag' and 'search') in lowercase. Both names clearly indicate their primary function without mixing conventions, making them predictable and easy to understand within the server's scope.

Tool Count2/5

With only 2 tools, the server feels severely under-scoped for a RAG/knowledge base system. While the tools are feature-rich individually, the set lacks basic operations like knowledge base management (e.g., add/remove documents), configuration updates, or status checks. This minimal count limits agent workflows and suggests an incomplete surface.

Completeness2/5

The tool surface has significant gaps for a RAG server. There are no tools for managing the knowledge base (ingesting, updating, or deleting documents), monitoring system status, or configuring core settings. While 'rag' and 'search' cover querying comprehensively, the absence of management operations creates dead ends for agents needing to interact with the underlying data.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/evgenygurin/r2r-rag-search-agent'

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