Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.B0ydT/r-packagedev-mcp

NPM · R-PACKAGEDEV-MCP · SCANNED SEP 20

MCP server for R package development using usethis, devtools, renv, and testthat

Available components

0 this week 75 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency6
Schema Quality & AI Usability82
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 2475 tokens (~82/item across 30 items; 30 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
  • Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "renv_clean" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.B0ydT/r-packagedev-mcp server?

io.github.B0ydT/r-packagedev-mcp runs locally as an npm package, launched with npx -y r-packagedev-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · r-packagedev-mcp

# add to Claude Code
claude mcp add b0ydt-r-packagedev-mcp -- npx -y r-packagedev-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "b0ydt-r-packagedev-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "r-packagedev-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "b0ydt-r-packagedev-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "r-packagedev-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add b0ydt-r-packagedev-mcp -- npx -y r-packagedev-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "b0ydt-r-packagedev-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "r-packagedev-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add b0ydt-r-packagedev-mcp --command npx --arg -y --arg r-packagedev-mcp
# ~/.hermes/config.yaml
mcp_servers:
  b0ydt-r-packagedev-mcp:
    command: "npx"
    args: ["-y", "r-packagedev-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "b0ydt-r-packagedev-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "r-packagedev-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add b0ydt-r-packagedev-mcp -t stdio -c npx -a -y r-packagedev-mcp
// mcp.json
{
  "mcpServers": {
    "b0ydt-r-packagedev-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "r-packagedev-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 15 Sept 26 +1
    • Stability: 0.97 → pass security
  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 8 Sept 26 −3
    • Stability: pass → 0.77 functional
  • 7 Sept 26 +1
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/r-packagedev-mcp@1.0.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 30 exposed · ~2,475 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
build ~102

Build a source (or binary) package tarball using devtools::build().

NameTypeReqDescription
binarybooleanWhether to build a binary package instead of source (default false).
pathstringDestination directory for the built tarball/zip (defaults to the parent of the package directory).
project_pathstringyesAbsolute path to the root of the R package.
vignettesbooleanWhether to build vignettes (default true).

No output schema declared.

No examples provided.

build_readme ~46

Render README.Rmd to README.md and update GitHub preview using devtools::build_readme().

NameTypeReqDescription
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

check ~122

Run R CMD check on the package using devtools::check(). Identifies errors, warnings, and notes that would prevent CRAN submission.

NameTypeReqDescription
cranbooleanWhether to use CRAN-specific settings (default false).
documentbooleanWhether to run devtools::document() before checking (default true).
error_onstringMinimum check severity that causes an error: 'never', 'note', 'warning', or 'error' (default 'warning').
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

create_package ~118

Create a new R package skeleton at the specified path using usethis::create_package(). Sets up DESCRIPTION, NAMESPACE, and the R/ directory.

NameTypeReqDescription
fieldsobjectNamed list of extra DESCRIPTION fields, e.g. {Author: 'Jane Doe', Version: '0.1.0'}.
openbooleanWhether to open the new package in RStudio (default false).
pathstringyesAbsolute path where the new package directory should be created (e.g. '/home/user/mypackage').

No output schema declared.

No examples provided.

document ~82

Generate roxygen2 documentation and update NAMESPACE using devtools::document(). Reads @-tags from R source and creates man/*.Rd files.

NameTypeReqDescription
project_pathstringyesAbsolute path to the root of the R package.
rocletsarrayCharacter vector of roclet names to use (e.g. ['rd', 'namespace']). Defaults to all.

No output schema declared.

No examples provided.

install ~75

Install the package into the local R library using devtools::install().

NameTypeReqDescription
dependenciesbooleanWhether to install package dependencies (default TRUE for Imports/Depends/Suggests).
project_pathstringyesAbsolute path to the root of the R package.
upgradestringWhether to upgrade dependencies (default 'default').

No output schema declared.

No examples provided.

load_all ~91

Simulate installing and attaching the package using devtools::load_all(). Makes all functions available in the current R session for interactive testing.

NameTypeReqDescription
project_pathstringyesAbsolute path to the root of the R package.
recompilebooleanWhether to recompile C/C++/Fortran code (default false).
resetbooleanWhether to reset the namespace before loading (default false).

No output schema declared.

No examples provided.

renv_clean ~61

Remove unused packages or temporary files from the renv library using renv::clean().

NameTypeReqDescription
actionsarraySpecific cleaning actions to perform (default: all applicable actions).
project_pathstringyesAbsolute path to the renv-managed project root.

No output schema declared.

No examples provided.

renv_init ~102

Initialise an renv project-local library for the project using renv::init(). Creates renv/ and renv.lock, and updates .Rprofile.

NameTypeReqDescription
barebooleanIf TRUE, initialise without installing any packages into the new library (default false).
project_pathstringyesAbsolute path to the project root where renv should be initialised.
restartbooleanWhether to restart the R session after initialising (default false).

No output schema declared.

No examples provided.

renv_install ~112

Install packages into the renv project library using renv::install(). Supports CRAN packages, GitHub (user/repo), or version-pinned installs.

NameTypeReqDescription
packagesarrayyesPackage names (and optional version specifiers) to install, e.g. ['ggplot2', 'dplyr@1.0.0'].
project_pathstringyesAbsolute path to the renv-managed project root.
rebuildbooleanWhether to rebuild packages from source (default false).

No output schema declared.

No examples provided.

renv_restore ~59

Restore packages from renv.lock to recreate the recorded environment using renv::restore().

NameTypeReqDescription
project_pathstringyesAbsolute path to the renv-managed project root.
rebuildbooleanWhether to rebuild packages from source (default false).

No output schema declared.

No examples provided.

renv_snapshot ~81

Record the current package dependencies into renv.lock using renv::snapshot().

NameTypeReqDescription
project_pathstringyesAbsolute path to the renv-managed project root.
typestringSnapshot type: 'implicit' (DESCRIPTION), 'explicit' (renv.lock packages), 'all' (everything installed), or 'custom' (default 'implicit').

No output schema declared.

No examples provided.

renv_status ~44

Report whether the project library is synchronised with renv.lock using renv::status().

NameTypeReqDescription
project_pathstringyesAbsolute path to the renv-managed project root.

No output schema declared.

No examples provided.

renv_update ~72

Update packages in the renv project library using renv::update(). If no package names are given, all outdated packages are updated.

NameTypeReqDescription
packagesarrayPackage names to update. If omitted, all packages are updated.
project_pathstringyesAbsolute path to the renv-managed project root.

No output schema declared.

No examples provided.

spell_check ~60

Spell-check the package documentation and vignettes using devtools::spell_check().

NameTypeReqDescription
project_pathstringyesAbsolute path to the root of the R package.
vignettesbooleanWhether to spell-check vignettes (default true).

No output schema declared.

No examples provided.

test ~99

Run the package's test suite (or a filtered subset) using devtools::test(). Reports test results in the chosen format.

NameTypeReqDescription
filterstringRegex pattern to restrict which test files are run (e.g. 'my_func').
project_pathstringyesAbsolute path to the root of the R package.
reporterstringtestthat reporter to use (e.g. 'progress', 'summary'). Defaults to 'progress'.

No output schema declared.

No examples provided.

test_dir ~126

Run all test files in a directory (optionally filtered) using testthat::test_dir(). Returns a summary of pass/fail/skip counts.

NameTypeReqDescription
filterstringRegex pattern to restrict which test files are run (e.g. 'my_func').
pathstringyesAbsolute path to the directory containing test files.
reporterstringtestthat reporter to use (e.g. 'progress', 'summary', 'tap'). Defaults to 'progress'.
stop_on_failurebooleanWhether to stop immediately on the first test failure (default false).

No output schema declared.

No examples provided.

test_file ~131

Run a single testthat test file using testthat::test_file(). Useful for rapid iteration on a specific file.

NameTypeReqDescription
filestringyesAbsolute path to the test file to run (e.g. '/path/to/tests/testthat/test-utils.R').
project_pathstringOptional absolute path to the package root (used to set the working directory).
reporterstringtestthat reporter to use (e.g. 'progress', 'summary', 'tap'). Defaults to 'progress'.
stop_on_failurebooleanWhether to stop immediately on the first test failure (default false).

No output schema declared.

No examples provided.

use_data ~96

Export one or more R objects as package data files under data/ using usethis::use_data(). The objects must already be loaded in the R environment.

NameTypeReqDescription
object_namesarrayyesCharacter vector of R object names already loaded in the workspace to export as package data.
overwritebooleanOverwrite existing data files (default false).
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_git ~63

Initialise a Git repository in the package and make an initial commit using usethis::use_git().

NameTypeReqDescription
messagestringMessage for the initial commit (default: 'Initial commit').
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_github ~96

Create a GitHub remote for the package and push using usethis::use_github(). Requires a GitHub PAT configured via GITHUB_PAT or gh_token().

NameTypeReqDescription
organisationstringGitHub organisation to create the repo under (optional, defaults to personal account).
privatebooleanCreate as a private repository (default false).
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_gpl3_license ~51

Add a GPL-3 LICENSE file and update DESCRIPTION License field using usethis::use_gpl3_license().

NameTypeReqDescription
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_mit_license ~67

Add an MIT LICENSE file and update DESCRIPTION License field using usethis::use_mit_license().

NameTypeReqDescription
copyright_holderstringName to include in the copyright notice (defaults to package author).
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_package ~86

Add a package dependency to DESCRIPTION using usethis::use_package(). Supports Imports, Suggests, Depends, LinkingTo, and Enhances.

NameTypeReqDescription
packagestringyesName of the R package to add as a dependency.
project_pathstringyesAbsolute path to the root of the R package.
typestringDependency type in DESCRIPTION (default 'Imports').

No output schema declared.

No examples provided.

use_pipe ~71

Add the magrittr pipe (%>%) to the package via usethis::use_pipe(). Creates utils-pipe.R and updates NAMESPACE.

NameTypeReqDescription
exportbooleanWhether to export the pipe operator (default true).
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_r ~76

Add a new R source file under R/ in an existing package using usethis::use_r(). Creates 'R/<name>.R' with minimal boilerplate.

NameTypeReqDescription
namestringyesName of the R script (without .R extension).
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_readme_md ~45

Add a README.md to the package root using usethis::use_readme_md().

NameTypeReqDescription
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_test ~78

Create a matching test file under tests/testthat/ for a given function or module using usethis::use_test(). Automatically sets up testthat if not already configured.

NameTypeReqDescription
namestringyesName of the function or module to create a test file for.
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_testthat ~81

Configure the testthat testing infrastructure for a package using usethis::use_testthat(). Creates tests/testthat/ and adds testthat to Suggests.

NameTypeReqDescription
editionintegertestthat edition to use (e.g. 3). Defaults to latest stable edition.
project_pathstringyesAbsolute path to the root of the R package.

No output schema declared.

No examples provided.

use_vignette ~82

Create a new vignette stub (Rmd file) under vignettes/ using usethis::use_vignette().

NameTypeReqDescription
namestringyesShort name/identifier for the vignette.
project_pathstringyesAbsolute path to the root of the R package.
titlestringHuman-readable title of the vignette.

No output schema declared.

No examples provided.

Common questions

What is the io.github.B0ydT/r-packagedev-mcp server?

io.github.B0ydT/r-packagedev-mcp is listed in the public MCP registry as io.github.B0ydT/r-packagedev-mcp. MCP server for R package development using usethis, devtools, renv, and testthat. This page covers its npm package (r-packagedev-mcp).

Is the io.github.B0ydT/r-packagedev-mcp server safe to use?

io.github.B0ydT/r-packagedev-mcp scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.B0ydT/r-packagedev-mcp server expose?

io.github.B0ydT/r-packagedev-mcp exposes 30 tools: create_package, use_r, use_test, use_readme_md, use_vignette, and 25 more. Their descriptions and schemas cost roughly 2,475 tokens of context every time the server is loaded.

Is the io.github.B0ydT/r-packagedev-mcp server still maintained?

io.github.B0ydT/r-packagedev-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.B0ydT/r-packagedev-mcp server under?

io.github.B0ydT/r-packagedev-mcp declares the CC-BY-4.0 licence, which is not on the OSI-approved list. Read the terms before using it at work, and note this covers the source only, not the cost of any service it calls.