Сервер Insights MCP
Подключите ChatGPT, Claude, Copilot или Gemini к вашему тенанту Fooodo Insights через удалённый сервер Model Context Protocol.
Fooodo Insights поставляется с удалённым Model Context Protocol-сервером для каждого тенанта. Он предоставляет операционную аналитику вашей организации и ограниченный набор операций записи любому AI-клиенту, поддерживающему MCP, — без API-ключей, пользовательских интеграций и копирования данных вручную.
Кто может использовать? Любой клиент Fooodo Insights с доступом
admin,analystилиviewerк тенанту, у которого включён флаг функцииmcp_enabled. По умолчанию флаг отключён для всех организаций; обратитесь на support@fooodo.com, чтобы запросить активацию и получить MCP URL вашего тенанта.
Два MCP-сервера, одно семейство продуктов. Эта страница посвящена MCP-серверу Insights, который предоставляет операционную аналитику на уровне тенанта через OAuth 2.1. Отдельный MCP-сервер справочника по маркетингу работает по адресу
/api/mcpнаfooodo.comи является публичным — агенты используют его, чтобы узнать о Fooodo и отправить запросы на лиды. Эти две поверхности намеренно разделены: контент справочника и данные клиентов.
Зачем нужен MCP
MCP — открытый стандарт, который AI-клиенты используют для взаимодействия с удалёнными данными и инструментами: это аналог OAuth + REST для агентов. Один MCP-сервер достаточно добавить один раз, и им смогут пользоваться ChatGPT, Claude, Copilot, Gemini, Cursor, Windsurf, Zed и растущий список совместимых клиентов.
Для клиентов Fooodo Insights это означает:
- Отсутствие привязки к поставщику. Ваш аналитик может задать один и тот же вопрос из ChatGPT сегодня и из Gemini завтра, не меняя никаких настроек.
- Ограниченные, аудируемые действия. Инструменты записи (например, запустить импорт данных, подтвердить оповещение) требуют области
insights:writeи ролиadminилиanalyst. Каждая операция записи фиксируется в журнале аудита с пометкойsource: "mcp". - Изоляция тенантов. Инструменты ограничены организацией пользователя на уровне базы данных; межтенантный доступ невозможен.
Подключение из вашего AI
MCP-сервер Insights поддерживает OAuth 2.1 с Dynamic Client Registration, поэтому все перечисленные ниже клиенты используют одинаковый процесс в один клик: вставьте URL тенанта, нажмите Подключить, войдите в свою учётную запись Fooodo Insights, подтвердите области — готово.
В примерах ниже используется <INSIGHTS_MCP_URL> в качестве заполнителя. Замените его на URL, который служба поддержки Fooodo пришлёт вам после включения MCP для вашего тенанта.
ChatGPT (Plus / Pro / Enterprise)
- Откройте Settings → Connectors → Add custom connector (необходимо включить режим разработчика).
- URL сервера:
<INSIGHTS_MCP_URL>. - Подтвердите страницу согласия при появлении запроса.
Claude.ai (Pro и выше)
- Откройте Settings → Connectors → Add custom connector.
- Имя:
Fooodo Insights. URL сервера:<INSIGHTS_MCP_URL>. - Подтвердите страницу согласия.
GitHub Copilot (VS Code 1.101+, JetBrains, Visual Studio)
Добавьте в файл .vscode/mcp.json вашего рабочего пространства:
{
"servers": {
"fooodo-insights": {
"type": "http",
"url": "<INSIGHTS_MCP_URL>"
}
}
}Если вы используете Copilot Business/Enterprise, ваш администратор должен сначала включить политику MCP servers in Copilot.
Gemini CLI
Добавьте в конфигурацию Gemini CLI:
{
"mcpServers": {
"fooodo-insights": {
"url": "<INSIGHTS_MCP_URL>",
"oauth": true
}
}
}Gemini Enterprise
В консоли Google Cloud зарегистрируйте сервер как пользовательское хранилище данных MCP:
| Поле | Значение |
|---|---|
| URL сервера | <INSIGHTS_MCP_URL> |
| Аутентификация | OAuth 2.0 (Dynamic Client Registration) |
| Требуемые области | insights:read, insights:write |
Что может делать агент
Сервер предоставляет инструменты трёх уровней. Клиентам следует выбирать наименьший уровень, достаточный для ответа на вопрос, — это дешевле, быстрее и детерминировано.
Уровень 1 — Инструменты данных (быстрые, детерминированные, только чтение)
| Инструмент | Возвращает |
|---|---|
get_period_summary | Агрегированные метрики за диапазон дат — продажи, COGS, EBIT, валовая маржа, топ-кампании |
get_weekly_sales_data | Понедельные продажи с активными кампаниями и данными о затратах |
get_channel_stats | Показатели эффективности по маркетинговым каналам — кампании и каналы привлечения, без разбивки dine-in/доставка (для этого используйте get_channel_breakdown) |
get_daily_performance | Ежедневные продажи по каналам и ресторанам |
get_product_performance | Рейтинг продуктов/позиций меню по продажам и количеству с разбивкой по категориям |
get_cfo_pnl_data | Разбивка P&L — выручка, COGS, затраты на персонал, операционные расходы, EBIT — для представления на панели CFO |
get_restaurant_performance | Разбивка продаж по ресторанам/локациям за диапазон дат с долей каждой локации в общем объёме сети |
get_channel_breakdown | Разбивка каналов продаж (dine-in / доставка / Wolt / Bolt / навынос) с суммой в € и долей в % — аналог на стороне продаж; маркетинговые каналы находятся в get_channel_stats |
get_check_metrics | Средний чек (€, без НДС), блюд на чек и количество чеков за диапазон дат — с разбивкой по типу заказа и ресторану |
get_table_times | Среднее время закрытия стола (в минутах) и количество заказов — индикатор скорости обслуживания — с опциональной разбивкой по типу заказа и ресторану |
get_waiter_times | Среднее время закрытия стола по официантам для одного ресторана (требуется restaurant_id) |
get_guest_feedback | Удовлетворённость гостей — оценки NPS-опросов (еда / сервис / ресторан) и последние рейтинги Google по каждому ресторану |
get_cash_position | Текущий остаток денежных средств, еженедельный расход, запас хода и остатки по каждому юридическому лицу |
get_goals_vs_actuals | KPI-цели (средний чек, блюд на чек) и дневной бюджет продаж в сравнении с фактом, с выполнением по количеству заказов |
get_monthly_sales_plan | Перспективный ежемесячный план продаж — бюджет выручки и количества заказов по каналам и ресторанам, включая будущие месяцы |
get_marketing_spend | Ежемесячные маркетинговые расходы (из P&L) и календарь кампаний за период |
list_restaurants | Справочник ресторанов (id, код, название, город) — преобразует название или код в restaurant_id, по которому фильтруют другие инструменты данных |
get_menu_sales | Разбивка продаж блюд год к году по ресторану или городу (только обед или общая), с опциональным фильтром по каналу |
Уровень 2 — Специализированные агенты (LLM-анализ в рамках одной предметной области)
| Инструмент | Возвращает |
|---|---|
consult_financial_analyst | Анализ «почему» исключительно в финансовой плоскости, основанный на данных периода |
consult_marketing_strategist | Анализ причинно-следственного прироста и атрибуции кампаний исключительно в маркетинговой плоскости |
consult_market_research | Рыночный контекст — сезонность, праздники, тенденции потребительского поведения |
Ответы специалистов вычисляются, а не импровизируются: многошаговая арифметика выполняется детерминированным серверным калькулятором, а не мысленными вычислениями LLM, и каждая цифра сопровождается меткой уверенности и ссылкой на источник. Для вопросов о влиянии на прибыль сначала получите базовые данные P&L с помощью get_cfo_pnl_data и передайте соответствующие показатели (базовый EBIT, затраты) в consult_financial_analyst — собственные инструменты специалиста охватывают только данные о продажах.
Уровень 3 — Оркестратор (межпредметный синтез)
| Инструмент | Возвращает |
|---|---|
ask_orchestrator | Направляет межпредметный вопрос всем специализированным агентам и синтезирует единый ответ |
Поиск и получение данных (ChatGPT Deep Research, универсальные клиенты)
| Инструмент | Возвращает |
|---|---|
search | Список аналитических материалов и истории действий агента, соответствующих запросу, — {id, title, url, snippet} |
fetch | Полное содержимое документа по id из search — {id, title, text, url, metadata} |
Инструменты записи (требуют insights:write + роль admin/analyst)
| Инструмент | Действие |
|---|---|
trigger_data_import | Немедленно запускает настроенное плановое получение файлов (асинхронно — возвращает job_id) |
acknowledge_alert | Отмечает оповещение как подтверждённое |
resolve_alert | Закрывает оповещение |
generate_report | Формирует бизнес-отчёт — резюме для руководства, эффективность кампаний, анализ каналов — за диапазон дат; асинхронно (возвращает job_id), с опциональной отправкой по электронной почте |
regenerate_insights | Повторно запускает генератор аналитики для организации (асинхронно) |
get_job_status | Опрашивает статус асинхронного задания |
Промпты
weekly_business_review, margin_diagnosis — промпты в виде slash-команд для ChatGPT Apps и других клиентов с поддержкой промптов.
Безопасность и ограничения
- OAuth 2.1 + PKCE, публичные клиенты, ротируемые токены обновления. Токены доступа — это HS256 JWT, действительные в течение одного часа. Токены обновления действительны 60 дней, хранятся в виде SHA-256-хешей, одноразовые при ротации.
- Управление доступом на уровне организации через флаг функции
mcp_enabled— по умолчанию отключён для всех организаций. Активация осуществляется через обращение в поддержку, а не через самостоятельное переключение, что позволяет клиентам поэтапно развёртывать функцию. - Ограничения частоты запросов на пользователя по уровням. Инструменты данных — 60/мин; специализированные агенты и оркестратор — 10 за 5 мин; инструменты записи — 5 за 5 мин.
- Отзыв доступа. Пользователи могут отозвать доступ любого клиента в любое время в настройках учётной записи (
/account/connected-appsна стороне Insights). Администраторы могут отзывать доступ на уровне всей организации. - Журнал аудита. Каждый вызов инструмента записи фиксируется в журнале аудита с пометкой
source: "mcp", включая имя клиента, пользователя и входные данные. - Изоляция тенантов на уровне базы данных. Каждый запрос ограничивается организацией пользователя до выхода из приложения; сервер не может вернуть данные другого тенанта.
Для разработчиков агентов
- URL обнаружения:
<INSIGHTS_MCP_URL>/.well-known/oauth-authorization-server(и с суффиксом/mcp, согласно RFC 8414 §3.1). - Метаданные защищённого ресурса:
<INSIGHTS_MCP_URL>/.well-known/oauth-protected-resource/mcp(согласно RFC 9728). - Dynamic Client Registration:
POST <INSIGHTS_MCP_URL>/register— открытая регистрация, однако каждая авторизация по-прежнему требует интерактивного согласия. - Области:
insights:read(по умолчанию) иinsights:write(для инструментов записи). - Транспорт: Streamable HTTP, версия протокола MCP
2025-06-18.
Используемые стандарты: MCP 2025-06-18, RFC 6749 (OAuth 2.0), RFC 7636 (PKCE), RFC 7591 (Dynamic Client Registration), RFC 8414 (Authorization Server Metadata), RFC 9728 (Protected Resource Metadata).