关于 Rmcp
RMCP 是一个统计分析 MCP 服务,提供 54 个工具,覆盖 11 个类别,并可调用 429 个 CRAN 任务视图中的 R 包。它面向通过自然语言进行统计建模、计量经济学、机器学习和时间序列分析的用户,支持本地 stdio 与 Streamable HTTP 两种传输方式。
主要功能
- 0154 个统计分析工具,覆盖 11 个类别
- 02基于白名单的 429 个 R 包生态
- 03回归、时间序列、机器学习与统计检验
- 04CSV、Excel、JSON 文件导入与校验
- 05内联图表输出
- 06写文件、安装包和系统调用需用户明确批准
适用场景
- 01对营销投入进行 ROI 回归分析
- 02预测销售额的时间序列模型
- 03基于客户特征建立流失预测模型
- 04对 A/B 测试结果进行显著性检验
MCP 相关
RMCP 是 MCP 服务,通过 stdio 与 Streamable HTTP 向 Claude Desktop 等 MCP 客户端暴露统计分析工具。远程部署需使用 Bearer Token 认证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
RMCP:通过自然对话进行统计分析
将对话转化为全面的统计分析 —— 一个 Model Context Protocol(MCP)服务,涵盖 11 个类别的 54 个工具,以及来自系统性 CRAN 任务视图的 429 个 R 包。RMCP 让 AI 助手能够通过自然对话执行复杂的统计建模、计量经济学分析、机器学习、时间序列分析和数据科学任务。
🚀 快速开始(30 秒)
🌐 试用在线服务(无需安装)
MCP 端点:https://rmcp-server-394229601724.us-central1.run.app/mcp(需要 bearer token)
健康检查:https://rmcp-server-394229601724.us-central1.run.app/health
🖥️ 或在本地安装
pip install rmcp
rmcp start
就这样!RMCP 已准备就绪,可通过 Claude Desktop、Claude 网页版或任何 MCP 客户端处理统计分析请求。
✨ RMCP 能做什么?
📊 回归与经济学
线性回归、逻辑模型、面板数据、工具变量 → “分析营销支出的投资回报率”
⏰ 时间序列与预测
ARIMA 模型、分解、平稳性检验 → “预测下一季度的销售额”
🧠 机器学习
聚类、决策树、随机森林 → “按行为细分客户”
📈 统计检验
t 检验、ANOVA、卡方检验、正态性检验 → “我的 A/B 测试结果是否显著?”
📋 数据分析
描述性统计、异常值检测、相关性分析 → “总结此数据集”
🔄 数据转换
标准化、缩尾处理、滞后/超前变量 → “为建模准备数据”
📊 专业可视化
在 Claude 中直接显示图表:散点图、直方图、热力图 → “为我展示相关矩阵”
📁 智能文件操作
导入 CSV、Excel、JSON 文件并进行验证 → “加载并分析我的销售数据”
🤖 自然语言功能
公式构建、错误恢复、示例数据集 → “帮我构建一个回归公式”
📊 使用 Claude 的实际示例
商业分析
你: “我有销售数据和营销支出。你能分析一下投资回报率吗?”
Claude: “我将进行回归分析,衡量营销效果……”
结果: “营销每投入 1 美元,就能带来 4.70 美元的销售额。两者关系高度显著(p < 0.001),R² = 0.979。”
经济研究
你: “使用我的国家数据,检验 GDP 增长和失业率是否符合奥肯定律。”
Claude: “我将分析 GDP 增长与失业率之间的相关性……”
结果: “结果有力支持奥肯定律:相关系数 r = -0.944。GDP 增长越高,失业率就会显著降低。”
客户分析
你: “使用客户任期和月费预测客户流失。”
Claude: “我将构建一个逻辑回归模型来预测客户流失……”
结果: “模型准确率达到 100%。客户任期每增加一个月,流失风险就降低 11.3%。月费每增加 1 美元,流失风险就提高 3%。”
📦 安装
前置条件
- Python 3.11+
- R 4.4.0+,并具备全面的包生态系统:RMCP 使用基于 CRAN 任务视图制定的系统化白名单,涵盖 19+ 个类别中的 429 个包:
# 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 (57 packages),
# Bayesian Analysis (40 packages), and more
包选择:基于 CRAN 任务视图和下载统计数据
安装 RMCP
# Standard installation
pip install rmcp
# The Streamable HTTP transport ships in the base install.
# This extra adds pandas/openpyxl for Excel data handling.
pip install rmcp[http]
# Development installation
git clone https://github.com/finite-sample/rmcp.git
cd rmcp
pip install -e ".[dev]"
Claude Desktop 集成
将以下内容添加到 Claude Desktop 的 MCP 配置中:
{
"mcpServers": {
"rmcp": {
"command": "rmcp",
"args": ["start"]
}
}
}
HTTP 服务集成(Claude Web)
RMCP 在 /mcp 提供 MCP Streamable HTTP 传输(规范版本 2025-11-25),
兼容 Claude 自定义连接器和 OpenAI 的 Responses API / ChatGPT
远程 MCP 支持。远程部署需要 bearer token。
生产环境服务:
Server URL: https://rmcp-server-394229601724.us-central1.run.app/mcp
测试连接:
# Health check
curl https://rmcp-server-394229601724.us-central1.run.app/health
# Initialize MCP session (Streamable HTTP)
curl -X POST https://rmcp-server-394229601724.us-central1.run.app/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer $RMCP_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0"}}}'
本地 HTTP 服务:
# Localhost (no auth required)
rmcp serve-http
# Remote bind requires a bearer token (or --allow-unauthenticated)
RMCP_API_KEY=your-secret rmcp serve-http --host 0.0.0.0 --port 8080
命令行用法
# 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
Shell 自动补全
# zsh — add to ~/.zshrc
eval "$(_RMCP_COMPLETE=zsh_source rmcp)"
# bash — add to ~/.bashrc (requires bash 4.4+)
eval "$(_RMCP_COMPLETE=bash_source rmcp)"
# fish — write to the completions directory
_RMCP_COMPLETE=fish_source rmcp > ~/.config/fish/completions/rmcp.fish
macOS 自带的 bash 版本为 3.2,版本过旧——click 会打印警告,且自动补全不起作用。请使用 zsh(macOS 默认 Shell),或安装较新版本的 bash。
⚙️ 配置
RMCP 支持通过环境变量、配置文件和命令行选项进行灵活配置:
# 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
📖 完整配置指南 →
🔥 主要功能
- 🎯 自然对话:用通俗易懂的英语提问,获取统计分析结果
- 📚 全面的包生态系统:涵盖系统化 CRAN 任务视图中的 429 个 R 包
- 📊 专业输出:以 Markdown 表格和内嵌可视化形式呈现格式化结果
- 🔒 可用于生产环境:采用官方 MCP SDK,支持 stdio 和 Streamable HTTP 传输,并为远程部署提供 bearer token 身份验证
- ⚙️ 灵活配置:支持环境变量、配置文件和 CLI 选项
- ⚡ 在协议边界进行测试:通过官方 MCP 客户端运行确定性的语义、畸形数据、安全、审批和恢复契约测试
- 🌐 多种传输方式:stdio(Claude Desktop)和 HTTP(Web 应用)
- 🛡️ 防护措施:包白名单、对文件写入、包安装和系统调用进行明确的用户审批,以及对工具写入文件的文件系统限制。这些措施用于防范错误,而非恶意攻击者——RMCP 以调用用户的身份执行 R,因此应将其作为可信的本地工具运行,而不是作为不可信的多租户服务运行。
📚 文档
| 资源 | 描述 |
|---|---|
| 快速入门指南 | 可直接复制粘贴的示例,使用真实数据 |
| 经济研究示例 | 面板数据、时间序列、高级计量经济学 |
| 时间序列示例 | ARIMA、预测、分解 |
| 图像显示示例 | 在 Claude 中内嵌可视化内容 |
| API 文档 | 自动生成的 API 参考 |
🧪 验证
RMCP 的评估指南定义了包、契约、协议和模型级别的发布门槛。确定性的端到端测试套件会启动真实的 RMCP stdio 进程,使用官方 MCP 客户端进行连接,并验证精确的统计恒等式,以及对畸形数据、类似代码的输入、文件系统逃逸尝试、审批状态和恢复行为的检查。
uv run pytest tests/evals/test_mcp_server_evals.py
🤝 贡献
欢迎贡献!
git clone https://github.com/finite-sample/rmcp.git
cd rmcp
pip install -e ".[dev]"
# Run tests
uv run pytest tests/
# Lint and format
uv run ruff check --fix .
uv run ruff format .
📄 许可证
MIT 许可证——详情请参阅 LICENSE 文件。
🛠️ 快速故障排除
找不到 R?
# macOS: brew install r
# Ubuntu: sudo apt install r-base
R --version
缺少 R 包?
rmcp check-r-packages # Check what's missing
MCP 连接问题?
rmcp list-capabilities # verify tools register without starting a session
rmcp --debug start # run the server with verbose logging on stderr
📖 需要更多帮助? 请查看 示例目录,获取可运行的代码。
🙋 支持
- 🐛 问题反馈:GitHub Issues
- 📖 示例:可运行的示例
准备好将对话转化为统计洞察了吗? 立即安装 RMCP,开始通过 AI 助手分析数据吧!🚀
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。