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
httpuvandjsonliteinstalled
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
~/.Rprofilesources 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
dffilled 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:
- Run
rstudio-mcp --print-r-server - Paste the printed R code into the RStudio Console
- 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
Metadata
Release files for rstudio-mcp 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rstudio_mcp-0.1.3.tar.gz | 14.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rstudio_mcp-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.7 kB
Release files / rstudio_mcp-0.1.3.tar.gz
| Download URL | rstudio_mcp-0.1.3.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
750645c06ada2ae0bc17f37594b11b00ea463bbf97767a3eb168b2835ba791f9
|
|
BLAKE2b-256 checksum How to use checksums |
97ddd8b100ff3146ba934e4a514bcf92734f9c13c9105ebb319b666b2a8ab191
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Release files / rstudio_mcp-0.1.3-py3-none-any.whl
| Download URL | rstudio_mcp-0.1.3-py3-none-any.whl |
|---|---|
| Size | 12.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66f57656024b25972a43c9dc53b6a093c36392eae0e376ed02d58240bb6896a9
|
|
BLAKE2b-256 checksum How to use checksums |
3ad4130c3816512c1ecfc802434332921a05c0ba2c4201e79d415fe85d458c07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.9
|
Security for rstudio-mcp 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.