A side-by-side look at the Kaggle MCP and ClaudeR RStudio MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Kaggle MCP for data science tools work; choose ClaudeR RStudio MCP Server for data science tools as a local process. You can also run both side by side in one mcpServers block.
KAGGLE_USERNAME, KAGGLE_KEY.dataset_ref, download_path.execute_r, execute_r_with_plot, get_r_info.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Science Tools | Data Science Tools |
| Quality signal | 47/100 · Fair | 61/100 · Good |
| Install command | Not confirmed yet | Confirmed |
| Transport | — | Local subprocess (stdio) |
| Auth | API key required | Not declared |
| Pricing | Free | BYOK (pay the provider) |
| Required env vars | KAGGLE_USERNAMEKAGGLE_KEY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 39 | 349 |
| Directory activity | 5 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 2 | 41 |
| Full listing | View Kaggle MCP | View ClaudeR RStudio MCP Server |
dataset_refKaggle dataset reference in `owner/dataset-slug` format, for example `kaggle/titanic`.download_pathOptional local output path. If omitted, files are saved to `./datasets/<dataset_slug>/`.execute_rExecute R code and return the outputexecute_r_with_plotExecute R code that generates a plotget_r_infoGet a summary of the R environment. Returns package count (not full list), first 20 variables, and R version. Use requireNamespace('pkg') to check for specific packages.get_active_documentRead the focused RStudio editor BUFFER (not the file on disk). Returns the content, the document path, and 'unsaved_changes' telling you whether the buffer differs from disk. Use this as the source of truth while editing; read_file reports the DISK state, which will be stale until the edit is saved. Errors loudly if no document is open or focused.modify_code_sectionRegex find-and-replace in an RStudio editor document. Saves to disk by default (save=false stages the edit in the buffer only). Pass 'path' to target a specific file instead of whatever happens to be focused. The replacement may change the number of lines. Returns 'saved_to_disk' so you know whether read_file will reflect the change.insert_textInsert text into an RStudio editor document at the cursor, or at a given line/column. Saves to disk by default (save=false leaves it unsaved in the buffer). Pass 'path' to target a specific file rather than whatever is focused.suggest_editPropose an edit for the user to APPROVE before it is applied, instead of writing it directly. Uses rstudioapi::showEditSuggestion() when the RStudio build provides it; otherwise stages the change in the editor buffer and deliberately does NOT save, so the user accepts by saving or rejects with Undo. Use this when the user asked to review changes first. After calling it, STOP and wait for the user's decision.create_task_listCreate a task list for the current analysisupdate_task_statusUpdate the status of a task and optionally add notesclean_error_logClean a ClaudeR session log by removing error blocks and their duplicates. Parses the log, finds errors, checks if a fix follows each error, removes the error blocks and any duplicate code blocks that preceded them. Returns a report of what was found and removed.execute_r_asyncExecute long-running R code in a separate background R process. Returns a job ID immediately and the main session stays fully responsive. Use this for code that may take longer than 25 seconds (e.g., model fitting, simulations, large data processing).
TWO MODES:
1. Auto-marshaled (recommended). Pass `inputs` (object names from the main session to copy into the background) and `outputs` (object names the background code creates that should be loaded back into the main session). The tool handles all saveRDS/readRDS plumbing. Inputs are snapshotted at submit time, so changes in the main session after submit do not affect the running job. Outputs are auto-loaded into the main session when get_async_result returns complete.
2. Manual. Omit `inputs` and `outputs` and write self-contained code that uses saveRDS()/readRDS() to pass data in and out yourself. Backwards-compatible with existing patterns.
The background process never has access to the main session's environment except via the marshaled `inputs`. Connection objects (DB connections, open file handles) cannot be marshaled. The background process must `library()` any packages it needs.
You can continue executing other code with execute_r while the job runs. Use get_async_result to check status when ready.get_async_resultCheck the result of an async R job. Waits ~10 seconds before checking to avoid excessive polling. If the job is still running, call this again.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
No confirmed install command for Kaggle MCP yet — follow the setup steps linked from its listing page rather than a guessed package name.
{
"mcpServers": {
"clauder-rstudio-mcp-server": {
"command": "uvx",
"args": [
"--refresh",
"clauder-mcp"
]
}
}
}