ClaudeR RStudio MCP Server vs Safe Kaggle MCP
A side-by-side look at the ClaudeR RStudio MCP Server and Safe Kaggle MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose ClaudeR RStudio MCP Server for data science tools work as a local process; choose Safe Kaggle MCP for data science tools as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose ClaudeR RStudio MCP Server when
- You need dedicated capabilities in the Data Science Tools domain.
- You prefer a local stdio subprocess transport.
- You want tools like
execute_r, execute_r_with_plot, get_r_info.
Choose Safe Kaggle MCP when
- You need dedicated capabilities in the Data Science Tools domain.
- You prefer a local stdio subprocess transport.
- You want tools like
kaggle_whoami, kaggle_status, kaggle_audit_log.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Data Science Tools | Data Science Tools |
| Quality signal | 65/100 · Great | 53/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | BYOK (pay the provider) | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 356 | 0 |
| Directory activity | 5 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 41 | 41 |
| Full listing | View ClaudeR RStudio MCP Server | View Safe Kaggle MCP |
Tools & capabilities
ClaudeR RStudio MCP Server tools 41
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.- +29 more on the listing page
Safe Kaggle MCP tools 41
kaggle_whoamiReturn the authenticated Kaggle username and credential source. Does not transmit or echo the API key. Use to confirm the server resolved credentials for the expected account.kaggle_statusHealth check: credential validity, current per-competition submission budgets for this session, enabled safety switches, and the work-dir root.kaggle_audit_logReturn the session's append-only ledger of mutating actions (submit / create / version / delete) with timestamps and the submission budget at the time — every field redacted. Makes the safety machinery inspectable, which no other Kaggle MCP can offer (none track tokens or budgets).kaggle_list_competitionsList/triage competitions as a compact ranked table (title, slug, prize, deadline, evaluation metric, category). Paginated. Read-only.kaggle_competition_landscapePre-digested triage report of competitions: for each, the slug, prize, evaluation metric, deadline, and **days_left** — sorted by soonest deadline so you can decide what to enter at a glance. A single decision-ready artifact rather than raw endpoint output (which is what other Kaggle MCPs return).kaggle_get_competitionFetch one competition's details and a truncated, untrusted-wrapped rules digest. `competition` is the BARE slug (e.g. 'titanic'). Read-only.kaggle_competition_leaderboardPublic leaderboard capped to top-N (default 20) to protect context.kaggle_leaderboard_trackSnapshot the public top-N and diff it against the LAST snapshot you took: per-team rank deltas, new entrants, biggest climbers, and (if your_team is given) your movement + who passed you. Kaggle has no historical-leaderboard endpoint, so this stateful local tracking is unique. PUBLIC leaderboard only; deltas are vs your previous snapshot, not an absolute time series.kaggle_download_competition_filesDownload competition data into an isolated work dir (zip auto-extracted with a zip-slip guard). Returns local paths + metadata, NOT file contents. Requires the competition's rules accepted (403 otherwise).kaggle_eda_competitionDownload a competition's data and return a pre-first-submission view: a compact pandas digest per CSV (shape/dtypes/missingness/correlations) PLUS a train-vs-test column diff that auto-infers the target — the orientation no other Kaggle MCP ships. Requires the competition rules accepted (403 else).kaggle_competition_kickoffOne-call competition kickoff: fetch the metric/deadline/rules, download the data if rules are accepted (otherwise tell you to accept first), run a train/test EDA with target auto-detection, and return a baseline plan plus your remaining submission budget. Collapses the manual setup ritual into a single decision-ready bundle — no other Kaggle MCP does this.kaggle_submission_best_scoreReduce raw submission history to the decision signal: best public score (respecting metric direction), first/best/latest trend, today's submission count, and any failure reasons — the 'is it worth iterating?' answer other servers leave as a raw list. Public scores only (private score is hidden until the deadline).- +29 more on the listing page
Ready-to-paste client configs
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.
ClaudeR RStudio MCP Server
{
"mcpServers": {
"clauder-rstudio-mcp-server": {
"command": "uvx",
"args": [
"--refresh",
"clauder-mcp"
]
}
}
}
Safe Kaggle MCP
{
"mcpServers": {
"safe-kaggle-mcp": {
"command": "uvx",
"args": [
"--from",
"safe-kaggle-mcp",
"kaggle-mcp"
]
}
}
}
Frequently asked questions
ClaudeR RStudio MCP Server is categorized under Data Science Tools and uses a local stdio subprocess. Safe Kaggle MCP belongs to Data Science Tools and uses a local stdio subprocess. Pick ClaudeR RStudio MCP Server for data science tools work and Safe Kaggle MCP for data science tools.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
ClaudeR RStudio MCP Server is bring-your-own-key: usage is billed by the API provider you supply a key for. Safe Kaggle MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add clauder-rstudio-mcp-server and safe-kaggle-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, ClaudeR RStudio MCP Server has a quality signal of 65/100 (Great) with 5 views, 0 installs and 356 GitHub stars. Safe Kaggle MCP has 53/100 (Good) with 1 views, 0 installs and 0 GitHub stars.