ubeats-bo-mcp
ubeats-bo-mcp
MCP-сервер для UBEats Backoffice (office.ubeats.mn, хост API
https://ubeats-bo-api.ubcabtech.com). Построен по тому же принципу, что и
ubcab-bo-mcp: один самодостаточный api/index.ts, который работает либо через stdio
(локально / Claude Desktop), либо как защищённый Bearer-токеном Streamable HTTP-эндпоинт на
Vercel.
Аутентификация
Keycloak SSO — проверено 2026-08-18 на живой сессии BO:
Issuer |
|
OIDC client ( |
|
Token endpoint |
|
Origin/Referer sent |
|
Токены доступа живут ~5 минут; сервер кэширует их до ~30 секунд до истечения и
переаутентифицируется незаметно (сначала refresh_token, затем парольная выдача).
Инструменты (21)
Отчёты (8)
Все семь эндпоинтов отчётов используют одну форму тела:
POST /v1/api/reports/{report}/list
{ "filter": { "beginDate": "2026-08-17", "endDate": "2026-08-18", "city": "11" },
"page": 1, "limit": 20 }Три вещи, которые легко сделать неправильно (все подтверждены тестированием на живых данных):
page/limitнаходятся на верхнем уровне, а не внутриpagination. Отправкаpagination: {page, limit}молча игнорируется, и вы получаете 20 строк по умолчанию.endDateявляется исключающим. Для одного дня передавайте следующий день.beginDate === endDateвозвращает996 "Begin date or end date is wrong!".Даты должны быть в формате
YYYY-MM-DD. ISO-даты или"YYYY-MM-DD HH:mm:ss"возвращают 996.
Неизвестные ключи filter молча игнорируются — ни ошибки, ни фильтрации. Всегда
проверяйте итоги.
Перечисление filter.city (монгольские коды аймаков/городов, 11 = Улаанбаатар):
11 21 22 23 41 42 43 44 45 46 48 61 62 63 64 65 67 81 82 83 84 85
Инструмент | Отчёт |
| Жолоочийн цалин бодолт (+фильтр |
| Хүргэлтийн тайлан (возвращает |
| Санхүүгийн тайлан (29 столбцов, + |
| Санхүүгийн тайлан (хураангуй, 14 столбцов) |
| Хоолны тайлан (на уровне позиций) |
| Мерчант захиалгын хугацаа |
| Захиалгын дэлгэрэнгүй тайлан |
|
|
Заказы (6)
Заказы Cloud Kitchen и Merchant находятся в разных коллекциях — номер телефона может иметь заказы в обеих, поэтому ищите в обоих.
ubeats_order_search / _get / _state_histories,
ubeats_merchant_order_search / _get / _state_histories
Каталог (6)
ubeats_provider_search, ubeats_branch_search (фильтры: name, status),
ubeats_merchant_search, ubeats_kitchen_search, ubeats_menu_search,
ubeats_notification_search (фильтры: beginDate, endDate, sender,
senderRole, receiverPhoneNumber)
Запасной выход (1)
ubeats_bo_request — произвольный метод/путь к BO API, с аутентификацией и
заголовками, обрабатываемыми автоматически. Используйте для изучения недокументированных эндпоинтов перед добавлением реального инструмента.
Локальный запуск
npm install
npm run typecheck
cp .env.example .env # fill in creds
npm run test:login # live smoke test: auth + one driver-revenue page
npm run compile && npm start # stdio MCP serverРазвёртывание на Vercel
Нулевая конфигурация: api/index.ts — это функция, vercel.json перенаправляет всё
на неё. Три правила, перенесённые из ubcab-bo-mcp (выученные на собственном опыте):
Без устаревших
builds+routesвvercel.jsonна проекте, импортированном через git — каждый путь выдаёт 404. Используйте толькоrewrites.Без скрипта
buildв package.json — Vercel затем ищетpublic/и развёртывание завершается ошибкой. Локальная компиляция —npm run compile.Без импортов из
src/— резолвер esbuild для Node16 не отобразит.js→.tsи вы получите 500. Всё находится в одном файле.
Развёртывайте путём отправки в main (интеграция с git), а не из CLI.
Переменные окружения, которые нужно установить в Vercel: UBEATS_BO_USERNAME, UBEATS_BO_PASSWORD,
UBEATS_BO_MCP_AUTH_TOKEN (openssl rand -hex 32).
Проверка работоспособности: GET /health → {"status":"ok","server":"ubeats-bo-mcp"}
Известные пробелы
order-duration'smeta?action=listвозвращает998 permission_deniedдля некоторых ролей, хотя/listработает. Вместо этого читайте столбцы из ответа.financial-report'sincludeCancelledотображается наfilter.state; BO показывает его как флажок, но эффект на бэкенде не был подтверждён на живых данных./v1/api/categories/listвозвращает998для протестированной учётной записи.Нет маршрутов списка
products,delivery-tariffs,delivery-zones,feedbacksилиlotsв/v1/api/— эти экраны BO используют другие пути.
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 Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
GibsonAI MCP server: manage your databases with natural language
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/naranmunkh/ubeats-bo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server