MCPR: A Practical Framework for Stateful Human-AI Collaboration in R
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
The MCPR (Model Context Protocol Tools for R) package addresses a
fundamental limitation in the current paradigm of AI-assisted R
programming. Existing AI agents operate in a stateless execution model,
invoking Rscript for each command, which is antithetical to the
iterative, state-dependent nature of serious data analysis. An
analytical workflow is a cumulative process of exploration, modelling,
and validation that can span hours or days. Moreover, intermediate steps
can involve heavy computation, and small changes in downstream code such
as plot aesthetics require running the entire script again. MCPR aims to
tackle this issue by enabling AI agents to establish persistent,
interactive sessions within a live R environment, thereby preserving
workspace state and enabling complex, multi-step analytical workflows.
MCPR Demo
Quick Start
Get up and running with MCPR in under 2 minutes:
**That’s it!** Your AI agent can execute R code, create plots, and
inspect a persistent private workspace. If you want the agent to work
inside an existing interactive R session, run mcpr_session_start()
there and attach with manage_r_sessions().
Core capabilities
MCPR’s design is guided by principles of modularity, robustness, and
practicality.
- **Communication Protocol:** MCPR uses JSON-RPC 2.0 over nanonext
sockets, providing a lightweight, asynchronous, and reliable messaging
layer. This choice ensures cross-platform compatibility and
non-blocking communication suitable for an interactive environment.
- **Tool-Based Design:** Functionality is exposed to the AI agent as a
discrete set of tools (show_plot, execute_r_code, etc.). This modular
approach simplifies the agent’s interaction logic and provides clear,
well-defined endpoints for R operations.
- **Session Management:** The MCP server process is a private R session
by default. The optional manage_r_sessions tool can list attachable
sessions, join a human session started with mcpr_session_start(),
start a secondary session, detach back to private/local execution, or
close MCPR-owned secondary sessions.
- **Graphics Subsystem:** Plot generation leverages httpgd when
available for high-performance, off-screen rendering. A fallback to
standard R graphics devices (grDevices) ensures broad compatibility.
The system includes intelligent token management to prevent oversized
image payloads.
Installation
The first requirement is to have R installed and then install the MCPR
package from GitHub:
Next, you should install the MCP server to give the agent access to the
tools included in the package. System integration is designed to be
straightforward, with both automated and manual pathways.
Automated Setup
A convenience function, install_mcpr(), is provided to handle package
installation and agent-specific MCP configuration. Supported agents
include Claude, Gemini, Copilot, and Codex.
Manual MCP Configuration
For Claude Desktop, configure claude_desktop_config.json. You can
likely find it in one of these locations depending on your OS:
**macOS**:
~/Library/Application Support/Claude/claude_desktop_config.json
**Windows**: %APPDATA%\Claude\claude_desktop_config.json **Linux**:
~/.config/claude/claude_desktop_config.json
Then, add the following MCP server configuration:
Supported agents
Currently, MCPR supports configuration for the following AI agents with
the given configuration paths (note that these are approximate and might
vary based on OS and installation):