acquaint R MCP服务器使用说明

项目简介

acquaint 是一个R语言包,它充当 Model Context Protocol (MCP) 服务器的角色。简单来说,它可以让支持 MCP 协议的LLM客户端(例如 Claude Desktop 和 Claude Code)连接到你的R会话,并从中获取有用的上下文信息。这些信息包括你安装的R包的文档、R全局环境中的对象以及R会话和平台的相关元数据。通过这些上下文信息,LLM可以更智能地理解你的R代码环境,从而提供更准确、更有针对性的代码生成、分析和问题解答等服务。

请注意: 'acquaint' 仍处于早期概念验证阶段,使用需谨慎。

主要功能点

  • 访问R包文档: 允许LLM客户端浏览已安装R包的文档,帮助LLM理解包的功能和使用方法。
  • 查看R全局环境对象: 使LLM客户端能够了解当前R会话中存在的对象(变量、函数等),从而更好地理解代码上下文。
  • 检索R会话和平台元数据: 提供关于R会话和运行平台的信息,例如R版本、操作系统等,帮助LLM更全面地了解运行环境。

安装步骤

  1. 安装 'pak' 包 (如果尚未安装): 'acquaint' 推荐使用 'pak' 包进行安装。如果你的R环境中没有安装 'pak',请先运行以下命令安装:
    if (!requireNamespace("pak", quietly = TRUE)) {
        install.packages("pak")
    }
  2. 安装 'acquaint' 包: 使用 'pak' 安装 'acquaint' 包:
    pak::pak("simonpcouch/acquaint")

服务器配置

要让MCP客户端(例如 Claude Desktop)连接到 'acquaint' MCP服务器,你需要在客户端的配置文件中添加服务器配置信息。以下是针对 Claude DesktopClaude Code 的配置示例。

Claude Desktop 配置

打开 Claude Desktop 的配置文件 'claude_desktop_config.json' (macOS 路径: '~/Library/Application Support/Claude/claude_desktop_config.json'),在 'mcpServers' 字段中添加以下配置:

{
  "mcpServers": {
    "r-acquaint": {  // 服务器名称,可以自定义,例如 "r-session"
      "command": "Rscript",  // 启动服务器的命令,这里使用 Rscript 运行 R 脚本
      "args": ["-e", "acquaint::mcp_proxy()"] // 传递给 Rscript 的参数,-e 表示执行后面的 R 代码,这里调用了 acquaint 包的 mcp_proxy() 函数来启动 MCP 服务器代理
    }
  }
}

配置信息说明:

  • '"r-acquaint"': 为服务器自定义的名称,在Claude Desktop客户端中用于标识这个服务器连接。
  • '"command": "Rscript"': 指定启动MCP服务器的命令是 'Rscript',即使用 R 脚本来运行服务器。
  • '"args": ["-e", "acquaint::mcp_proxy()"]': 'Rscript' 命令的参数。
    • '"-e"': 是 'Rscript' 的参数,表示执行紧跟其后的 R 代码。
    • '"acquaint::mcp_proxy()"': 是要执行的 R 代码,它调用了 'acquaint' 包中的 'mcp_proxy()' 函数。这个函数负责启动 MCP 服务器的代理,使得 Claude Desktop 可以通过标准输入/输出 (stdio) 与 R 会话进行通信。

Claude Code 配置

对于 Claude Code,你可以在终端中使用 'claude mcp add' 命令添加服务器配置。例如:

claude mcp add -s "user" r-acquaint Rscript -e "acquaint::mcp_proxy()"

命令参数说明:

  • 'claude mcp add': Claude Code 提供的命令,用于添加 MCP 服务器配置。
  • '-s "user"': 指定服务器的作用域为 "user" (用户级别)。
  • '"r-acquaint"': 服务器名称,与 Claude Desktop 配置中的名称保持一致。
  • 'Rscript -e "acquaint::mcp_proxy()"': 服务器的启动命令和参数,与 Claude Desktop 配置中的 'command' 和 'args' 组合相同。

基本使用方法

  1. 启动 R MCP 服务器: 在你的R会话中,运行以下命令来启动 'acquaint' MCP 服务器:

    acquaint::mcp_server()

    或者,如果你使用了 'mcp_proxy()' 配置,则无需手动运行 'mcp_server()','mcp_proxy()' 会处理服务器的启动。

  2. 在 MCP 客户端中使用: 配置完成后,在你的 MCP 客户端(例如 Claude Desktop 或 Claude Code)中,就可以利用 'acquaint' 提供的上下文信息了。例如,在 Claude Desktop 中,你可以像示例中那样提问 "Using the R packages I have installed, write code...",Claude 就可以访问你的R包信息并生成更相关的代码。

注意: 启动 'acquaint::mcp_server()' 后,R会话会保持运行并等待客户端连接。你需要保持 R 会话运行,以便 MCP 客户端能够持续访问上下文信息。

信息

分类

开发者工具