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).
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 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