mcpField
R
Rmcp

Rmcp

ローカル
finite-sample.github.ioデータ・分析2152 日前に更新

Rmcp について

RMCP は、CRAN タスクビューに基づく 429 個の R パッケージを利用できる統計分析 MCP サーバーで、11 カテゴリにわたる 54 個のツールを提供します。自然言語で統計モデリング、計量経済学、機械学習、時系列分析を行いたいユーザー向けで、stdio と Streamable HTTP の両方に対応しています。

主な機能

  1. 0111 カテゴリにわたる 54 個の統計分析ツール
  2. 02許可リスト制の 429 個の R パッケージ
  3. 03回帰、時系列、機械学習、統計検定
  4. 04検証付きの CSV、Excel、JSON 読み込み
  5. 05インラインのグラフ出力
  6. 06ファイル書き込みやパッケージ導入へのユーザー承認

活用シーン

  1. 01マーケティング投資の ROI に関する回帰分析
  2. 02売上の時系列予測
  3. 03顧客離反予測のロジスティックモデル
  4. 04A/B テスト結果の有意性検定

MCP 対応

RMCP は統計分析ツールを stdio と Streamable HTTP で公開する MCP サーバーで、Claude Desktop などのクライアントから利用できます。リモート配備では Bearer トークンによる認証を使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"rmcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"RMCP_HTTP_HOST",
"-e",
"RMCP_HTTP_PORT",
"rmcp:latest"
],
"env": {
"RMCP_HTTP_HOST": "<RMCP_HTTP_HOST>",
"RMCP_HTTP_PORT": "<RMCP_HTTP_PORT>"
}
}
}
}
起動コマンドdocker run -i --rm -e RMCP_HTTP_HOST -e RMCP_HTTP_PORT rmcp:latest
設定が必要な環境変数
RMCP_HTTP_HOST
RMCP_HTTP_PORT

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocirmcp:latest

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

RMCP:自然な会話による統計分析

Python application PyPI version Downloads Documentation License

会話を包括的な統計分析に変換します — 11 カテゴリーにわたる 54 個のツール と、体系的な CRAN タスクビューから収録した 429 個の R パッケージを備えた Model Context Protocol(MCP)サーバーです。RMCP を使うと、AI アシスタントは自然な会話を通じて、高度な統計モデリング、計量経済分析、機械学習、時系列分析、データサイエンスのタスクを実行できます。

🚀 クイックスタート(30 秒)

🌐 ライブサーバーを試す(インストール不要)

MCP エンドポイント:https://rmcp-server-394229601724.us-central1.run.app/mcp(ベアラートークンが必要です) ヘルスチェック:https://rmcp-server-394229601724.us-central1.run.app/health

🖥️ またはローカルにインストール
pip install rmcp
rmcp start

これで完了です!RMCP を使って、Claude Desktop、Claude web、または任意の MCP クライアントから統計分析を依頼できるようになりました。

🎯 実際の使用例 → | 🔧 トラブルシューティング →

✨ RMCP でできること

📊 回帰分析と経済学

線形回帰、ロジスティックモデル、パネルデータ、操作変数 → 「マーケティング費用の ROI を分析して」

⏰ 時系列分析と予測

ARIMA モデル、分解、定常性検定 → 「来四半期の売上を予測して」

🧠 機械学習

クラスタリング、決定木、ランダムフォレスト → 「行動に基づいて顧客をセグメント化して」

📈 統計的検定

t 検定、ANOVA、カイ二乗検定、正規性検定 → 「私の A/B テストは有意ですか?」

📋 データ分析

記述統計、外れ値検出、相関分析 → 「このデータセットを要約して」

🔄 データ変換

標準化、ウィンズライジング、ラグ/リード変数 → 「モデリング用にデータを準備して」

📊 高品質な可視化

Claude 内にグラフを表示:散布図、ヒストグラム、ヒートマップ → 「相関行列を表示して」

📁 スマートなファイル操作

検証機能付きの CSV、Excel、JSON の読み込み → 「売上データを読み込んで分析して」

🤖 自然言語機能

数式の作成、エラーからの復旧、サンプルデータセット → 「回帰式の作り方を教えて」

👉 実際の使用例を見る →

📊 Claude での実際の利用例

ビジネス分析

あなた: 「売上データとマーケティング費用があります。ROI を分析してもらえますか?」

Claude: 「マーケティングの効果を測定するため、回帰分析を実行します……」

結果: 「マーケティングに 1 ドル使うごとに、売上が 4.70 ドル増加します。この関係は非常に有意です(p < 0.001)。R² = 0.979 です」

経済研究

あなた: 「手元の国別データを使って、GDP 成長率と失業率がオークンの法則に従うか検定して」

Claude: 「GDP 成長率と失業率の相関を分析します……」

結果: 「オークンの法則を強く支持する結果です。相関係数 r = -0.944 です。GDP 成長率が高いほど、失業率は大幅に低下します」

顧客分析

あなた: 「在籍期間と月額料金を使って、顧客の解約を予測して」

Claude: 「解約予測のためにロジスティック回帰モデルを構築します……」

結果: 「モデルの精度は 100%です。在籍期間が 1 か月増えるごとに、解約リスクは 11.3%低下します。料金が高いほど、1 ドルあたり 3%ずつ解約リスクが上昇します」

📦 インストール

前提条件
  • Python 3.11+
  • R 4.4.0+ と包括的なパッケージエコシステム:RMCP は、19 以上のカテゴリに整理された CRAN タスクビューをもとに、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 の Streamable HTTP トランスポートを /mcp で提供します(仕様 2025-11-25)。 Claude のカスタムコネクターおよび OpenAI の Responses API/ChatGPT のリモート MCP サポートと互換性があります。リモート環境へのデプロイにはベアラートークンが必要です。

本番サーバー:

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
シェル補完
# 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 のデフォルト)を使用するか、新しいバージョンの 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 トランスポートに加え、リモート環境へのデプロイ向けのベアラートークン認証
  • ⚙️ 柔軟な設定:環境変数、設定ファイル、CLI オプション
  • ⚡ プロトコル境界でのテスト済み:決定論的なセマンティクス、不正なデータ、セキュリティ、承認、復旧の各契約を、公式 MCP クライアント経由で実行
  • 🌐 複数のトランスポート:stdio(Claude Desktop)と HTTP(Web アプリケーション)
  • 🛡️ ガードレール:パッケージの許可リスト、ファイル書き込み・パッケージのインストール・システムコールに対する明示的なユーザー承認、ツールが書き込むファイルのファイルシステム制限。これらはミスを防ぐものであり、悪意ある攻撃者を防ぐものではありません。RMCP は実行ユーザーとして R を実行するため、信頼できないマルチテナントサービスではなく、信頼できるローカルツールとして実行してください。

📚 ドキュメント

リソース説明
クイックスタートガイド実データを使った、コピーしてすぐに使える例
経済研究の例パネルデータ、時系列、高度な計量経済学
時系列の例ARIMA、予測、分解
画像表示の例Claude でのインライン可視化
API ドキュメント自動生成された API リファレンス

🧪 検証

RMCP の評価ガイドでは、パッケージ、契約、プロトコル、モデルレベルのリリース基準を定めています。決定論的な E2E テストスイートは、実際の 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

📖 さらにサポートが必要ですか? 動作するコードについては、サンプルディレクトリをご確認ください。

🙋 サポート


会話を統計的な洞察に変える準備はできていますか? RMCPをインストールして、今日からAIアシスタントを通じてデータの分析を始めましょう! 🚀

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。