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国际许可.
请参阅 许可证 文件以获取详细信息。
