mcpField
R
R-Server MCP

R-Server MCP

Local
github.com/gdbelvinData & Analytics18Updated 82w ago

About R-Server MCP

R-Server MCP lets AI models render ggplot2 visualizations and run R scripts without direct access to an R environment. It suits statistical analysis workflows that need visual or textual results through an MCP client.

Key features

  1. 01Render ggplot2 visualizations
  2. 02Run R scripts and return text
  3. 03Export PNG, JPEG, PDF, or SVG
  4. 04Set image dimensions and resolution
  5. 05Execute in isolated Docker containers

Use cases

  1. 01Generate statistical charts from R code
  2. 02Run scripts and inspect their text output

MCP support

Exposes `render_ggplot` and `execute_r_script` tools to MCP clients. It communicates over stdio and can run inside Docker.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

R-Server MCP

A specialized Model Context Protocol (MCP) server that enables AI models to generate data visualizations using R's ggplot2 library and execute R scripts.

Overview

This MCP server provides a streamlined interface for creating statistical visualizations and executing R scripts without requiring direct access to an R environment. It exposes two MCP tools:

  • render_ggplot: Generates visualizations from R code containing ggplot2 commands
  • execute_r_script: Executes any R script and returns the text output

Features

  • ggplot2 Rendering: Execute R code containing ggplot2 commands and return the resulting visualization
  • R Script Execution: Execute any R script and return the text output
  • Format Options: Support for PNG, JPEG, PDF, and SVG output formats
  • Customization: Control image dimensions and resolution
  • Error Handling: Clear error messages for invalid R code or rendering failures
  • MCP Protocol Compliance: Full implementation of the Model Context Protocol
  • Docker Integration: Secure execution of R code in isolated containers

Requirements

  • Go 1.22 or later
  • R 4.0 or later with ggplot2 package
  • Docker (for containerized execution)

Building

# Build the Docker image
task docker:build

# Run the server in Docker
task docker:run
Using Docker with stdin/stdout

The server can be run in Docker while preserving stdin/stdout communication, which is essential for MCP:

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

Or set an environment variable:

USE_DOCKER=true ./start_server.sh

This approach ensures that stdin and stdout are properly connected between the host and the container, allowing seamless MCP communication.

Usage

MCP Integration

To use this server with an MCP client, configure it in your MCP settings file:

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

The MCP client will automatically communicate with the server using stdio transport, which is the recommended approach for stability and reliability. The dockerized version maintains this communication pattern while providing isolation and dependency management.

License

Creative Commons Attribution-NonCommercial 4.0 International (CC-BY-NC 4.0)

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

See the LICENSE file for details.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.