Frontline Copilot MCP Server
Frontline Copilot
ИИ-ассистент для сортировки отзывов в розничных сетях.
Постоянно работающая система, которая собирает отзывы клиентов из любых источников, использует Claude для классификации по категориям и уровню важности, и направляет требующие реакции отзывы в список задач Airtable менеджера магазина — с мгновенными оповещениями в Slack о критических проблемах (безопасность продуктов, поведение персонала, здоровье клиентов).
Также доступен в виде MCP-сервера, чтобы менеджеры магазинов могли работать с отзывами в диалоговом режиме через Claude Desktop.
Вдохновлено новой категорией ИИ-ассистентов для управления магазинами.
Проблема
Менеджеры магазинов в розничных сетях тонут в потоке отзывов клиентов. Большинство из них — шум (похвала или мелкие замечания). Некоторые — срочные (безопасность продуктов, дискриминация, риск для здоровья). Большинство инструментов требуют, чтобы менеджер читал всё, чтобы найти важное — проигрышная битва в масштабе сети.
Frontline Copilot меняет подход. Claude читает всё; менеджер видит только то, что требует действий.
Related MCP server: Shopify 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 (критический). Отзывы с важностью ≥ 3 попадают в задачи Airtable; отзывы с важностью ≥ 4 дополнительно запускают оповещение в Slack.
Скриншоты
Полный цикл обработки
21 отзыв обработан за ~60 секунд. Создано 7 задач, 4 критических оповещения в реальном времени.

Airtable — доска задач
Задачи отсортированы по важности, цветовая кодировка по категориям. Так выглядит рабочий стол менеджера магазина.

Airtable — вид Канбан
Те же данные, сгруппированные по категориям. Распределение проблем с первого взгляда.

Slack — оповещения о критических проблемах
Карточки Block Kit с приоритетным отображением и прямой ссылкой на задачу в Airtable.

Технологический стек
Python 3.10+ — dataclasses,
str | Noneunion types, pathlibAnthropic API — классификация через инструменты (
claude-haiku-4-5)Airtable REST API — трекер задач, вызовы через
requestsSlack Incoming Webhooks — Block Kit для информативных карточек оповещений
MCP (Model Context Protocol) — диалоговый интерфейс через FastMCP
Паттерн «Адаптер» для источников отзывов (встроенный Mock; заглушка для Google Places)
Всего три сторонние зависимости: anthropic, requests, mcp. Всё остальное —
стандартная библиотека.
Быстрый старт
# 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 | Single line text (primary field) |
Store | Single line text |
Category | Single select — заполните 9 значениями категорий |
Severity | Number (integer) |
Summary | Long text |
Review Text | Long text |
Author | Single line text |
Date | Date |
Status | Single select — |
Затем создайте персональный токен на https://airtable.com/create/tokens
с правами data.records:read и data.records:write для вашей базы. Скопируйте
токен и ID базы (начинается с app..., указан в URL вашей базы).
3. Входящий вебхук Slack
Создайте приложение Slack на https://api.slack.com/apps. Включите 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 reviewsИнтеграция с MCP (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:
«Как обстоят дела в Aurora Times Square?»
Claude вызовет get_health("times_square"), обратится к Airtable и
ответит актуальной сводкой — открытые задачи, критические проблемы, основные категории.
Архитектурные решения
Обдуманный выбор, о котором стоит рассказать ревьюеру:
Фиксированная таксономия + категория Other
Категории — это фиксированный enum, а не свободная форма. Это гарантирует единообразие маршрутизации
и метрик. Категория Other — страховочный вариант, который периодически пересматривается для расширения
таксономии на основе реальных данных, а не предположений.
Использование инструментов вместо промпт-инжиниринга Claude возвращает структурированный результат через схему инструмента с контролем enum. Это исключает ошибки парсинга и предотвращает «галлюцинации» модели с категориями вне таксономии.
Haiku 4.5 как модель по умолчанию Для узкой задачи классификации Haiku достаточно быстр (доли секунды), дёшев (~$0.001 за отзыв) и точен. В production это решение экономит тысячи долларов в месяц при умеренном трафике.
Паттерн «Адаптер» для источников отзывов
ReviewSource — абстрактный интерфейс. В комплекте идёт MockSource и
документированная заглушка GooglePlacesSource. Подключение Trustpilot, Yelp или
собственного источника — это новый подкласс, остальной конвейер не меняется.
Идемпотентность по ID отзыва Повторная обработка одних и тех же отзывов не создаёт дубликатов задач. Перед созданием выполняется проверка в Airtable.
Пороги важности как настраиваемые константы
ACTION_THRESHOLD и ALERT_THRESHOLD — константы уровня модуля. Другим клиентам
с иными требованиями достаточно изменить два числа, а не код.
Синхронность для MVP
21 отзыв обрабатывается последовательно за ~40 секунд. Асинхронный вариант — это
замена ~15 строк (AsyncAnthropic + asyncio.gather с семафором для ограничения частоты запросов).
При таком объёме читаемость кода важнее скорости.
Текст важнее звёзд В промпте явно указано: модель оценивает текст отзыва, а не рейтинг. Отзыв на 4 звезды с упоминанием безопасности продуктов получает важность 5, а не 2.
Планы развития (не реализовано)
FastAPI вебхук (
POST /webhook/review) — обработка отзывов в реальном времени вместо пакетных запусков.GooglePlacesSource— интерфейс адаптера готов, реализация займёт ~1 час: интеграция с API + логика повторов.Асинхронная пакетная обработка с учётом лимитов — для больших объёмов.
End-to-end тесты (Playwright / pytest с записанными взаимодействиями с API), проверяющие работу с Airtable и Slack.
Настраиваемые пороги для каждого клиента через
config.yaml.
Лицензия
MIT — см. LICENSE.
Создано Miguel Pomar Martínez как техническое портфолио-проект.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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
- AlicenseNot gradedqualityDmaintenanceConnects your Shopify store data to Claude Desktop, enabling access to products, orders, customers, inventory, and more through natural language.6624MIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude Desktop directly to a ServiceNow instance for incident management, service catalog, workflow tools, and AI-powered smart incidents and KB generation using Gemini.
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to query ServiceTitan data about technician jobs and business performance via natural language, while protecting customer personal information.
Related MCP Connectors
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Streamline your Attio workflows using natural language to search, create, update, and organize com…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/miguelpomarm/frontline-copilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server