r2r-mcp
R2R MCP Server is a system designed to integrate Model Context Protocol with the R2R system, enhancing interactions with MCP-compatible models like Claude. It supports high-performance access to knowledge bases and features advanced search and response generation capabilities.
π R2R MCP Server
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 ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ:
- π ΠΠΎΠΈΡΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π²Π°ΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅ΠΊΡΡΠ°
- β ΠΡΠ²Π΅ΡΠΎΠ² Π½Π° Π²ΠΎΠΏΡΠΎΡΡ Ρ ΠΎΠΏΠΎΡΠΎΠΉ Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
- π ΠΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ
- π ΠΠΎΠΈΡΠΊΠ° Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
π‘ 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
ΠΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΠΌ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°! ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² .
ΠΡΠ°ΡΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ:
- π΄ Π€ΠΎΡΠΊΠ½ΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- π± Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ (
git checkout -b feature/amazing-feature
) - βοΈ ΠΠ½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ΄ (
make format
) - π§ͺ ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΡ (
make all
) - π Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡ (
git commit -m 'Add amazing feature'
) - π€ ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (
git push origin feature/amazing-feature
) - π ΠΡΠΊΡΠΎΠΉΡΠ΅ 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-ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ² |
π ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
- π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ MCP
- π Python SDK Π΄Π»Ρ MCP
- π UV Package Manager
- π ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ MCP
π ΠΠΈΡΠ΅Π½Π·ΠΈΡ
MIT