← 返回目录
C

ClaudeR

社区
把 RStudio 或 Positron 里活着的 R / Python 会话接到 MCP 智能体上
GitHub 源仓库 ↗
★ 342 Stars 分类 · 开发工具 非常热门
56FMRS · C

ClaudeR 把 MCP 智能体接到活着的 R(RStudio / Positron)和 Python 会话上,让智能体能直接在你数据与模型所在的会话里执行代码、看图、读写编辑器文件,并附带多智能体协调、稿件审计、系统综述筛选、基金评审与回复审稿人等研究工作流,工具面覆盖执行、编辑器、审计、引用、日志和检查点,能力相当完整。它以 clauder-mcp 形式发布于 PyPI,用 stdio 传输,支持 uvx 零配置启动,客户端覆盖 Claude Desktop、Claude Code、Codex、Qwen、Antigravity、Cursor 等。定位是“受监督的重型工具”:它明确说明绑定本机不是安全边界、代码校验只是安全带而非沙箱,并且审计他人稿件时存在提示注入风险,因此适合了解并能承担这些风险的本地科研用户,不适合需要隔离执行的共享或多人环境。仓库 README 声明 MIT 许可,但 GitHub 许可证字段为 NOASSERTION。源材料在 README 结尾的故障排查处被截断。

可靠性
8/20
安全与权限
9/20
维护活跃度
12/20
文档质量
14/20
安装易用性
13/20
查看 FMRS 评分方法 →

ClaudeR 通过 MCP 把 Claude Code、Codex、Gemini 等智能体接到你正在使用的 R 会话(RStudio 或 Positron)以及活的 Python 会话上。智能体在你清洗好的数据和已拟合的模型所在的会话里执行代码、看到自己画出的图形、读取环境里的对象,并能编辑编辑器里打开的文件。多个智能体可以共享同一个会话分工协作,也可以各自开一个会话互不干扰。附带 Reviewer Zero 自动化稿件审计、多智能体协调协议、系统综述筛选、基金评审小组和回复审稿人等工作流。Python 桥接包为 clauder-mcp,可用 uvx 零配置运行,传输方式为 stdio。R 包从 GitHub 安装(devtools::install_github("IMNMV/ClaudeR"))。注意:仓库 README 标注 MIT 许可,但 GitHub 许可证字段为 NOASSERTION。

工具能力

execute_r
执行 R 代码并返回输出。
execute_r_with_plot
执行会生成图形的 R 代码,图形可被模型看到。
execute_r_async
以异步方式执行长时间运行的 R 代码(超过约 25 秒),返回用于轮询的任务 ID。
get_async_result
轮询异步任务的结果,内置延迟以限制轮询频率。
list_sessions
列出智能体可连接的所有活动 RStudio 会话。
connect_session
按名称连接到指定的 RStudio 会话,用于多会话工作流。
get_session_history
查看按智能体 ID 过滤的执行历史。
read_file
读取磁盘上的任意文件(.R、.qmd、.csv、.log 等),无需在 RStudio 中打开;.docx 和 .pdf 会被抽取为保留结构的文本,支持按行分页。
check_cross_references
确定性的内部引用完整性检查:标出悬空引用(如“见表 4”但并无表 4)以及正文从未引用的表格或图片。
reconcile_values
审计的核心工具:抽取稿件中的每一个数值,并按显示精度与你的代码实际产出的数字逐一核对,返回逐值登记表。
get_active_document
读取当前聚焦的编辑器缓冲区,返回内容、文件路径以及缓冲区是否有未保存改动。
get_r_info
获取 R 环境的信息。
modify_code_section
在编辑器文档中做正则查找替换,支持多行模式,默认保存到磁盘,可用 path 指定目标文件。
insert_text
在光标位置或指定的行/列插入文本,默认保存到磁盘。
suggest_edit
提出一处修改建议交用户批准,而不是直接应用。
get_viewer_content
读取 Viewer 面板中的 HTML 内容(plotly、DT、leaflet 等控件),支持分页。
clean_error_log
清理会话日志:移除报错代码块及其重复的前置代码,只留下可运行的代码和随后的修复。
search_project_code
在项目源文件(.R、.Rmd、.qmd)中按正则搜索,返回文件、行号和片段。
probe_scripts
在干净的后台会话中运行 R 脚本并报告创建了哪些对象,不影响你的主会话。
verify_references
核对学术参考文献:DOI 查 CrossRef(含撤稿与更正标记),解析 arXiv ID,对无 DOI 条目做书目匹配。
search_citations
在 OpenAlex 学术索引中检索某论断对应的正确文献,而不是凭记忆引用。
get_bibtex
通过 doi.org 内容协商获取某个 DOI 的标准 BibTeX 条目。
generate_notebook
把会话日志转换成带叙述的 Quarto 实验笔记本,渲染时重新运行代码。
generate_codebook
扫描项目并生成 OSF 和期刊要求的代码本:版本化的包列表、脚本清单、逐变量摘要和产出清单。
screening_report
汇总系统综述的筛选轮次,计算两名模型筛选者之间的一致率、Cohen's kappa、PRISMA 流程计数以及需要人工裁决的冲突集合。
send_message
在仅追加的共享日志上进行带类型的多智能体消息发送。
check_messages
读取共享协调日志中的消息事件。
wait_for_message
阻塞等待直到匹配的事件到达,无需轮询;在 R 会话正忙时同样可用。
coordination_roster
查看多智能体协调的在线名册与最近活动时间。
checkpoint_session
把 R 全局环境快照到磁盘,可在 R 重启后恢复。
restore_session
把环境回滚到某个检查点;回滚前会先保存当前状态,因此回滚本身也可撤销。
list_checkpoints
列出当前会话已保存的检查点。
create_task_list
根据你的提示生成任务清单,避免长上下文任务漏项。
update_task_status
跟踪任务清单中每一项的进度。
load_annotation_data
加载符合 _schema 列定义的 CSV 数据集以开始 AI 标注会话。
annotate
为数据集的某一行写入标注结果,原文件不会被修改。
set_agent_name
为智能体设置工作名称,执行历史、消息归属、在线状态和读取游标都会带上该名称。

安装接入

  1. 在 RStudio 控制台安装 R 包:if (!require("devtools")) install.packages("devtools"),然后 devtools::install_github("IMNMV/ClaudeR")。
  2. 配置 AI 工具:桌面应用(Claude Desktop / Cursor)运行 library(ClaudeR); install_clauder();Cursor 用户可用 install_clauder(for_cursor = TRUE)。CLI 工具运行 install_cli(tools = "claude"),也支持 "codex"、"qwen"、"agy" 以及旧版 "gemini"。默认用 uvx 运行 PyPI 包 clauder-mcp,若环境无法使用 uvx 可加 use_uvx = FALSE 与 python_path 回退到本地 Python 路径。
  3. 按控制台提示手动应用配置:Claude / Codex / Qwen 复制打印出的命令到终端执行;Antigravity (agy) 把生成的 JSON 放入 ~/.gemini/config/mcp_config.json(全局)或 .agents/mcp_config.json(按工作区);旧版 Gemini 手动加入 ~/.gemini/settings.json。
  4. 退出并重启桌面应用或终端会话以加载新配置。
  5. 在 RStudio 中运行 library(ClaudeR); claudeAddin(),在 Viewer 面板点击 Start Server,并保持窗口开启。注意 RStudio Server 上默认端口 8787 与 IDE 自身端口冲突,请换用其他端口。

选型与风险

适合谁

  • 使用 RStudio 或 Positron 做统计与数据科学研究、希望智能体直接在活会话上工作的人。
  • 需要审计自己或他人稿件数值与引用一致性的研究者。
  • 想在订阅制模型上自行编排多智能体工作流的开发者与研究人员。
  • 偏好本地会话、可审计日志与零配置 uvx 启动的用户。

不适合谁

  • 希望把 R 会话暴露在不可信网络环境或多人共享机器上的用户:绑定 127.0.0.1 不是安全边界。
  • 需要沙箱隔离执行的人:安全校验只是正则黑名单,不是沙箱,可被轻易绕过。
  • 期望审核第三方稿件却不愿承担提示注入风险的人。
  • 只想在 Python 会话里使用编辑器类与审计类工具的人:这些工具依赖 rstudioapi,Python 侧不可用。

所需权限

  • 在活动的 R 会话中执行任意 R 代码(可通过 execute_r 等工具)。
  • 读取你账户可读的任意文件(read_file、get_viewer_content 等)。
  • 写入编辑器打开的文件并保存到磁盘(modify_code_section、insert_text)。
  • 安装 R 包、覆盖环境中的对象、发起网络请求并消耗计算资源。
  • 监听本地端口(默认 8787)并在 ~/.claude_r_sessions/ 写入会话发现文件;启用令牌时该文件权限为 0600。

风险与副作用

  • 绑定 127.0.0.1 并非安全边界:本机其他进程、甚至任意网页都可跨源 POST 代码到该端口,等于在你会话中执行任意代码。CllaudeR 始终拒绝带 Origin 头的请求(返回 403),并可选启用会话令牌(X-Clauder-Token)。
  • 会话令牌默认关闭,因为强制校验会拒绝早于 clauder-mcp 0.6.0 的桥接版本;未启用前本机进程向量仍然存在。
  • validate_code_security() 只是正则黑名单(拦截 system()、system2()、shell()、terminal、递归/通配删除),可被 get("system")(...)、do.call、eval(parse(...)) 轻易绕过,属于安全带而非沙箱。
  • 提示注入:把 read_file 等工具读取的第三方文档(稿件、CSV、HTML 控件)与可执行 R 代码、可写文件、可联网的会话组合在一起,未受信任的文档内容可能改变智能体行为。审计他人稿件时风险尤其高。
  • 智能体可以读取你目录下的敏感文件、安装包和发起网络请求;若在含凭据的目录工作需自行隔离。
  • 异步任务在独立 R 进程(callr)中运行,无法访问主会话环境,需要显式 saveRDS 传递数据,误用会导致结果不一致。

常见排障

  1. 连接不上:确认 AI 工具配置正确、Python 路径或 CLI 命令正确、add-in 中服务器已启动;端口被占用可换端口或重启 RStudio。
  2. 提示 could not find function install_clauder:重启 R 会话(Session -> Restart R)后重试。
  3. MCP 服务器启动失败:若用 uvx,确认已安装 uv(curl -LsSf https://astral.sh/uv/install.sh | sh);旧方式通常意味着 Python 环境探测错误,用正确的 python_path 重跑安装器或改用 use_uvx = TRUE。
  4. 桥接在 mcp 2.0.0 发布后失效:clauder-mcp >= 0.6.1 已固定 mcp<2,运行 uvx --refresh clauder-mcp 更新。
  5. 升级 R 版本后需重跑 install_cli() 或 install_clauder() 更新 MCP 服务器路径;CLI 安装器会先移除过期注册再添加新的。
  6. 智能体看不到结果:确认 add-in 窗口打开且服务器在运行。
  7. 图形不显示:让智能体用 print() 包裹图形对象,或使用 execute_r_with_plot。
  8. 代码超时:让智能体对超过 25 秒的代码使用 execute_r_async,并用 get_async_result 轮询。
  9. 重启服务器报 address already in use:这是 UI 问题,服务器其实仍在运行,可在 Viewer 面板切换端口或重启 RStudio。
  10. 关闭再重开 add-in UI 后设置不生效:服务器在后台继续运行,重跑 claudeAddin() 会以相同端口、会话名和执行计数重连;只有点击 Stop Server 才真正停止服务器。

使用场景

让智能体在保存着清洗后数据和已拟合模型的 R 会话里直接跑代码、看图形。
多个智能体(如 Claude Code + Codex)共享同一个 RStudio 会话分工协作,用协调协议与共识门控对齐计划。
用 Reviewer Zero 对稿件做数值、引用与论证层面的自动化审计,并把结论写成 Word 批注。
系统综述标题/摘要筛选:两个不同模型家族各自筛选,输出一致率、kappa、PRISMA 计数与冲突集。
把会话日志导出为可重跑的 Quarto 笔记本或干净脚本,并生成 OSF 所需的代码本。
对 CSV 数据集做逐行 AI 标注,无需智能体自己写代码。
用 grant_panel_prompt() 组一个模拟基金评审小组,按 NIH/NSF 评分标准给修改建议。
用 reviewer_response_prompt() 把审稿决定信解析成逐条回复,并重跑分析以给出真实计算结果。

支持客户端

Claude Desktop完整支持
Claude Code完整支持
Codex完整支持
Qwen Code完整支持
Google Antigravity (agy)完整支持
Gemini CLI完整支持
Cursor完整支持