OpenReplay Session Analysis MCP Server について
OpenReplay Session Analysis MCP Server は、セッション録画とユーザー行動の調査を支援し、プロダクト、UX、サポート担当者を対象としています。条件検索に加え、ユーザージャーニー分析や繰り返し発生する操作上の問題を検出できます。
主な機能
- 01条件を指定したセッション検索
- 02ナビゲーションとページ遷移の把握
- 03連打やフォーム離脱の検出
- 04セッション要約とインサイトの生成
- 05類似する問題のセッション検索
活用シーン
- 01最近のエラーを含むセッションの検索
- 02特定セッションのページ遷移の追跡
- 03フォーム離脱パターンの調査
- 04類似した問題を持つセッションの比較
MCP 対応
OpenReplay のセッション検索、詳細やユーザー履歴の取得、ジャーニー・問題・要約・類似セッションの分析ツールを MCP クライアントに公開します。設定した認証情報で OpenReplay API に接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenReplay セッション分析 MCP サーバー
OpenReplay のセッション録画とユーザー行動パターンを分析するための Model Context Protocol(MCP)サーバーです。このサーバーを使うと、AI アシスタントがユーザーセッションを分析し、問題を検出して、OpenReplay データから実行可能なインサイトを提供できます。
🔥 機能
- 🔍 セッションの検索とフィルタリング - 日付、ユーザー、エラー、再生時間でセッションを検索します
- 📊 ユーザージャーニー分析 - ページ遷移とナビゲーションパターンを追跡します
- 🐛 問題の検出 - 連打、フォームの離脱、エラーを特定します
- 🤖 AI によるインサイト - インテリジェントなセッション概要を生成します
- 👥 ユーザー行動分析 - 複数のセッションにまたがるパターンを分析します
- 🔗 類似セッションの検索 - 同様の問題があるセッションを見つけます
🚀 クイックスタート
-
クローンしてセットアップします:
git clone https://github.com/rsp2k/openreplay-mcp-server.git cd openreplay-mcp-server python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt -
OpenReplay の認証情報を設定します:
cp .env.example .env # Edit .env with your OpenReplay API credentials -
サーバーを実行します:
python run_server.py
⚙️ 設定
.env ファイルに以下の環境変数を設定します。
OPENREPLAY_API_URL=https://api.openreplay.com
OPENREPLAY_API_KEY=your_api_key_here
OPENREPLAY_PROJECT_ID=your_project_id_here
OpenReplay API の認証情報を取得するには:
- OpenReplay ダッシュボードに移動します
- Settings → API Keys に移動します
- 新しい API キーを生成します
- URL またはプロジェクト設定から Project ID をコピーします
🛠️ 利用可能なツール
セッション管理
search_sessions- 高度なフィルターを使ってセッションを検索しますget_session_details- セッションの詳細情報を取得しますget_user_session_history- 特定のユーザーのすべてのセッションを表示します
分析ツール
analyze_user_journey- ユーザーのナビゲーションパターンとページ遷移をマッピングしますdetect_problem_patterns- 連打、フォームの問題、エラーを検出しますgenerate_session_summary- AI によるセッションのインサイトと推奨事項を生成しますfind_similar_sessions- 関連する問題のあるセッションを見つけます
📋 Claude Desktop での使用方法
Claude Desktop の MCP 設定(claude_desktop_config.json)に追加します。
{
"mcpServers": {
"openreplay-analysis": {
"command": "python",
"args": ["/path/to/openreplay-mcp-server/run_server.py"],
"env": {
"OPENREPLAY_API_KEY": "your_api_key_here",
"OPENREPLAY_PROJECT_ID": "your_project_id_here"
}
}
}
}
💬 質問の例
Claude Desktop または別の MCP クライアントに接続したら、次のように質問できます。
- 「過去 1 週間のエラーがあるセッションを見つけて」
- 「セッション ABC123 のユーザージャーニーを分析して」
- 「今日の問題のあるセッションの概要を作成して」
- 「ユーザー [email protected] のすべてのセッションを表示して」
- 「フォーム離脱が発生した XYZ456 に類似するセッションを見つけて」
- 「セッション DEF789 をデバッグして、何が問題だったのか教えて」
🐳 Docker の使用方法
コンテナ化してデプロイする場合:
# Set environment variables in .env file
docker-compose up
または、手動でビルドして実行します。
docker build -t openreplay-mcp .
docker run -e OPENREPLAY_API_KEY=your_key -e OPENREPLAY_PROJECT_ID=your_project openreplay-mcp
🔧 開発
このサーバーは以下を使用して構築されています。
- FastMCP - サーバー実装用の公式 Python MCP SDK
- httpx - OpenReplay API 用の非同期 HTTP クライアント
- asyncio - async/await のサポート
プロジェクト構成
openreplay-mcp-server/
├── openreplay_session_analyzer.py # OpenReplay client and analysis logic
├── run_server.py # FastMCP server with tools
├── mcp.py # Django MCP configuration (optional)
├── settings.py # Django settings (optional)
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
├── Dockerfile # Container configuration
├── docker-compose.yml # Docker Compose setup
└── README.md # This file
新しい分析機能の追加
openreplay_session_analyzer.pyのSessionAnalyzerクラスに新しいメソッドを追加しますrun_server.pyに対応する@mcp.tool()デコレーター付き関数を作成します- OpenReplay のデータを使ってテストします
📊 セッション分析機能
問題の検出
- 連打:フラストレーションを示す、短時間に繰り返されるクリック
- フォームの離脱:フォームを開始したものの、完了しないユーザー
- 無効クリック:インタラクティブではない要素へのクリック
- エラー追跡:JavaScript のエラーと例外
ジャーニー分析
- ページ遷移のマッピング:サイト内でのユーザーナビゲーションを追跡します
- 所要時間の分析:各ページでの滞在時間を把握します
- 直帰率:1 ページのみのセッションを特定します
- アクションの内訳:ユーザー操作(クリック、スクロール、入力)を分析します
AI インサイト
- 自動概要:自然言語によるセッションの説明
- 問題の特定:UX 上の潜在的な問題を強調します
- パフォーマンス分析:読み込みの遅いコンテンツを特定します
- 行動パターン:ユーザーの意図と目標を認識します
🔗 統合例
デバッグのワークフロー
# Search for recent error sessions
sessions = await search_sessions(has_errors=True, start_date="2024-06-01")
# Analyze specific problematic session
summary = await generate_session_summary(session_id="abc123")
problems = await detect_problem_patterns(session_id="abc123")
# Find similar issues
similar = await find_similar_sessions(reference_session_id="abc123", criteria="errors")
UX リサーチのワークフロー
# Analyze user behavior over time
user_history = await get_user_session_history(user_id="user123")
# Study navigation patterns
for session in user_sessions:
journey = await analyze_user_journey(session_id=session.id)
# Analyze patterns...
📝 API 要件
このサーバーには以下が必要です。
- API アクセスが可能な OpenReplay アカウント
- 有効な API キーとプロジェクト ID
- OpenReplay API エンドポイントへのネットワークアクセス
- Python 3.8 以降の環境
🤝 貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。大きな変更を行う場合は、まずイシューを作成して変更内容について話し合ってください。
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルをご覧ください。
🙏 謝辞
- セッションリプレイプラットフォームを提供してくださったOpenReplay
- 統合フレームワークを提供するModel Context Protocol
- Python MCP SDKを提供するFastMCP
📞 サポート
問題が発生した場合や質問がある場合は、次の手順をお試しください。
- Issuesページを確認します
- 詳細情報を記載して新しいイシューを作成します
- 既存のイシューで議論に参加します
ユーザーエクスペリエンス分析の向上を目指して ❤️ を込めて作成
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。