ubeats-bo-mcp
ubeats-bo-mcp
MCP-Server für das UBEats Backoffice (office.ubeats.mn, API-Host
https://ubeats-bo-api.ubcabtech.com). Basierend auf dem gleichen Muster wie
ubcab-bo-mcp: eine eigenständige api/index.ts, die entweder über stdio
(lokal / Claude Desktop) oder als bearer-geschützter Streamable-HTTP-Endpunkt auf
Vercel läuft.
Authentifizierung
Keycloak SSO — verifiziert am 18.08.2026 gegen eine Live-BO-Sitzung:
Aussteller |
|
OIDC-Client ( |
|
Token-Endpunkt |
|
Gesendeter Origin/Referer |
|
Access-Tokens leben ca. 5 Minuten; der Server cacht bis ca. 30 Sekunden vor Ablauf und führt eine erneute Authentifizierung durch (zuerst refresh_token, dann Passwort-Grant).
Related MCP server: Respona Dashboard MCP Server
Tools (21)
Berichte (8)
Alle sieben Berichts-Endpunkte teilen sich eine Körperform:
POST /v1/api/reports/{report}/list
{ "filter": { "beginDate": "2026-08-17", "endDate": "2026-08-18", "city": "11" },
"page": 1, "limit": 20 }Drei Dinge, die leicht falsch gemacht werden können (alle durch Live-Tests bestätigt):
page/limitsind auf oberster Ebene, nicht innerhalb vonpagination. Das Senden vonpagination: {page, limit}wird stillschweigend ignoriert und Sie erhalten die Standardeinstellung von 20 Zeilen.endDateist exklusiv. Für einen einzelnen Tag übergeben Sie den nächsten Tag.beginDate === endDategibt996 "Begin date or end date is wrong!"zurück.Daten müssen
YYYY-MM-DDsein. ISO-Datumsangaben oder"YYYY-MM-DD HH:mm:ss"geben 996 zurück.
Unbekannte filter-Schlüssel werden stillschweigend ignoriert — kein Fehler, keine Filterung. Überprüfen Sie immer
stichprobenartig die Summen.
filter.city-Enum (Mongolische Aimag/Stadt-Codes, 11 = Улаанбаатар):
11 21 22 23 41 42 43 44 45 46 48 61 62 63 64 65 67 81 82 83 84 85
Tool | Bericht |
| Жолоочийн цалин бодолт (+ |
| Хүргэлтийн тайлан (gibt |
| Санхүүгийн тайлан (29 Spalten, + |
| Санхүүгийн тайлан (хураангуй, 14 Spalten) |
| Хоолны тайлан (auf Artikelebene) |
| Мерчант захиалгын хугацаа |
| Захиалгын дэлгэрэнгүй тайлан |
|
|
Bestellungen (6)
Cloud-Kitchen- und Merchant-Bestellungen leben in separaten Sammlungen — eine Telefonnummer kann Bestellungen in beiden haben, also suchen Sie in beiden.
ubeats_order_search / _get / _state_histories,
ubeats_merchant_order_search / _get / _state_histories
Katalog (6)
ubeats_provider_search, ubeats_branch_search (Filter: name, status),
ubeats_merchant_search, ubeats_kitchen_search, ubeats_menu_search,
ubeats_notification_search (Filter: beginDate, endDate, sender,
senderRole, receiverPhoneNumber)
Notausstieg (1)
ubeats_bo_request — beliebige Methode/Pfad gegen die BO-API, mit Authentifizierung und
Headern. Verwenden Sie es, um undokumentierte Endpunkte zu testen, bevor Sie ein echtes Tool hinzufügen.
Lokale Ausführung
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 serverVercel-Bereitstellung
Null-Konfiguration: api/index.ts ist die Funktion, vercel.json leitet alles
auf sie um. Drei Regeln, die von ubcab-bo-mcp übernommen wurden (auf die harte Tour gelernt):
Keine veralteten
builds+routesinvercel.jsonbei einem per Git importierten Projekt — jeder Pfad gibt 404. Verwenden Sie nurrewrites.Kein
build-Skript in package.json — Vercel sucht dann nachpublic/und die Bereitstellung schlägt fehl. Die lokale Kompilierung erfolgt mitnpm run compile.Keine Importe aus
src/— esbuilds Node16-Resolver kann.jsnicht auf.tsabbilden und Sie erhalten einen 500. Alles lebt in der einen Datei.
Bereitstellung durch Pushen auf main (Git-Integration), nicht über die CLI.
Umgebungsvariablen, die in Vercel gesetzt werden müssen: UBEATS_BO_USERNAME, UBEATS_BO_PASSWORD,
UBEATS_BO_MCP_AUTH_TOKEN (openssl rand -hex 32).
Health-Check: GET /health → {"status":"ok","server":"ubeats-bo-mcp"}
Bekannte Lücken
order-duration'smeta?action=listgibt998 permission_deniedfür einige Rollen zurück, obwohl/listfunktioniert. Lesen Sie stattdessen die Spalten aus der Antwort ab.financial-report'sincludeCancelledwird auffilter.stateabgebildet; das BO rendert es als Kontrollkästchen, aber der Backend-Effekt wurde nicht live bestätigt./v1/api/categories/listgibt998für das getestete Konto zurück.Keine
products-,delivery-tariffs-,delivery-zones-,feedbacks- oderlots- Listenroute unter/v1/api/— diese BO-Bildschirme verwenden andere Pfade.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to discover restaurants and place food delivery orders on Uber Eats and Thuisbezorgd (Just Eat Takeaway). It provides tools for restaurant discovery and order management through normalized platform APIs.3 npm4MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools to interact with the Respona Dashboard backend API. It allows users to query ticket data, analytics, and AI flags through natural language interactions.MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that exposes a LangChain agent with short-term memory to analyze real e-commerce data through predefined SQL tools, enabling natural language queries on sales, customers, and logistics.-
- FlicenseNot gradedqualityDmaintenanceMCP server that routes natural language queries to backend analytics tools (Sales, Finance, Customer, Service) using Google Gemini's function calling.-