mcpField
🚀
🚀 R2R MCP Server

🚀 R2R MCP Server

本地服务
github.com/eagurin记忆与知识080 周前更新

关于 🚀 R2R MCP Server

R2R MCP Server 将兼容 MCP 的模型连接到 R2R 知识库,为处理知识与上下文来源的用户提供文档搜索、带引用的 RAG 回答、网络搜索和 Agent 研究。

主要功能

  1. 01向量、全文和混合搜索
  2. 02提供带来源引用的 RAG 回答
  3. 03搜索指定文档或文档集合
  4. 04通过 R2R 进行网络搜索
  5. 05Agent 执行复杂查询研究

适用场景

  1. 01查找文档集合中的相关段落
  2. 02基于知识库来源回答问题并提供引用
  3. 03结合文档与网络结果研究主题

MCP 相关

它向 MCP 客户端提供 R2R 搜索、RAG、文档列表、网络搜索和 Agent 研究工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

README 原文English

来自项目 README

README 暂无中文译文,以下为英文原文;中文介绍见上方。

🚀 R2R MCP Server

Python MCP License UV

R2R MCP Server предоставляет интеграцию Model Context Protocol (MCP) с системой R2R (Retrieval-to-Response) для улучшения взаимодействия с Claude и другими MCP-совместимыми моделями, обеспечивая доступ к базам знаний.

✨ Особенности

  • 🔌 MCP сервер для интеграции с Claude и другими MCP-совместимыми моделями
  • ⚡ Асинхронный клиент R2R для высокопроизводительного доступа к базам знаний
  • 🔍 Инструменты поиска и генерации ответов на основе контекстуальных данных
  • 📊 Структурированное логирование с помощью Loguru
  • 🪶 Легкая архитектура с минимальными зависимостями
  • 💡 Расширенные возможности RAG (Retrieval-Augmented Generation)
  • 🌐 Поддержка веб-поиска для получения актуальной информации
  • 🤖 Возможность исследования через агента для сложных запросов

🏗️ Архитектура

Проект разработан в соответствии с принципами SOLID, DRY и KISS:

  • Single Responsibility: Каждый компонент выполняет одну задачу
  • Open/Closed: Модули открыты для расширения, но закрыты для модификации
  • Liskov Substitution: Компоненты взаимозаменяемы через интерфейсы
  • Interface Segregation: API разделены по функциональности
  • Dependency Inversion: Зависимости внедряются, а не создаются внутри компонентов

📁 Структура проекта

r2r-mcp/
│
├── app/                    # 📦 Основной код приложения
│   └── server.py           # 🖥️ Основной MCP сервер
│
├── tests/                  # 🧪 Тесты
│   ├── test_r2r_mcp.py               # Модульные тесты функциональности
│   ├── test_r2r_mcp_integration.py   # Интеграционные тесты с API
│   ├── test_r2r_mcp_performance.py   # Тесты производительности
│   └── conftest.py                   # Настройки и фикстуры для тестов
│
├── docs/                   # 📚 Документация
│   └── ...
│
├── logs/                   # 📝 Директория для логов
│   └── ...
│
├── .github/                # 🔄 GitHub конфигурация
│   └── workflows/          # CI/CD workflows
│       ├── test.yml        # Тестирование
│       └── release.yml     # Релизы
│
├── .env.example            # 🔒 Пример переменных окружения
├── Makefile                # 🛠️ Команды для разработки и тестирования
├── pyproject.toml          # ⚙️ Конфигурация проекта и зависимостей
├── CONTRIBUTING.md         # �� Руководство по контрибьютингу
├── README.md               # 📄 Документация проекта
└── .gitignore              # 🙈 Игнорируемые файлы Git

🔧 Установка

Предварительные требования
  • 🐍 Python 3.12 или выше
  • 🔄 uv (современный Python package manager)
  • 🛠️ make (опционально, для использования Makefile)
Установка зависимостей
С использованием Makefile (рекомендуется) 👍
# Клонирование репозитория
git clone https://github.com/eagurin/r2r-mcp.git
cd r2r-mcp

# Создание виртуального окружения
uv venv
source .venv/bin/activate  # Linux/macOS
# или .venv\Scripts\activate  # Windows

# Установка основных зависимостей
make install

# Установка зависимостей для разработки
make install-dev
Вручную с помощью uv 🔧
# Установка uv, если не установлен
curl -LsSf https://astral.sh/uv/install.sh | sh

# Клонирование репозитория
git clone https://github.com/eagurin/r2r-mcp.git
cd r2r-mcp

# Создание виртуального окружения
uv venv
source .venv/bin/activate  # Linux/macOS
# или .venv\Scripts\activate  # Windows

# Установка основных зависимостей
uv pip install mcp r2r loguru

# Или установка через pyproject.toml
uv pip install .

# Установка с зависимостями для разработки
uv pip install ".[dev]"
Установка как MCP-плагин 🔌

После установки зависимостей вы можете установить сервер как MCP-плагин:

# Локальный R2R API
mcp install app/server.py -v R2R_API_URL=https://api.sciphi.ai

# Облачный R2R API
mcp install app/server.py -v R2R_API_KEY=your_api_key_here

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

ИнструментОписаниеСтатус
searchПоиск в документах с помощью R2R, включая векторный и гибридный поиск✅
ragПолучение ответа на основе базы знаний (RAG) с цитированием источников✅
web_searchПоиск в интернете через R2R с результатами из открытых источников✅
document_searchПоиск в конкретном документе или по всей базе знаний✅
list_documentsСписок доступных документов в базе знаний с метаданными✅
agent_researchИсследование через агента для сложных запросов с использованием LLM✅

🔍 Функциональность

Векторный и гибридный поиск 🔍

Система поддерживает современные методы информационного поиска:

  • 📊 Векторный поиск по семантической близости
  • 📝 Полнотекстовый поиск для точных совпадений
  • 🔄 Гибридный поиск, комбинирующий оба подхода
RAG (Retrieval-Augmented Generation) 🧠

Позволяет получать обоснованные ответы на основе документов:

  • 🔎 Автоматический подбор релевантных источников
  • 📃 Генерация связного ответа с цитированием
  • ⚙️ Настраиваемые параметры генерации (температура, длина ответа)
Агентские исследования 🕵️‍♂️

Для сложных запросов доступен режим исследования с агентом:

  • 🔬 Глубокий анализ темы с использованием мощных LLM-моделей
  • 🔗 Комбинирование разных источников информации
  • 📊 Формирование обоснованных выводов и рекомендаций

🤖 Использование с Claude

После установки как MCP-плагина, Claude автоматически получает доступ к инструментам R2R и может использовать их для:

  1. 🔍 Поиска информации в ваших документах и получения конкретных фрагментов текста
  2. ❓ Ответов на вопросы с опорой на данные из базы знаний с указанием источников
  3. 📚 Проведения исследования путем комбинирования разных источников информации
  4. 🌐 Поиска актуальной информации в интернете при необходимости

💡 Claude автоматически выберет соответствующий инструмент MCP и получит доступ к вашим данным через R2R API.

👨‍💻 Разработка

Использование Makefile 📋

Проект включает Makefile для удобного выполнения задач разработки:

Показать список доступных команд 📜
make help
Запустить MCP сервер локально 🚀
make run
Запуск тестов вручную 🧪
# Установка зависимостей для разработки
make install-dev

# Запуск тестов
make test

# Запуск с отчетом о покрытии
make test-cov
Форматирование и проверка кода ✨
# Форматирование кода и сортировка импортов
make format

# Проверка типов
make mypy

# Проверка стиля кода
make lint

# Запуск всех проверок и тестов
make all

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

Проект включает комплексную систему тестирования:

Модульные тесты (test_r2r_mcp.py) 🔬

Проверяют отдельные компоненты и функции системы:

  • Тесты вспомогательных функций форматирования
  • Тесты инициализации сервера
  • Тесты инструментов MCP
  • Тесты взаимодействия с клиентом R2R
Интеграционные тесты (test_r2r_mcp_integration.py) 🔄

Проверяют взаимодействие с реальным API R2R:

  • Тесты с реальными API-вызовами (требуют настройки R2R_API_URL или R2R_API_KEY)
  • Тесты с моками для имитации API-вызовов
  • Пропуск тестов при отсутствии настроек API
Тесты производительности (test_r2r_mcp_performance.py) ⚡

Измеряют эффективность работы компонентов:

  • Тесты производительности форматирования результатов
  • Тесты скорости обработки инструментов
  • Бенчмаркинг на разных размерах данных

Запуск всех категорий тестов:

make test

👥 Contributing

Мы приветствуем вклад в развитие проекта! Подробная информация доступна в CONTRIBUTING.md.

Краткие шаги:

  1. 🍴 Форкните репозиторий
  2. 🌱 Создайте ветку для вашей функциональности (git checkout -b feature/amazing-feature)
  3. ✏️ Внесите изменения и отформатируйте код (make format)
  4. 🧪 Запустите проверки и тесты (make all)
  5. 📝 Сделайте коммит (git commit -m 'Add amazing feature')
  6. 📤 Отправьте изменения (git push origin feature/amazing-feature)
  7. 🔄 Откройте Pull Request

⚡ Производительность

Проект оптимизирован для высокой производительности:

  • 🔄 Асинхронные клиенты для параллельной обработки запросов
  • 📊 Эффективное форматирование результатов поиска
  • 🔄 Кэширование клиентов для повторного использования
  • 📈 Строгие тесты производительности для контроля эффективности

🔄 Интеграция с другими MCP-совместимыми моделями

R2R MCP Server может работать с любыми MCP-совместимыми моделями, включая:

  • 🤖 Claude (через Claude.app или API)
  • 🔄 Другие LLM-модели с поддержкой MCP
  • ⚙️ Кастомные клиенты MCP

📦 Зависимости проекта

Проект использует минимальный набор необходимых зависимостей из pyproject.toml:

ЗависимостьВерсияСтатусОписание
mcp>=0.1.0✅Model Context Protocol для интеграции с LLM
r2r>=0.1.0✅Клиент для R2R API
loguru>=0.7.0✅Структурированное логирование
Зависимости для разработки
ЗависимостьВерсияСтатусОписание
pytest>=8.0.0✅Фреймворк для тестирования
pytest-asyncio>=0.23.0✅Поддержка асинхронных тестов
pytest-cov>=6.1.1✅Отчеты о покрытии кода тестами
black>=24.1.0✅Форматирование кода
isort>=5.13.0✅Сортировка импортов
mypy>=1.8.0✅Статическая проверка типов
ruff>=0.2.0✅Линтер кода
httpx>=0.26.0✅HTTP-клиент для тестов

📚 Полезные ресурсы

📄 Лицензия

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。