MCP
Bezbedno povežite AI agente: User MCP za operacije, Developer MCP za integracije — profili, confirm, dry-run i odobrenja.
Ovaj vodič je Superroute MCP kolumna u Developer Centeru: oba servera, bezbednost agenata i live katalog alata.
https://api.miliexpress.com/mcphttps://api.miliexpress.com/mcp/developerModel Context Protocol (MCP) je otvoreni standard koji omogućava AI asistentima kao što su Claude, Cursor i ChatGPT da komuniciraju sa spoljnim alatima i servisima. Omogućava vašem AI da izvršava stvarne radnje — kao što je praćenje paketa — direktno u razgovoru.
Konfigurisanjem Superroute MCP servera, vaš AI asistent dobija pristup logističkim alatima bez napuštanja radnog toka.
Koristite pravi server. Ne dajte nenadgledanim agentima Developer server sa punim pristupom.
| Ime servera | Endpoint | Publika | Auth |
|---|---|---|---|
superroute |
https://api.miliexpress.com/mcp |
Ops / support / business agenti | Bearer + opcionalni profil/scopes (pun ako nije setovan) |
superroute-developer |
https://api.miliexpress.com/mcp/developer |
Programeri integracija i coding agenti | Connection Bearer poželjan; tool api_token se ukida |
Javni alati poput praćenja paketa rade bez autentifikacije. Dodajte ovu konfiguraciju svom MCP klijentu:
{
"mcpServers": {
"mili-express": {
"type": "url",
"url": "https://api.miliexpress.com/mcp"
}
}
}
Da biste koristili alate koji zahtevaju korisničke dozvole, dodajte svoj API Bearer token u konfiguraciju:
Tokene stavljajte samo u MCP connection headere — nikad u argumente alata ili promptove.
{
"mcpServers": {
"mili-express": {
"type": "url",
"url": "https://api.miliexpress.com/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>",
"X-MCP-Profile": "ops-readonly"
}
}
}
}
Pozovite endpoint za prijavu sa vašim akreditivima:
curl -X POST https://api.miliexpress.com/api/v1/user/login \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "password": "your-password"}'
Odgovor će sadržati vaš pristupni token:
{
"access_token": "eyJ0eXAiOiJKV1Qi...",
"token_type": "Bearer",
"expires_at": "2026-02-20 00:00:00"
}
Koristite vrednost access_token u Authorization zaglavlju vaše MCP konfiguracije.
User MCP je za least privilege. Kreirajte tokene sa MCP profilom (podrazumevano ops samo čitanje) ili pošaljite headere.
Imenovani scope paketi. Preferirajte ops-readonly ili support za nenadgledane agente.
| Profil | Oznaka | Scopes |
|---|---|---|
ops-readonly |
Ops samo čitanje | orders:read, labels:read, routes:read, drivers:read, analytics:read, address:read, approvals:read |
support |
Podrška (korisnička služba) | orders:read, analytics:read, address:read, approvals:read |
ops-write |
Ops pisanje (porudžbine + nalepnice + rute) | orders:read, orders:write, labels:read, labels:write, routes:read, routes:write, drivers:read, analytics:read, address:read, approvals:read, approvals:write |
wms-readonly |
WMS samo čitanje | wms:read, orders:read |
datasets-readonly |
Skupovi podataka samo čitanje | datasets:read |
alliance-readonly |
Alijansa samo čitanje | alliance:read |
full |
Pun pristup (svi MCP alati) — ne za nenadgledane agente | * |
{
"mcpServers": {
"mili-express": {
"type": "url",
"url": "https://api.miliexpress.com/mcp",
"headers": {
"Authorization": "Bearer <ops-readonly-token>",
"X-MCP-Profile": "ops-readonly"
}
}
}
}
| Header | Svrha |
|---|---|
Authorization: Bearer … | API Bearer token (nivo veze). |
X-MCP-Profile | Profil: ops-readonly, support, ops-write, wms-readonly, datasets-readonly, alliance-readonly, full. |
X-MCP-Scopes | Eksplicitni scopes odvojeni zarezom (prepisuje profil). |
X-MCP-Dry-Run: 1 | Pregled upisa bez mutacije. |
X-MCP-Require-Approval: 1 | Stavi high-risk upise u red za ljudsko odobrenje. |
Ovi alati zahtevaju confirm=true na tools/call (ili red odobrenja):
cancel_orderbulk_create_ordersreroute_to_addressbuild_routehold_orderrelease_orderapprove_pending_writebulk_create_orders_asyncget_shipping_detaildownload_shipping_labelcancel_shipping_labelsubmit_shipping_informationend_of_dayuniorder_canceluniorder_purchase_labeluniorder_create_batchuniorder_create_batch_asyncpay_shipping_ordercancel_shipping_orderpay_storage_ordercancel_storage_orderpay_shipoutcancel_shipoutNenadgledani agenti predlažu upise; ljudi odobravaju.
Putanja Web UI (potrebna prijava): /mcp-approvals
Preferirajte Authorization: Bearer na vezi. api_token po alatu je zastareo i seče se posle 2026-12-31.
Sledeći alati su trenutno dostupni na MCP serveru: 93 live alata iz serverskog kataloga
Ova tabela se generiše iz UserMcpToolCatalog u runtime-u i ostaje usklađena sa tools/list.
| Alat | Autentifikacija | Rizik | Scopes | Opis |
|---|---|---|---|---|
track_package
|
Javno | low | — |
Track a package by its tracking number. Returns delivery status, tracking events timeline, and proof of delivery if available. |
otep_tracking
|
Javno | low | — |
Get the unified OTEP (Open Tracking Event Protocol) timeline for a tracking number — self-delivery, third-party and carrier events normalize... |
get_capabilities
|
Javno | low | — |
List MCP tools available to the current connection, with risk level, required scopes, and whether confirm=true is needed. Call this first wh... |
get_orders
|
Potrebna | low | orders:read |
List orders with filtering and pagination. Returns order details including status, tracking, and delivery info. |
get_order_detail
|
Potrebna | low | orders:read |
Get full details of a specific order by ID, including address, status, packages, and tracking info. |
find_order
|
Potrebna | low | orders:read |
Fuzzy-find orders across tracking number, external tracking, ref, recipient name, and phone in a single query. Use this instead of get_order... |
get_operation_events
|
Potrebna | low | orders:read |
Get the full audit trail for orders — every status change, who performed it, GPS coordinates, and photos. |
create_order
|
Potrebna | medium | orders:write |
Create a delivery/pickup order. D=delivery (warehouse→customer), P=pickup (customer→warehouse), P2P=peer-to-peer. Returns order ID and track... |
cancel_order
confirm
|
Potrebna | high | orders:write |
Cancel an existing order by order ID. Only works for orders not yet delivered. |
bulk_create_orders
confirm
|
Potrebna | high | orders:write |
Create up to 100 delivery orders in one call. Returns a per-order success/failure summary; partial failures do not abort the batch unless st... |
reroute_to_address
confirm
|
Potrebna | high | orders:write |
Change the delivery address of an order that has not been picked up yet: cancels the original order and recreates it with the new address. R... |
update_delivery_instruction
|
Potrebna | medium | orders:write |
Update only the delivery_instruction field on an existing order (PATCH). Safer than full order rewrite. |
update_order_note
|
Potrebna | medium | orders:write |
Update only the internal note field on an existing order (PATCH). |
update_time_window_by_refs
|
Potrebna | medium | orders:write |
Bulk-update delivery time windows (and optional schedule_date) for orders identified by external refs. |
hold_order
confirm
|
Potrebna | high | orders:write |
Put an order on HOLD so it is not dispatched until release_order. HIGH-RISK: requires confirm=true. |
release_order
confirm
|
Potrebna | high | orders:write |
Release an order from HOLD back to NEW_ORDER. HIGH-RISK: requires confirm=true. |
propose_write
|
Potrebna | low | approvals:read |
Queue a write/high-risk tool for human approval instead of executing it. Reviewers use list_pending_approvals + approve_pending_write. |
list_pending_approvals
|
Potrebna | low | approvals:read |
List pending MCP write approvals for this business (or mine_only). |
approve_pending_write
confirm
|
Potrebna | high | approvals:write |
Approve and execute a pending write proposal. HIGH-RISK: requires confirm=true. Reviewer must have scopes for the underlying tool. |
reject_pending_write
|
Potrebna | medium | approvals:write |
Reject a pending write proposal without executing it. |
get_routes
|
Potrebna | low | routes:read |
List delivery routes with their status, assigned driver, and order count. |
get_route_detail
|
Potrebna | low | routes:read |
Get one route with its stop/order list. Prefer this over get_routes when you already know route_id. |
get_drivers
|
Potrebna | low | drivers:read |
List drivers for the authenticated business (ids, names, capacity defaults). Use driver id with get_driver_routes_today or route tools. |
get_driver_routes_today
|
Potrebna | low | routes:read, drivers:read |
Orders assigned to a driver on a given date (defaults to today). Useful for "what is driver X running today?" |
get_build_route_options
|
Potrebna | low | routes:read |
List routing engines, balance modes, capacity types, and defaults before calling build_route. |
build_route
confirm
|
Potrebna | high | routes:write |
Build/optimize a delivery route (POST /api/v3/client/build-route). HIGH-RISK: assigns orders to drivers. Call get_build_route_options first.... |
order_snapshot
|
Potrebna | low | orders:read |
One-call order context for support: order detail + operation events + public tracking (when tracking number is known). Pass order_id or trac... |
list_exceptions
|
Potrebna | low | orders:read |
List failed/returned/exception-like orders for a schedule date (default today). Read-only ops triage helper. |
get_shipping_methods
|
Potrebna | low | labels:read |
List available shipping carriers/methods. Returns IDs and names — use the ID for rate/label tools. |
get_shipping_rate
|
Potrebna | low | labels:read |
Get a shipping cost quote. Dry-run — no label created. Returns rate options with pricing and transit time. |
create_shipping_label
|
Potrebna | medium | labels:write |
Book a shipment with a carrier and generate a shipping label with tracking numbers. |
quote_and_ship
|
Potrebna | medium | labels:write |
One-shot: rate across all enabled carriers, pick the best one by strategy, create the shipping label, return tracking number. Saves 3+ tool... |
compare_all_carriers
|
Potrebna | low | labels:read |
Get rate quotes from every enabled carrier for the same shipment, in one call. Returns a sorted comparison (cheapest first) with price + tra... |
search_address
|
Potrebna | low | address:read |
Search and resolve addresses by postal code or free-text query. Returns structured address suggestions. |
daily_digest
|
Potrebna | low | analytics:read |
One-call summary of today's logistics activity: total orders, by status, exceptions (failed/returned), pending pickups. Designed as the firs... |
get_orders_summary
|
Potrebna | low | analytics:read |
Aggregate order metrics over a time window: counts by status, top carriers, on-time rate, exception count. Use period=today|week|month or pa... |
get_account_credits
|
Potrebna | low | analytics:read |
Get the authenticated customer's wallet balance, currency, and recent topup history. Customer (B2C) accounts only — returns an error for cli... |
get_warehouses
|
Potrebna | low | wms:read |
List WMS warehouses available to the authenticated business. |
get_inventory
|
Potrebna | low | wms:read |
Query WMS inventory (POST /api/v1/wms/inventory). Pass filters supported by the inventory API (sku, warehouse_id, etc.). |
list_datasets
|
Potrebna | low | datasets:read |
List custom datasets available to the business. |
get_dataset
|
Potrebna | low | datasets:read |
Get one dataset by id (metadata/columns). |
list_dataset_groups
|
Potrebna | low | datasets:read |
List groups inside a dataset. |
search_dataset_records
|
Potrebna | low | datasets:read |
Search records across groups in a dataset (POST .../search). |
list_alliances
|
Potrebna | low | alliance:read |
List alliances the authenticated business belongs to. |
get_alliance
|
Potrebna | low | alliance:read |
Get one alliance by id. |
list_alliance_members
|
Potrebna | low | alliance:read |
List members of an alliance. |
list_accessible_clients
|
Potrebna | low | alliance:read |
List clients accessible via alliance partnerships. |
quote_delivery
|
Potrebna | low | orders:read |
Get the local delivery price for a shipment before creating the order (POST /api/v1/orders/rate). No order is created. |
print_local_label
|
Potrebna | low | orders:read |
Get the printable label of a local delivery order as a base64 PDF, with its label code and tracking numbers (POST /api/v2/shipping/getShippi... |
bulk_create_orders_async
confirm
|
Potrebna | high | orders:write |
Queue a large batch of delivery orders for creation (POST /api/v1/client/batchOrderCreateAsync). Returns an asyncId at once; read the per-or... |
get_async_batch_result
|
Potrebna | low | orders:read |
Read the status and per-order results of a batch queued with bulk_create_orders_async (GET /api/v1/client/async/{id}). |
get_shipping_detail
confirm
|
Potrebna | high | labels:write |
Get the carrier shipping detail of a label order: tracking numbers, price and the label (POST /api/v1/labelservice/getShippingDetail). The f... |
download_shipping_label
confirm
|
Potrebna | high | labels:write |
Download the label PDF of an order as base64 (POST /api/v1/shipping/getShippingLabel with base64). For a carrier label order whose label was... |
cancel_shipping_label
confirm
|
Potrebna | high | labels:write |
Cancel (void) a carrier label with the carrier (POST /api/v1/labelservice/cancelShippingLabel). Pass the order id, or one package tracking n... |
submit_shipping_information
confirm
|
Potrebna | high | labels:write |
Submit the shipping information of one or more label orders to their carriers (POST /api/v1/labelservice/submitShippingInformation). |
end_of_day
confirm
|
Potrebna | high | labels:write |
Close the day with the carriers: submit the shipping information of every open label order (POST /api/v1/labelservice/endofday). |
uniorder_rate
|
Potrebna | low | uniorder:read |
Quote one shipment across self delivery and, with quote_labels=true, every label carrier service of the account (POST /api/v1/uniorder/rate)... |
uniorder_create
|
Potrebna | medium | uniorder:write |
Create an order at a rate_id from uniorder_rate (POST /api/v1/uniorder). The rate decides the service: a self delivery order, or a label ord... |
uniorder_get
|
Potrebna | low | uniorder:read |
Read one uniorder order in the uniorder shape (GET /api/v1/uniorder/{orderId}). |
uniorder_label
|
Potrebna | low | uniorder:read |
Get the label PDF of a uniorder order, base64 (GET /api/v1/uniorder/{orderId}/label). |
uniorder_tracking
|
Potrebna | low | uniorder:read |
Get the tracking timeline of a uniorder order (GET /api/v1/uniorder/{orderId}/tracking). |
uniorder_cancel
confirm
|
Potrebna | high | uniorder:write |
Cancel a uniorder order, self delivery or label (POST /api/v1/uniorder/{orderId}/cancel). A label order voids its carrier label. |
uniorder_purchase_label
confirm
|
Potrebna | high | uniorder:write |
Buy the carrier label of a uniorder label order that was kept without one (LABEL_PURCHASE_FAILED), at the service chosen at create or at a n... |
uniorder_rate_batch
|
Potrebna | low | uniorder:read |
Quote up to 20 shipments in one call (POST /api/v1/uniorder/rate/batch). Each shipment takes the uniorder_rate shape plus an optional refere... |
uniorder_create_batch
confirm
|
Potrebna | high | uniorder:write |
Create up to 20 orders in one call, each at its own rate_id (POST /api/v1/uniorder/batch). Returns a result per order. |
uniorder_rate_batch_async
|
Potrebna | low | uniorder:read |
Queue up to 500 shipments to quote (POST /api/v1/uniorder/rate/batch-async). Returns a job id; read the quotes with uniorder_job. |
uniorder_create_batch_async
confirm
|
Potrebna | high | uniorder:write |
Queue up to 500 orders to create, each at its own rate_id (POST /api/v1/uniorder/batch-async). Returns a job id; read the results with unior... |
uniorder_job
|
Potrebna | low | uniorder:read |
Read a queued uniorder batch and, once done, its results (GET /api/v1/uniorder/jobs/{jobId}). |
list_shipping_services
|
Potrebna | low | customer_shipping:read |
List the shipping services the customer may order (GET /api/v1/customer/shipping-orders/services). Step 1 of a shipping order. Needs a custo... |
get_shipping_service_config
|
Potrebna | low | customer_shipping:read |
Get one shipping service's order form: warehouses, surcharges, packaging, supplies, units and form fields (GET /api/v1/customer/shipping-ord... |
estimate_shipping_order
|
Potrebna | low | customer_shipping:read |
Estimate the price of a shipping order on a service (POST /api/v1/customer/shipping-orders/services/{serviceCode}/estimate-price). No order... |
create_shipping_order
|
Potrebna | medium | customer_shipping:write |
Create a shipping order on a service (POST /api/v1/customer/shipping-orders/services/{serviceCode}/orders). Note the package list field is `... |
pay_shipping_order
confirm
|
Potrebna | high | customer_shipping:write |
Pay the full remaining balance of a shipping order from the customer wallet (POST /api/v1/customer/shipping-orders/{id}/pay). A fully paid p... |
get_shipping_order
|
Potrebna | low | customer_shipping:read |
Get one shipping order of the customer (GET /api/v1/customer/shipping-orders/{id}). Needs a customer account token. |
list_shipping_orders
|
Potrebna | low | customer_shipping:read |
List the customer's shipping orders on one service, paginated (GET /api/v1/customer/shipping-orders/services/{serviceCode}/orders). Needs a... |
cancel_shipping_order
confirm
|
Potrebna | high | customer_shipping:write |
Cancel a pending or confirmed shipping order of the customer (POST /api/v1/customer/shipping-orders/{id}/cancel). Needs a customer account t... |
get_storage_order_config
|
Potrebna | low | storage:read |
Get what a storage order form needs: warehouses, packaging, supplies, pickup timeframes, units, surcharges and form fields (GET /api/v1/cust... |
quote_storage_order
|
Potrebna | low | storage:read |
Calculate the price of a storage order before creating it (POST /api/v1/customer/storage-orders/calculate-price). Storage order form fields... |
create_storage_order
|
Potrebna | medium | storage:write |
Create a storage order (POST /api/v1/customer/storage-orders). Storage order form fields as returned by get_storage_order_config: warehouse_... |
pay_storage_order
confirm
|
Potrebna | high | storage:write |
Pay a storage order from the customer wallet (POST /api/v1/customer/storage-orders/{id}/pay). Needs a customer account token. |
get_storage_order
|
Potrebna | low | storage:read |
Get one storage order of the customer, with can_edit, can_cancel and each package's received flag (GET /api/v1/customer/storage-orders/{id})... |
list_storage_orders
|
Potrebna | low | storage:read |
List the customer's storage orders, paginated (GET /api/v1/customer/storage-orders). Needs a customer account token. |
cancel_storage_order
confirm
|
Potrebna | high | storage:write |
Cancel a storage order of the customer while its status allows it (POST /api/v1/customer/storage-orders/{id}/cancel). Needs a customer accou... |
list_stored_packages
|
Potrebna | low | storage:read |
List the customer's stored packages that can be shipped out: received, not stocked out and not held by another ship-out, grouped by storage... |
list_shipout_services
|
Potrebna | low | storage:read |
List the shipping services that ship out from a warehouse (GET /api/v1/customer/shipout-orders/services). pricing_method 1 = priced at once,... |
estimate_shipout
|
Potrebna | low | storage:read |
Estimate the price of a ship-out (POST /api/v1/customer/shipout-orders/services/{serviceCode}/estimate). A manually priced service answers h... |
create_shipout
|
Potrebna | medium | storage:write |
Create a ship-out of stored packages from one warehouse (POST /api/v1/customer/shipout-orders/services/{serviceCode}/orders). The chosen pac... |
pay_shipout
confirm
|
Potrebna | high | storage:write |
Pay a priced ship-out from the customer wallet (POST /api/v1/customer/shipout-orders/{id}/pay). Default is the full remaining balance. Needs... |
get_shipout
|
Potrebna | low | storage:read |
Get one ship-out of the customer with paid amount, remaining balance, can_be_paid, can_be_cancelled and its packages (GET /api/v1/customer/s... |
list_shipouts
|
Potrebna | low | storage:read |
List the customer's ship-outs, paginated (GET /api/v1/customer/shipout-orders). Needs a customer account token. |
cancel_shipout
confirm
|
Potrebna | high | storage:write |
Cancel a pending or confirmed ship-out and release its stored packages (POST /api/v1/customer/shipout-orders/{id}/cancel). A payment is not... |
otep_client_tracking
|
Potrebna | low | orders:read |
Get the OTEP timeline and details (addresses, dates, proof of delivery, item counts) of one of your own shipments: a parcel tracking number,... |
otep_client_locker_storage
|
Potrebna | low | orders:read |
Get the OTEP timeline (storage profile) and details of one of your locker storage rentals, by rental id. Requires a token. |
Izaberite svog AI klijenta ispod za prilagođena uputstva za podešavanje:
Claude Code čita MCP konfiguraciju iz .mcp.json datoteke u korenu projekta ili home direktorijumu.
{
"mcpServers": {
"mili-express": {
"type": "url",
"url": "https://api.miliexpress.com/mcp"
}
}
}
Za korišćenje autentifikovanih alata, dodajte polje headers:
{
"mcpServers": {
"mili-express": {
"type": "url",
"url": "https://api.miliexpress.com/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>",
"X-MCP-Profile": "ops-readonly"
}
}
}
}
Cursor podržava MCP servere kroz svoju ugrađenu konfiguraciju.
{
"mcpServers": {
"mili-express": {
"type": "url",
"url": "https://api.miliexpress.com/mcp"
}
}
}
Windsurf koristi globalnu MCP konfiguracionu datoteku.
{
"mcpServers": {
"mili-express": {
"serverUrl": "https://api.miliexpress.com/mcp"
}
}
}
ChatGPT podržava MCP konekcije za Plus, Pro i Team korisnike.
https://api.miliexpress.com/mcp2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 https://api.miliexpress.com/.well-known/oauth-protected-resource