Frontline Copilot MCP Server
Frontline Copilot
小売店舗マネージャーのためのAIレビュー仕分けツール。
あらゆるソースから顧客レビューを取り込み、Claude がカテゴリと深刻度で分類し、対応が必要なものを店舗マネージャーの Airtable タスクリストにルーティングする常時稼働システムです。重大な問題(食品衛生、スタッフの行為、健康リスク)については、リアルタイムの Slack アラートも送信します。
MCP サーバーとしても提供されており、店舗マネージャーは Claude Desktop から会話形式でクエリやトリアージを行うことができます。
店舗運営のための AI コパイロットという新興カテゴリにインスパイアされています。
問題
多店舗展開の小売チェーンの店舗マネージャーは、顧客レビューからのシグナルに埋もれています。そのほとんどはノイズ(賞賛や小さな不満)です。ごく一部は緊急を要します(食品衛生、差別、けがのリスク)。ほとんどのツールは、マネージャーが重要事項を見つけるためにすべてを読むことを要求しますが、これは規模が大きくなると勝ち目のない戦いです。
Frontline Copilot はこれを逆転させます。Claude がすべてを読み、マネージャーはアクションが必要なものだけを見ます。
Related MCP server: ServiceTitan MCP Server
仕組み
┌────────────┐ ┌──────────────┐ ┌────────────┐ ┌────────────┐
│ Reviews │──▶│ Classifier │──▶│ Airtable │──▶│ Slack │
│ (JSON / │ │ (Claude API, │ │ (task │ │ (critical │
│ Google) │ │ tool use) │ │ tracker) │ │ alerts) │
└────────────┘ └──────────────┘ └────────────┘ └────────────┘
│
▼
┌──────────────┐
│ MCP server │◀── Claude Desktop, Cursor, ...
│ (3 tools) │
└──────────────┘各レビューは、1(ポジティブ)から5(クリティカル)までの深刻度を持つ9つのカテゴリのいずれかに分類されます。深刻度が3以上のレビューは Airtable タスクになり、深刻度が4以上のレビューはさらに Slack アラートを発火します。
スクリーンショット
エンドツーエンドのパイプライン実行
21件のレビューを約60秒で処理。7件のタスクを作成し、4件のリアルタイムのクリティカルアラートを発火。

Airtable — タスクボード
深刻度でソートされ、カテゴリで色分けされたタスク。これが店舗マネージャーの見る画面です。

Airtable — カンバンビュー
同じデータをカテゴリでグループ化。問題の分布を一目で確認できます。

Slack — リアルタイムのクリティカルアラート
アクション優先のレイアウトと Airtable タスクへの直接リンクを備えた Block Kit カード。

技術スタック
Python 3.10+ — dataclasses、
str | Noneユニオン型、pathlibAnthropic Claude API — ツール使用による分類(
claude-haiku-4-5)Airtable REST API — タストラッカー、生の
requestsで呼び出しSlack Incoming Webhooks — リッチなアラートカード用の Block Kit
MCP (Model Context Protocol) — FastMCP による会話型インターフェース
レビューソース用のアダプターパターン(Mock が同梱、Google Places はスタブ)
サードパーティ依存は anthropic、requests、mcp の3つのみ。それ以外はすべて標準ライブラリです。
クイックスタート
# 1. Clone and install
git clone https://github.com/miguelpomarm/frontline-copilot
cd frontline-copilot
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# 2. Configure secrets
cp .env.example .env
# ... edit .env with your keys (see setup section below)
# 3. Run the pipeline
python triage.py
# 4. Launch as an MCP server (optional)
python mcp_server.pyセットアップ(初回のみ、約10分)
1. Anthropic API キー
https://console.anthropic.com/ で取得します。無料枠でデモ実行には十分です。21件のレビューで約 $0.03 です。
2. Airtable ベース
Tasks という名前のテーブルを持つ新しいベースを作成し、以下のフィールドを追加します(正確な名前):
フィールド | タイプ |
Review ID | 単一行テキスト(プライマリフィールド) |
Store | 単一行テキスト |
Category | 単一選択 — 9つのタクソノミー値で設定 |
Severity | 数値(整数) |
Summary | 長いテキスト |
Review Text | 長いテキスト |
Author | 単一行テキスト |
Date | 日付 |
Status | 単一選択 — |
次に、https://airtable.com/create/tokens で個人アクセストークンを生成し、ベースに対して data.records:read と data.records:write のスコープを付与します。トークンとベース ID(app... で始まり、ベースの URL にあります)をコピーします。
3. Slack Incoming Webhook
https://api.slack.com/apps で Slack アプリを作成します。Incoming Webhooks を有効にし、クリティカルアラートを受信するチャンネルを指す新しいウェブフックを追加し、ウェブフック URL をコピーします。
4. .env を記入
ANTHROPIC_API_KEY=sk-ant-...
AIRTABLE_API_KEY=pat...
AIRTABLE_BASE_ID=app...
AIRTABLE_TABLE_NAME=Tasks
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...5. 初回実行
python triage.py --limit 3 --dry-run # sanity check, no side effects
python triage.py --limit 3 # small live run
python triage.py # full 21 reviewsMCP インテグレーション (Claude Desktop)
これを ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) に追加し、Claude Desktop を再起動します:
{
"mcpServers": {
"frontline-copilot": {
"command": "python",
"args": ["/absolute/path/to/frontline-copilot/mcp_server.py"]
}
}
}その後、Claude Desktop 内で:
"How is Aurora Times Square doing right now?"
Claude は get_store_health("times_square") を呼び出し、Airtable にアクセスし、現在のスナップショット(オープンタスク、クリティカル数、トップカテゴリ)を返します。
設計上の決定
レビューアに指摘する価値のある意図的な選択:
閉じたタクソノミー + Other バケット
カテゴリは固定の列挙型であり、自由形式ではありません。これにより、一貫したルーティングとメトリクスが保証されます。Other は逃げ道であり、事前の推測ではなく実際のデータに基づいてタクソノミーを拡張するために定期的にレビューされます。
プロンプトエンジニアリングよりもツール使用 Claude は、列挙型の強制を備えたツールスキーマを介して構造化出力を返します。これにより、パースのバグが排除され、LLM がタクソノミー外のカテゴリを幻覚することが防止されます。
デフォルトモデルとしての Haiku 4.5 明確にスコープされた分類タスクでは、Haiku は高速(サブ秒)、低コスト(レビューあたり約 $0.001)、十分な精度です。本番環境では、この決定だけで中程度のボリュームで月に数千ドルを節約できます。
レビューソースのためのアダプターパターン
ReviewSource は抽象インターフェースです。MockSource と、ドキュメント化された GooglePlacesSource スタブが同梱されています。Yelp、TrustPilot、または独自のフィードに切り替えるには、新しいサブクラスを作成するだけです。パイプラインの残りは変更されません。
レビュー ID による冪等性 同じレビューを再処理しても、重複タスクは作成されません。Airtable は、各作成の前にチェックされます。
深刻度しきい値は調整可能な定数
ACTION_THRESHOLD と ALERT_THRESHOLD はモジュールレベルです。許容度が異なる顧客は、コードではなく2つの数値を変更します。
MVP では同期が非同期よりも優先
21件のレビューを順次約40秒で処理します。非同期バリアントは、約15行で交換できます(AsyncAnthropic + レート制限用のセマフォを備えた asyncio.gather)。このボリュームでは、速度よりも読みやすさが優先されます。
星ではなくテキスト プロンプトは、Claude に星評価よりもレビューテキストを重視するよう明示的に指示します。食品衛生に言及した4つ星のレビューは、深刻度2ではなく5です。
ロードマップ(未実装)
FastAPI ウェブフックエンドポイント (
POST /webhook/review) — バッチ実行ではなくリアルタイムの取り込み用。GooglePlacesSource— アダプターインターフェースは完成済み。ライブ実装は、API 統合とリトライロジックに約1時間。レート制限対応の非同期バッチ処理 — 高ボリュームの本番環境向け。
エンドツーエンドテスト (Playwright / pytest と記録された API インタラクション) — Airtable/Slack の副作用を検証。
config.yamlによる顧客ごとの設定可能なしきい値。
ライセンス
MIT — LICENSE を参照。
Miguel Pomar Martínez によるテクニカルポートフォリオ作品として構築されました。
This server cannot be deployed
Maintenance
Related MCP Connectors
Build and manage AI-native customer support agents from Claude or any MCP client.
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
- RoomtoneOAuthio.roomtone
Ask Claude about your meetings: summaries, action items and transcripts from Roomtone
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables Claude Desktop to interact with Salesforce for order management, including checking order status, creating returns, managing cases, and sending Slack notifications for customer service operations.6MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to query ServiceTitan data about technician jobs and business performance via natural language, while protecting customer personal information.-
- FlicenseNot gradedqualityDmaintenanceEnables conversational triage of ServiceNow incidents via Claude Desktop, automatically classifying and routing them based on company knowledge.-
- AlicenseAqualityCmaintenanceConnects Claude Desktop to Notion and YouTube transcripts with one-click installation, enabling natural language queries about your pages and video content.52MIT