R脚本可视化服务

R-Server MCP是一个专业的模型上下文协议服务器,支持使用R的ggplot2库生成数据可视化并执行R脚本,适用于数据分析和统计可视化场景。

  • by gdbelvin
  • Go
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 gdbelvin/rlang-mcp-server

使用说明

R-服务器MCP

一个专门的模型上下文协议(MCP)服务器,使AI模型能够使用R的ggplot2库生成数据可视化并执行R脚本。

概述

此MCP服务器提供了一个简化的界面,用于创建统计可视化和执行R脚本,而不需要直接访问R环境。它公开了两个MCP工具:

  • render_ggplot:从包含ggplot2命令的R代码生成可视化
  • execute_r_script:执行任何R脚本并返回文本输出

特性

  • ggplot2渲染:执行包含ggplot2命令的R代码并返回结果可视化
  • R脚本执行:执行任何R脚本并返回文本输出
  • 格式选项:支持PNG、JPEG、PDF和SVG输出格式
  • 定制:控制图像尺寸和分辨率
  • 错误处理:清除无效R代码或渲染失败的错误消息
  • MCP协议合规性:全面实施模型上下文协议
  • Docker集成:在隔离容器中安全执行R代码

需求

  • 转到1.22或更高版本
  • R 4.0或更高版本,带有ggplot2包
  • Docker(用于容器化执行)

建筑

# Build the Docker image
task docker:build

# Run the server in Docker
task docker:run

在stdin/stdout中使用Docker

服务器可以在Docker中运行,同时保留stdin/stdout通信,这对MCP至关重要:

# Build and run using docker-compose
./start_server.sh --docker

或者设置一个环境变量:

USE_DOCKER=true ./start_server.sh

这种方法可确保stdin和stdout在主机和容器之间正确连接,从而实现无缝的MCP通信。

用法

MCP集成

要将此服务器与MCP客户端一起使用,请在MCP设置文件中对其进行配置:

本地执行

{
  "mcpServers": {
    "r-server": {
      "command": "/path/to/r-server",
      "disabled": false,
      "autoApprove": []
    }
  }
}

Docker执行

{
  "mcpServers": {
    "r-server": {
      "command": "/path/to/start_server.sh",
      "args": ["--docker"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

MCP客户端将使用stdio传输自动与服务器通信,这是稳定性和可靠性的推荐方法。码头化版本在提供隔离和依赖管理的同时保持了这种通信模式。

许可证

知识共享署名-非商业4.0国际(CC-BY-NC 4.0)

该作品已获得许可 知识共享署名-非商业4.0国际许可.

请参阅 许可证 文件以获取详细信息。