Skip to content

finite-sample/rmcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RMCP: Statistical Analysis through Natural Conversation

Python application PyPI version Downloads Documentation License

Turn conversations into comprehensive statistical analysis - A Model Context Protocol (MCP) server with 52 statistical analysis tools across 11 categories and 429 R packages from systematic CRAN task views. RMCP enables AI assistants to perform sophisticated statistical modeling, econometric analysis, machine learning, time series analysis, and data science tasks through natural conversation.

πŸš€ Quick Start (30 seconds)

🌐 Try the Live Server (No Installation Required)

HTTP Server: https://rmcp-server-394229601724.us-central1.run.app/mcp
Interactive Docs: https://rmcp-server-394229601724.us-central1.run.app/docs
Health Check: https://rmcp-server-394229601724.us-central1.run.app/health

πŸ–₯️ Or Install Locally

pip install rmcp
rmcp start

That's it! RMCP is now ready to handle statistical analysis requests via Claude Desktop, Claude web, or any MCP client.

🎯 Working examples β†’ | πŸ”§ Troubleshooting β†’

✨ What Can RMCP Do?

πŸ“Š Regression & Economics

Linear regression, logistic models, panel data, instrumental variables β†’ "Analyze ROI of marketing spend"

⏰ Time Series & Forecasting

ARIMA models, decomposition, stationarity testing β†’ "Forecast next quarter's sales"

🧠 Machine Learning

Clustering, decision trees, random forests β†’ "Segment customers by behavior"

πŸ“ˆ Statistical Testing

T-tests, ANOVA, chi-square, normality tests β†’ "Is my A/B test significant?"

πŸ“‹ Data Analysis

Descriptive stats, outlier detection, correlation analysis β†’ "Summarize this dataset"

πŸ”„ Data Transformation

Standardization, winsorization, lag/lead variables β†’ "Prepare data for modeling"

πŸ“Š Professional Visualizations

Inline plots in Claude: scatter plots, histograms, heatmaps β†’ "Show me a correlation matrix"

πŸ“ Smart File Operations

CSV, Excel, JSON import with validation β†’ "Load and analyze my sales data"

πŸ€– Natural Language Features

Formula building, error recovery, example datasets β†’ "Help me build a regression formula"

πŸ‘‰ See working examples β†’

πŸ“Š Real Usage with Claude

Business Analysis

You: "I have sales data and marketing spend. Can you analyze the ROI?"

Claude: "I'll run a regression analysis to measure marketing effectiveness..."

Result: "Every $1 spent on marketing generates $4.70 in sales. The relationship is highly significant (p < 0.001) with RΒ² = 0.979"

Economic Research

You: "Test if GDP growth and unemployment follow Okun's Law using my country data"

Claude: "I'll analyze the correlation between GDP growth and unemployment..."

Result: "Strong support for Okun's Law: correlation r = -0.944. Higher GDP growth significantly reduces unemployment."

Customer Analytics

You: "Predict customer churn using tenure and monthly charges"

Claude: "I'll build a logistic regression model for churn prediction..."

Result: "Model achieves 100% accuracy. Each additional month of tenure reduces churn risk by 11.3%. Higher charges increase churn risk by 3% per dollar."

πŸ“¦ Installation

Prerequisites

  • Python 3.10+
  • R 4.4.0+ with comprehensive package ecosystem: RMCP uses a systematic 429-package whitelist from CRAN task views organized into 19+ categories:
# Core packages (install these first)
install.packages(c(
  "jsonlite", "dplyr", "ggplot2", "broom", "plm", "forecast", 
  "randomForest", "rpart", "caret", "AER", "vars", "mgcv"
))

# Full ecosystem automatically available: Machine Learning (61 packages), 
# Econometrics (55 packages), Time Series (48 packages), 
# Bayesian Analysis (32 packages), and more

Package Selection: Evidence-based using CRAN task views, download statistics, and 4-tier security assessment

Install RMCP

# Standard installation
pip install rmcp

# With HTTP transport support
pip install rmcp[http]

# Development installation
git clone https://github.com/finite-sample/rmcp.git
cd rmcp
pip install -e ".[dev]"

Claude Desktop Integration

Add to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "rmcp": {
      "command": "rmcp",
      "args": ["start"]
    }
  }
}

HTTP Server Integration (Claude Web)

Production Server (ready to use):

Server URL: https://rmcp-server-394229601724.us-central1.run.app/mcp
Interactive Docs: https://rmcp-server-394229601724.us-central1.run.app/docs

Test the connection:

# Health check
curl https://rmcp-server-394229601724.us-central1.run.app/health

# Initialize MCP session
curl -X POST https://rmcp-server-394229601724.us-central1.run.app/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0"}}}'

Local HTTP server:

# Start local HTTP server
rmcp serve-http --host 0.0.0.0 --port 8080

# Access at: http://localhost:8080/docs

Command Line Usage

# Start MCP server (for Claude Desktop)
rmcp start

# Start HTTP server (for web apps)
rmcp serve-http --host 0.0.0.0 --port 8080

# Start HTTPS server (production ready)
rmcp serve-http --ssl-keyfile server.key --ssl-certfile server.crt --port 8443

# Quick HTTPS setup for development
./scripts/setup/setup_https_dev.sh && source certs/https-env.sh && rmcp serve-http

# Use configuration file
rmcp --config ~/.rmcp/config.json start

# Enable debug mode
rmcp --debug start

# Check installation
rmcp --version

βš™οΈ Configuration

RMCP supports flexible configuration through environment variables, configuration files, and command-line options:

# Environment variables
export RMCP_HTTP_PORT=9000
export RMCP_R_TIMEOUT=180
export RMCP_LOG_LEVEL=DEBUG
rmcp start

# Configuration file (~/.rmcp/config.json)
{
  "http": {"port": 9000},
  "r": {"timeout": 180},
  "logging": {"level": "DEBUG"}
}

# Docker with environment variables
docker run -e RMCP_HTTP_HOST=0.0.0.0 -e RMCP_HTTP_PORT=8000 rmcp:latest

πŸ“– Complete Configuration Guide β†’ (auto-generated from code)

πŸ”₯ Key Features

  • 🎯 Natural Conversation: Ask questions in plain English, get statistical analysis
  • πŸ“š Comprehensive Package Ecosystem: 429 R packages from systematic CRAN task views with 4-tier security system
  • πŸ“Š Professional Output: Formatted results with markdown tables and inline visualizations
  • πŸ”’ Production Ready: Full MCP protocol compliance with HTTP transport and SSE
  • βš™οΈ Flexible Configuration: Environment variables, config files, and CLI options
  • ⚑ Fast & Reliable: 100% test success rate across all scenarios
  • 🌐 Multiple Transports: stdio (Claude Desktop) and HTTP (web applications)
  • πŸ›‘οΈ Secure: Evidence-based package selection with security-conscious permission tiers

πŸ“š Documentation

Resource Description
Quick Start Guide Copy-paste ready examples with real data
Economic Research Examples Panel data, time series, advanced econometrics
Time Series Examples ARIMA, forecasting, decomposition
Image Display Examples Inline visualizations in Claude
API Documentation Auto-generated API reference

πŸ§ͺ Validation

RMCP has been tested with real-world scenarios achieving 100% success rate:

  • βœ… Business Analysts: Sales forecasting with 97.9% RΒ², $4.70 ROI per marketing dollar
  • βœ… Economists: Macroeconomic analysis confirming Okun's Law (r=-0.944)
  • βœ… Data Scientists: Customer churn prediction with 100% accuracy
  • βœ… Researchers: Treatment effect analysis with significant results (p<0.001)

🀝 Contributing

We welcome contributions!

git clone https://github.com/finite-sample/rmcp.git
cd rmcp
pip install -e ".[dev]"

# Run tests
python tests/unit/test_new_tools.py
python tests/e2e/test_claude_desktop_scenarios.py

# Format code
black rmcp/

See CONTRIBUTING.md for detailed guidelines.

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ› οΈ Quick Troubleshooting

R not found?

# macOS: brew install r
# Ubuntu: sudo apt install r-base
R --version

Missing R packages?

rmcp check-r-packages  # Check what's missing

MCP connection issues?

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | rmcp start

πŸ“– Need more help? Check the examples directory for working code.

πŸ™‹ Support


Ready to turn conversations into statistical insights? Install RMCP and start analyzing data through AI assistants today! πŸš€