👨💻
カスタムMCPを開発してみた(Survey Insight MCP Server)
社内アンケート分析の苦悩
人事や企画部門で働いていると、こんな経験ありませんか?
- 📝 アンケートの自由記述欄が数百件...
- ⏰ Excelで1つずつ読むだけで半日溶ける
- 😭 「何となくこういう傾向」としか言えない
- 📊 グラフ作成に時間を取られ、本質的な分析ができない
- 💼 経営陣への報告資料作成だけで丸1日...
- 🌐 海外拠点のアンケート(英語)も増えてきた...
「これ、AIに全部やらせたい」
そう思って作ったのがSurvey Insight MCP Serverです。
GitHubリポジトリ
サンプルで使えるアンケートデータ
デモ:こんなレポートが自動生成されます

1. エグゼクティブサマリー & WordCloud

総回答数、抽出キーワード数、検出課題数を一目で把握。WordCloudでコメントの全体像を視覚化。
2. 頻出キーワードランキング & セグメント別分析(円グラフ)

形態素解析で自動抽出した重要キーワードを、美しいインタラクティブグラフで表示。
部署別、年代別、役職別など、CSVの列から自動検出したカテゴリで多角的に分析。
3. AI課題分析 & 改善提案

Claude/Geminiが、キーワードランキング、セグメント別分析結果と全コメントをもとに:
- 🎯 隠れた課題を優先度付きで抽出
- 💡 具体的なアクションプラン付き改善提案を生成
- ⏱️ 難易度・期間・期待効果まで提示
技術スタック
アーキテクチャ
┌─────────────┐
│ Claude Code │ ← ユーザーインターフェース
│ Gemini CLI │
└──────┬──────┘
│ MCP (stdio)
↓
┌──────────────────────────┐
│ Survey Insight MCP Server│ ← Python実装
├──────────────────────────┤
│ - CSV自動解析 │
│ - 言語自動判別 │
│ - 形態素解析 (日/英対応) │
│ - WordCloud生成 │
│ - グラフ生成 (Plotly) │
│ - AI分析 (Claude/Gemini) │
│ - HTMLレポート生成 │
└──────────────────────────┘
↓
┌──────────────────────────┐
│ output/survey_report.html│ ← 美しいダッシュボード
└──────────────────────────┘
使用技術
- MCP Protocol: Model Context Protocolで各種AIツールと統合
- Python: バックエンド実装
- janome: 日本語形態素解析
- spaCy: 英語形態素解析(en_core_web_sm)
- langdetect: 言語自動判別
- pandas: データ処理
- Plotly: インタラクティブグラフ
- WordCloud: ビジュアライゼーション
- Claude/Gemini API: AI課題分析
インストール(超簡単)
※LLM_MODELで利用したいモデル指定可能。
Claude Codeの場合
AIサブスクリプション利用(推奨):
claude mcp add --transport stdio survey-insight --scope user \
-e USE_CLAUDE_CODE_SUBSCRIPTION=true -- \
uvx --from git+https://github.com/sinjorjob/survey-insight-mcp.git survey-insight-mcp
Anthropic Claude API:
claude mcp add --transport stdio survey-insight --scope user \
-e LLM_PROVIDER=anthropic \
-e LLM_API_KEY=sk-ant-api03-your_key_here \
-e LLM_MODEL=claude-3-5-sonnet-20241022 -- \
uvx --from git+https://github.com/sinjorjob/survey-insight-mcp.git survey-insight-mcp
Google Gemini API:
claude mcp add --transport stdio survey-insight --scope user \
-e LLM_PROVIDER=google \
-e LLM_API_KEY=your_google_api_key_here \
-e LLM_MODEL=gemini-2.0-flash-exp -- \
uvx --from git+https://github.com/sinjorjob/survey-insight-mcp.git survey-insight-mcp
Gemini CLIの場合
~/.gemini/settings.jsonに追加:
{
"mcpServers": {
"survey-insight": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/sinjorjob/survey-insight-mcp.git",
"survey-insight-mcp"
],
"env": {
"LLM_PROVIDER": "google",
"LLM_API_KEY": "your_google_api_key_here",
"LLM_MODEL": "gemini-2.0-flash-exp"
}
}
}
}
それだけ! 再起動すれば使えます。
使い方
基本的な使い方
Claude CodeやGemini CLI上で、こう頼むだけ:
survey-insightツールを使ってexamples/sample_survey.csvを分析して、
部署別・年代別のレポートを生成してください。
MCPツールが自動的に呼び出され、美しいHTMLレポートが完成!
CSVファイルの準備
最小構成:
コメント
対応が丁寧で良かったです
待ち時間が長いのが気になりました
推奨構成(分析軸あり):
日本語版:
部署,年代,コメント
営業,30代,対応が丁寧で良かったです
技術,40代,待ち時間が長いのが気になりました
人事,50代,スタッフの説明が分かりやすかった
英語版:
Department,Age_Group,Comments_Feedback
Sales,30s,The service was very polite and helpful
Technical,40s,The waiting time was a bit long
HR,50s,Staff explanations were easy to understand
自動対応:
- ✅ エンコーディング自動検出(cp932, shift-jis, utf-8)
- ✅ 言語自動判別(日本語・英語に対応)
- ✅ コメント列自動検出(列名に「コメント」「comment」等を含む)
- ✅ 分析軸自動検出(カテゴリカルデータを自動識別)
- ✅ データクレンジング(空行・重複削除)
- ✅ AI分析結果は常に日本語で出力(入力言語に関わらず)
1. 自動検出
ユーザーに面倒な設定をさせない:
- 🔍 コメント列を自動検出(キーワードマッチング + 文字数ヒューリスティック)
- 📊 分析軸を自動検出(カテゴリカルデータの統計的判定)
- 🌐 言語を自動判別(langdetectで日本語/英語を判別)
2. 多言語対応
グローバル企業でも使える:
- 🇯🇵 日本語: janomeで高精度な形態素解析
- 🇬🇧 英語: spaCy(en_core_web_sm)で自然言語処理
- 🔄 自動切り替え: コメント内容から言語を自動判別
- 📝 日本語レポート: AI分析結果は常に日本語で出力(入力言語に関わらず)
3. AI分析
単なるキーワード抽出じゃない:
- 🧠 全コメントを文脈理解しながら分析
- 🎯 優先度付き課題抽出(高/中/低で分類)
- 💡 実行可能な改善提案(難易度・期間・期待効果付き)
- 📈 セグメント別の特徴把握(部署/年代ごとの傾向を理解)
4. 柔軟なLLM対応
好きなAIを選べる:
- ☁️ Claude Code Subscription(API Key不要で最も簡単)
- 🤖 Anthropic Claude API(Claude 3.5 Sonnet等)
- 🌟 Google Gemini API(Gemini 2.0 Flash等)
プロバイダー切り替えも簡単:
# 1. 削除
claude mcp remove survey-insight
# 2. 別のプロバイダーで再登録
claude mcp add --transport stdio survey-insight --scope user \
-e LLM_PROVIDER=google \
-e LLM_API_KEY=new_key -- \
uvx --from git+https://github.com/sinjorjob/survey-insight-mcp.git survey-insight-mcp
生成物
- 📄 HTMLレポート: 1ファイル(自己完結型)
- 🖼️ WordCloud画像: PNG形式
- 📊 インタラクティブグラフ: Plotly.js埋め込み
- 📝 分析サマリー: テキスト形式(LLM入力用)
まとめ
Survey Insight MCP Serverは、社内アンケート分析を劇的に効率化します:
✅ 10分で完了(以前は丸1日)
✅ AI分析で隠れた課題を発見(人間が見落とす傾向も検出)
✅ 美しいレポート(経営陣への報告も安心)
✅ 1コマンドで導入(難しい設定不要)
⭐ Starいただけると嬉しいです!
ライセンス
MIT License
Discussion