ubcab-bo-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ubcab-bo-mcpfind driver by phone 99054120"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ubcab-bo-mcp
MCP server for the UBCab Backoffice (registration-bo) API — the same backend
that powers operator.ubcab.mn. Lets Claude search drivers, read driver detail
and rating, change driver state, and list service options.
Built on the same pattern as timely-mcp: a single self-contained
api/index.ts (the Vercel serverless function) that runs over Streamable HTTP
on Vercel (bearer + OAuth 2.1 PKCE) or over stdio locally.
Live endpoint: https://bo-mcp.vercel.app/mcp (POST, Bearer auth). Verified: GET /health → {"status":"ok"}.
Auth
The BO uses Keycloak SSO (realm ubcab-bo, client ubcab-registration-bo).
The server gets an access token from
https://sso.ubcabtech.com/realms/ubcab-bo/protocol/openid-connect/token:
password grant — set
UBCAB_BO_USERNAME+UBCAB_BO_PASSWORD(recommended; durable).refresh_token grant — set
UBCAB_BO_REFRESH_TOKEN(use if password grant is disabled; expires).
Access tokens are short-lived (~5 min); the server caches and silently re-auths.
Every API call also sends Origin/Referer = operator.ubcab.mn.
Related MCP server: uptime-kuma-mcp-server
Tools
Tool | Method / Endpoint | Purpose |
|
| Жолоочийг утас/регистр/нэр/shortId-аар хайх → |
|
| Жолоочийн дэлгэрэнгүй (profile, vehicle, kyc…) |
|
| Жолоочийн үнэлгээ |
|
| Төлөв солих: |
|
| Үйлчилгээний сонголтын жагсаалт |
|
| Жолоочийн үйлчилгээний түүх; |
|
| Хэтэвчний үлдэгдэл |
|
| Хэтэвчний гүйлгээний түүх (paged; |
|
| Тээврийн хэрэгслүүд |
|
| ⚠ Машины үйлчилгээ нэмэх/хасах ( |
|
| Сэтгэгдэл/үнэлгээний жагсаалт (paged) |
|
| Цолны түүх (paged) |
|
| Audit log — хэн юуг хэзээ өөрчилсөн ( |
|
| Техникийн үзлэгийн дэлгэрэнгүй (асуулт бүрийн хариу, result, expiresAt) |
|
| Үзлэгт хамаарах жолоочид (paged) |
|
| Хэрэглэгч (rider) хайх (body: filter.query) |
|
| Хэрэглэгчийн аяллын түүх; |
|
| Аяллын үндсэн бүх мэдээлэл |
|
| Маршрут (GPS зам) |
|
| Нэхэмжлэл |
|
| Төлбөр тооцооны задаргаа |
|
| Гомдол |
|
| Торгууль (жагсаалт) |
|
| ⚠ Торгууль цуцлах (write) |
|
| ⚠ Хүргэлтийн торгууль цуцлах |
|
| Урамшуулал |
|
| TEMU/чиглэлийн илгээмж хянах (нэвтрэлтгүй нийтийн API) |
|
| UBExpress энгийн захиалга хайх (operator, client express-bo) |
|
| UBExpress буцах захиалга хайх |
|
| Гарын авлагын категорууд |
|
| ⚠ Шинэ категор нэмэх (name, order) |
|
| Категорын дэлгэрэнгүй |
|
| ⚠ Категор устгах |
|
| Формын meta |
|
| Мэдээний (Press) ангиллууд |
|
| ⚠ Шинэ мэдээний ангилал |
|
| Ангилалын дэлгэрэнгүй |
|
| ⚠ Засах |
|
| Тусламжийн агуулгууд (filter: slug, title) |
|
| ⚠ Агуулга нэмэх ( |
|
| Агуулгын дэлгэрэнгүй |
|
| ⚠ Агуулга засах |
|
| ⚠ Агуулга устгах |
|
| Формын meta |
|
| Бүлгийн сонголт ( |
|
| Хэлний сонголт |
|
| Press контентууд |
|
| ⚠ Контент нэмэх (title, cover, category, preview) |
|
| Дэлгэрэнгүй |
|
| ⚠ Засах |
|
| ⚠ Устгах |
|
| Формын meta |
|
| Ангиллын сонголт ( |
|
| Зураг байршуулах → |
|
| ⚠ Устгах |
|
| Формын meta (талбар динамик) |
|
| UBEats Cloud Kitchen захиалга хайх (filter.customerPhone) |
|
| Cloud Kitchen захиалгын бүрэн дэлгэрэнгүй |
|
| Cloud Kitchen төлөвийн түүх |
|
| UBEats Merchant захиалга хайх |
|
| Merchant захиалгын бүрэн дэлгэрэнгүй |
|
| Merchant төлөвийн түүх |
⚠
driver_get/trip_getreturn PII (name, phone, register no, civil ID).driver_set_stateis a write action.
Local run (stdio)
npm install
npm run compile
cp .env.example .env # fill UBCAB_BO_USERNAME + UBCAB_BO_PASSWORD
node --env-file=.env scripts/test-login.mjs 99054120 # live smoke testClaude Desktop config:
{
"mcpServers": {
"ubcab-bo": {
"command": "node",
"args": ["/abs/path/to/ubcab-bo-mcp/dist/api/index.js"],
"env": {
"UBCAB_BO_USERNAME": "...",
"UBCAB_BO_PASSWORD": "..."
}
}
}
}Deploy (Vercel)
Connected to GitHub (naranmunkh/bo-mcp) — every push to main auto-deploys.
Zero-config: api/index.ts is auto-built as a serverless function, and
vercel.json rewrites send every path (/mcp, /health, /.well-known/*) to
it. There is intentionally no build script — a build script makes Vercel
expect a static public/ output and the deploy fails. Local TypeScript build is
npm run compile.
Required env vars on the Vercel project: UBCAB_BO_USERNAME, UBCAB_BO_PASSWORD,
and UBCAB_BO_MCP_AUTH_TOKEN (openssl rand -hex 32).
Connect from Claude with Authorization: Bearer <UBCAB_BO_MCP_AUTH_TOKEN> at
https://bo-mcp.vercel.app/mcp. The endpoint fails closed if
UBCAB_BO_MCP_AUTH_TOKEN is unset.
Extending
Add a new endpoint by registering another tool inside createMcpServer() in
api/index.ts — copy one of the existing reg(...) blocks.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
- mcp-serverOAuthio.klokin
MCP server exposing klokin time-tracking operations (employees, time entries, stores) to AI clients.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for Sendbird — chat users, channels, members, and messages from your AI client.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing Claude Code conversation sessions1296 npmMIT
- FlicenseNot gradedqualityCmaintenanceMCP server for managing self-hosted Uptime Kuma monitors and querying uptime statistics from Claude.-
- FlicenseNot gradedqualityCmaintenanceA local MCP server that connects the Globick activities API to Claude Desktop, enabling natural language search and filtering of the activities catalogue.-

Upvote Club Remote MCPofficial
FlicenseNot gradedqualityCmaintenanceRemote MCP server for Claude.ai to interact with Upvote Club's API, enabling task creation, status checking, and platform listing via natural language.42-