rstudiomcp
RStudio的MCP(模型上下文协议)服务器-使用Claude Code桥接您的RStudio会话。
这是什么?
此R包在RStudio会话中运行本地MCP服务器,允许Claude Code:
- 在会话中执行R代码
- 检查物体和环境
- 读取和编辑打开的文档
- 源R脚本
- 从“绘图”窗格中捕获绘图
- 从查看器窗格访问HTML内容
安装
You'll probably want Claude Code installed to use with RStudio. Claude Code installation instructions:
如果你知道如何使用命令行,只需按照 官方指示. 否则,请询问Claude(或您首选的AI助手):
请帮我安装Claude Code。最新说明见https://docs.claude.com/en/docs/claude-code/setup-你应该把它们拿来。请问我使用什么系统——Windows、WSL、MacOS、Linux,并在此基础上引导我。谢谢!
RStudio MCP扩展
要安装RStudio MCP扩展,请在RStudio控制台中运行以下行:
# Install from GitHub
install.packages("remotes")
library("remotes")
remotes::install_github("zygi/rstudiomcp")Video guide
https://github.com/user-attachments/assets/3b345237-6133-443b-bd4a-c05b0045bdbc
按项目设置
选项1:自动加载
使用RStudio Addin: “启用自动加载(每个项目)”
这增加了 library(rstudiomcp) 到你的项目 .Rprofile 配置,因此当您打开项目时,服务器会自动启动。
启用自动加载后重新启动RStudio会话。您应该看到以下输出:
Starting MCP Server on http://localhost:16751
MCP Server started successfully!
Endpoint: http://localhost:16751
Transport: Streamable HTTP (JSON responses, no SSE)
Run stop_mcp_server() to stop the server
Added RStudio MCP server to C:/Users/zygi/Documents/test_proj/.mcp.json选项2:手动启动(用于开发/测试)
library(rstudiomcp)
start_mcp_server()使用Claude代码
- 在RStudio中启动MCP服务器
- 在项目文件夹中打开Claude Code(从集成RStudio终端或外部终端)
\[!重要\] 为了便于设置,您应该在RStudio用作项目主页的同一文件夹中打开Claude Code。(这可能与您在RStudio文件系统窗格中设置的“活动目录”不同。)如有疑问,请查看RStudio控制台内部的日志消息 `Added RStudio MCP server to
/.mcp.json -这意味着如果您在内部启动Claude Code,它将自动连接 `.
- Claude Code应该自动检测服务器并连接到它!您应该通过键入以下内容来验证
/mcp并查看细节。
现在,您可以让Claude Code与您的R会话进行交互!
并发会话
并发会话(打开两个RStudio窗口,两个窗口都运行RStudio MCP服务器)目前不支持开箱即用。 实现这一点的一种手动方式是不激活自动加载,而是通过提供不同的端口在会话中手动加载服务器:
library(rstudiomcp)
start_mcp_server(port=12345)在一次会议中,以及 start_mcp_server(port=12346) 在另一个。然后在相应的RStudio项目路径中启动两个Claude Code会话,它们应该只是连接!
简单故障排除
如果您在设置时遇到问题,请将以下内容粘贴到Claude中:
Hi! I'm trying to set up RStudio-MCP to use with a Claude Code session but it's not working.
Could you please help me debug? The project readme is at https://github.com/zygi/rstudiomcp/blob/master/README.md
(but maybe fetch it as a raw file.)可用工具
Claude Code可以使用这些工具:
代码执行
eval_r-在R会话中执行R代码source_active_document-运行当前活动的R脚本(如单击源按钮)。可选:指定start_line和end_line仅源代码特定行
环境检查
list_environments-列出可用的R环境list_objects-列出环境中的对象get_object-获取详细的对象信息(类型、类、结构、预览)get_console_history-查看最近的控制台命令
文档编辑
备注:所有文档编辑工具仅适用于当前活动的文档。 使用create_document创建新文档或open_document_file打开保存的文件。
create_document-使用可选文件路径创建新文档(自动激活)open_document_file-按路径打开或重新聚焦已保存的文档文件get_active_document-读取活动文档(显示ID、路径和内容)insert_text-在活动文档中的光标或特定位置插入文本replace_text_range-用活动文档中完全匹配的字符串替换文本
可视化
get_current_plot-将当前绘图捕获为图像get_latest_viewer_content-在查看器窗格中获取最后渲染页面的HTML内容
配置
检查状态
mcp_status()或者使用RStudio Addin: “MCP服务器状态”
更改端口
configure_mcp_server()默认端口为 16751.
重新启动服务器
restart_mcp_server()或者使用RStudio Addin: “重新启动MCP服务器”
禁用自动启动
disable_autoload()或者使用RStudio Addin: “禁用自动加载(每个项目)”
技术故障排除
“地址已在使用中”
港口已被占用。重新启动服务器:
restart_mcp_server()如果提示终止进程,请键入 yes 以确认。
或者更改端口:
configure_mcp_server()服务器在睡眠/唤醒后无法启动
服务器可能会成为孤立服务器。用途:
restart_mcp_server()发展
看 CLAUDE.md 查看开发人员注释和架构详细信息。 服务器启动后,您还可以使用MCP检查器进行调试:
npx @modelcontextprotocol/inspector http://localhost:16751/技术细节
- R包在RStudio的R会话中运行,并在127.0.0.1上启动HTTP MCP服务器
- 它还写入(或更新)a
.mcp.json项目目录中的文件。 - 启动Claude Code后,它会看到此文件并尝试连接到MCP服务器。
笔记:
- 为了允许MCP访问查看器面板上的内容,服务器需要包装
viewer功能。这显然很棘手,我还没有看到它损坏任何东西,但如果你发现它是一个真正的问题,请报告。
贡献
问题和拉取请求欢迎!作者不是R专家,所以可能做出了一些愚蠢的决定。 这不是RStudio的官方产品。
