返回市场
运行语言-MCP服务器

运行语言-MCP服务器

作者:gdbelvin15 星标更新:2025-04-17

项目介绍

R-Server 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代码

要求

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

构建

# 构建Docker镜像
task docker:build

# 在Docker中运行服务器
task docker:run

使用Docker与标准输入/输出

该服务器可以在Docker中运行,同时保留标准输入/输出通信,这对于MCP来说是必要的:

# 使用docker-compose构建并运行
./start_server.sh --docker

或者设置环境变量:

USE_DOCKER=true ./start_server.sh

这种方法确保主机和容器之间的标准输入和输出正确连接,从而实现无缝的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 国际许可协议获得许可。

详情见LICENSE文件。 </中文翻译>