Skip to main content
Glama
R2R FastMCP Server

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")

Inputs: query (required), preset, model, temperature, +13 more. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 2 tools

    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
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers