MCPR
Expose R functions through the Model Context Protocol (MCP) for seamless integration with AI assistants.
mcpr
mcpr exposes R functions through the Model Context Protocol (MCP), enabling seamless integration with AI assistants like Claude Desktop.
Installation
# install.packages("devtools")
devtools::install_github("chi2labs/mcpr")
Quick Start
Basic Server
library(mcpr)
# Create and configure server
server <- mcp_http("My R Analysis Server", "1.0.0", port = 8080)
# Add tools
server$mcp_tool(
name = "calculate_mean",
fn = function(numbers) mean(numbers),
description = "Calculate the mean of a numeric vector"
)
# Run server
server$mcp_run()
Using Decorators
Create a file with decorated functions:
# analysis-tools.R
#* @mcp_tool
#* @description Calculate summary statistics for a numeric vector
#* @param x numeric vector to analyze
#* @param na.rm logical whether to remove NA values (default: TRUE)
calculate_stats <- function(x, na.rm = TRUE) {
list(
mean = mean(x, na.rm = na.rm),
median = median(x, na.rm = na.rm),
sd = sd(x, na.rm = na.rm),
min = min(x, na.rm = na.rm),
max = max(x, na.rm = na.rm)
)
}
Load and run:
server <- mcp("Analysis Server", "1.0.0")
server$mcp_source("analysis-tools.R")
server$mcp_run(transport = "http", port = 8080)
Configure Claude Desktop
Add to Claude Desktop's configuration:
{
"mcpServers": {
"r-analysis": {
"url": "http://localhost:8080/mcp"
}
}
}
Advanced Usage
Register Existing Functions
server <- mcp_http("Stats Server", "1.0.0")
server$mcp_tool(
name = "t_test",
fn = t.test,
description = "Perform t-test"
)
server$mcp_tool(
name = "cor_test",
fn = cor.test,
description = "Correlation test"
)
Production Deployment
server <- mcp_http(
name = "Production Server",
version = "1.0.0",
host = "0.0.0.0", # Listen on all interfaces
port = 8080,
log_file = "mcp-server.log",
log_level = "info"
)
Docker Deployment
FROM rocker/r-ver:4.3.0
RUN install.packages(c("mcpr", "plumber", "jsonlite"))
COPY server.R /app/
WORKDIR /app
EXPOSE 8080
CMD ["Rscript", "server.R"]
Examples
Complete examples in inst/examples/:
basic-server.R- Simple server with basic toolsstats-server.R- Statistical analysis toolsdata-server.R- Data manipulation and visualization
License
MIT + file LICENSE
관련 서버
Alpha Vantage MCP Server
스폰서Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Fidensa MCP Server
Check trust scores, search certified capabilities, compare side-by-side, verify signed artifacts.
MCP Node.js Debugger
Provides runtime debugging access to Node.js applications for code editors like Cursor or Claude Code.
Nuanced MCP Server
Provides call graph analysis for LLMs using the nuanced library.
Hyper MCP
A fast, secure, and extensible MCP server using WebAssembly plugins.
Yellhorn MCP
An MCP server that integrates Gemini 2.5 Pro and OpenAI models for software development tasks, allowing the use of your entire codebase as context.
Next.js DevTools MCP
next-devtools-mcp is a MCP server that provides Next.js development tools and utilities for AI coding assistants like Claude and Cursor.
MCP Android Agent
Automate Android devices using the uiautomator2 library, requiring adb and a connected device.
Sherlog MCP Server
A persistent IPython workspace for data analysis, log processing, and multi-agent collaboration.
DocsetMCP
A server for accessing Dash-style documentation sets locally. Requires a local Dash installation.
ConfigCat
interacts with ConfigCat feature flag platform. Supports managing feature flags, configs, environments, products and organizations. Helps to integrate ConfigCat SDK, implement feature flags or remove zombie (stale) flags.