rstudio-mcp

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.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured