Skip to main content

Expose a live RStudio session to MCP-capable clients.

Project description

rstudio-mcp

Access your live RStudio session from any MCP-capable client. Inspect objects, preview data, and execute R code directly in the current RStudio environment.

Compatible clients include:

  • Codex
  • Claude Code
  • Claude Desktop

Installation

Prerequisites

  • Python 3.11+
  • R with httpuv and jsonlite installed

Install the R dependencies once in RStudio:

install.packages(c("httpuv", "jsonlite"))

Install the CLI with pipx:

pipx install /path/to/rstudio-mcp

Then verify the command is available:

rstudio-mcp --help

Configure an MCP client

This is a local stdio MCP server, not a remote HTTP/SaaS MCP.

Codex

codex mcp add rstudio -- rstudio-mcp --enable-execution

Codex stores this in ~/.codex/config.toml, shared by the CLI and app/IDE clients.

Claude Code

claude mcp add rstudio -- rstudio-mcp --enable-execution

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "rstudio": {
      "command": "/path/to/bin/rstudio-mcp",
      "args": ["--enable-execution"]
    }
  }
}

--enable-execution enables code execution through r_execute_code. It is off by default.

Usage

Recommended setup: install automatic startup once:

rstudio-mcp --install-auto-start

This command:

  • writes ~/.rstudio-mcp/bootstrap.R
  • ensures your ~/.Rprofile sources that bootstrap file

After that, each new interactive RStudio session will automatically start the local bridge when possible.

If you prefer a one-off manual startup instead, run this once in a terminal for the current RStudio session:

rstudio-mcp --print-r-server

Paste the printed R code into the RStudio Console and execute it. When you see:

MCP httpuv server started on 127.0.0.1:6312

the connection is ready.

You can then interact with the R session from Codex or Claude using natural language, for example:

  • "List all objects in the current environment"
  • "Preview the data frame df"
  • "Add a new column to df filled with 0"

To remove the .Rprofile hook later:

rstudio-mcp --uninstall-auto-start

The bridge will normally stop when you restart the R session, explicitly run rm(list = ls(all.names = TRUE)), or manually stop the server.

What happens if you forget to start the RStudio bridge

If you forget to start the RStudio-side bridge, the MCP checks at runtime whether httpuv is reachable.

If it cannot connect to 127.0.0.1:6312, it returns a recovery message telling you to:

  1. Run rstudio-mcp --print-r-server
  2. Paste the printed R code into the RStudio Console
  3. Retry after RStudio shows MCP httpuv server started on 127.0.0.1:6312

You do not need to remember this setup step manually anymore.

Available tools

Tool Description
r_check_session Check session status, including PID, R version, and working directory
r_list_objects List all objects in the global environment
r_describe_object Inspect an object's structure, type, dimensions, and columns
r_preview_object Preview the first N rows of an object
r_summarize_object Return descriptive statistics via summary()
r_get_history Read recent command history
r_list_scripts List .R files in a directory
r_read_script Read an .R script
r_execute_code Execute R code when --enable-execution is enabled

CLI options

--host              httpuv host (default: 127.0.0.1)
--port              httpuv port (default: 6312)
--allow-dir PATH    Authorize a directory for `.R` file access; repeatable
--enable-execution  Enable the `r_execute_code` tool
--install-auto-start
                    Install or update the per-user RStudio auto-start bootstrap
--uninstall-auto-start
                    Remove the auto-start snippet from `~/.Rprofile`
--print-r-server    Print the R bootstrap script and exit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rstudio_mcp-0.1.3.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rstudio_mcp-0.1.3-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file rstudio_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: rstudio_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for rstudio_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 750645c06ada2ae0bc17f37594b11b00ea463bbf97767a3eb168b2835ba791f9
MD5 20e60ee2775907da7d9438e03a0a79f0
BLAKE2b-256 97ddd8b100ff3146ba934e4a514bcf92734f9c13c9105ebb319b666b2a8ab191

See more details on using hashes here.

File details

Details for the file rstudio_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: rstudio_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for rstudio_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 66f57656024b25972a43c9dc53b6a093c36392eae0e376ed02d58240bb6896a9
MD5 3c4169f734f302ca379507377b7332dc
BLAKE2b-256 3ad4130c3816512c1ecfc802434332921a05c0ba2c4201e79d415fe85d458c07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page