MCP
Connectez des agents IA en toute sécurité : User MCP pour les opérations, Developer MCP pour les intégrations — profils, confirm, dry-run et approbations.
Ce guide est la colonne MCP Superroute du Developer Center : les deux serveurs, la sécurité des agents et le catalogue d’outils en direct.
https://api.superlabel.ca/mcphttps://api.superlabel.ca/mcp/developerLe Model Context Protocol (MCP) est un standard ouvert qui permet aux assistants IA comme Claude, Cursor et ChatGPT d'interagir avec des outils et services externes. Il permet à votre IA d'effectuer des actions réelles — comme suivre un colis — directement dans la conversation.
En configurant le serveur MCP de Superroute, votre assistant IA accède aux outils logistiques sans quitter votre flux de travail.
Choisissez le bon serveur. Ne donnez pas le serveur Developer avec accès complet aux agents non supervisés.
| Nom du serveur | Point de terminaison | Public | Auth |
|---|---|---|---|
superroute |
https://api.superlabel.ca/mcp |
Agents ops / support / métier | Bearer + profil/scopes optionnels (plein accès si absent) |
superroute-developer |
https://api.superlabel.ca/mcp/developer |
Développeurs d’intégration et agents de code | Bearer de connexion préféré ; api_token d’outil en fin de vie |
Les outils publics comme le suivi de colis fonctionnent sans authentification. Ajoutez cette configuration à votre client MCP :
{
"mcpServers": {
"super-label": {
"type": "url",
"url": "https://api.superlabel.ca/mcp"
}
}
}
Pour utiliser les outils nécessitant des permissions utilisateur, ajoutez votre token Bearer API à la configuration :
Placez toujours les jetons dans les en-têtes de connexion MCP — jamais dans les arguments d’outil ni les prompts.
{
"mcpServers": {
"super-label": {
"type": "url",
"url": "https://api.superlabel.ca/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>",
"X-MCP-Profile": "ops-readonly"
}
}
}
}
Appelez le point de terminaison de connexion avec vos identifiants :
curl -X POST https://api.superlabel.ca/api/v1/user/login \ -H "Content-Type: application/json" \ -d '{"email": "you@example.com", "password": "your-password"}'
La réponse inclura votre token d'accès :
{
"access_token": "eyJ0eXAiOiJKV1Qi...",
"token_type": "Bearer",
"expires_at": "2026-02-20 00:00:00"
}
Utilisez la valeur access_token dans l'en-tête Authorization de votre configuration MCP.
User MCP est conçu pour le moindre privilège. Créez des jetons avec un profil MCP (défaut : ops lecture seule) ou passez des en-têtes.
Paquets de scopes nommés. Préférez ops-readonly ou support pour agents non supervisés.
| Profil | Libellé | Scopes |
|---|---|---|
ops-readonly |
Ops lecture seule | orders:read, labels:read, routes:read, drivers:read, analytics:read, address:read, approvals:read |
support |
Support (service client) | orders:read, analytics:read, address:read, approvals:read |
ops-write |
Ops écriture (commandes + étiquettes + tournées) | 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 lecture seule | wms:read, orders:read |
datasets-readonly |
Jeux de données lecture seule | datasets:read |
alliance-readonly |
Alliance lecture seule | alliance:read |
full |
Accès complet (tous les outils MCP) — pas pour agents non supervisés | * |
{
"mcpServers": {
"super-label": {
"type": "url",
"url": "https://api.superlabel.ca/mcp",
"headers": {
"Authorization": "Bearer <ops-readonly-token>",
"X-MCP-Profile": "ops-readonly"
}
}
}
}
| En-tête | Objectif |
|---|---|
Authorization: Bearer … | Jeton Bearer API (niveau connexion). |
X-MCP-Profile | Profil nommé : ops-readonly, support, ops-write, wms-readonly, datasets-readonly, alliance-readonly, full. |
X-MCP-Scopes | Scopes explicites séparés par des virgules (remplace le profil). |
X-MCP-Dry-Run: 1 | Prévisualiser les écritures sans mutation. |
X-MCP-Require-Approval: 1 | Mettre les écritures à haut risque en file d’approbation humaine. |
Ces outils exigent confirm=true sur tools/call (ou la file d’approbation) :
cancel_orderbulk_create_ordersreroute_to_addressbuild_routehold_orderrelease_orderapprove_pending_writeLes agents non supervisés doivent proposer les écritures ; un humain approuve.
Chemin UI web (connexion requise) : /mcp-approvals
Préférez Authorization: Bearer sur la connexion. api_token par outil est déprécié et coupé après 2026-12-31.
Les outils suivants sont actuellement disponibles sur le serveur MCP : 47 outils live du catalogue serveur
Ce tableau est généré depuis UserMcpToolCatalog à la volée et reste synchronisé avec tools/list.
| Outil | Authentification | Risque | Scopes | Descriptif |
|---|---|---|---|---|
track_package
|
Publique | low | — |
Track a package by its tracking number. Returns delivery status, tracking events timeline, and proof of delivery if available. |
otep_tracking
|
Publique | low | — |
Get the unified OTEP (Open Tracking Event Protocol) timeline for a tracking number — self-delivery, third-party and carrier events normalize... |
get_capabilities
|
Publique | 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
|
Requise | low | orders:read |
List orders with filtering and pagination. Returns order details including status, tracking, and delivery info. |
get_order_detail
|
Requise | low | orders:read |
Get full details of a specific order by ID, including address, status, packages, and tracking info. |
find_order
|
Requise | 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
|
Requise | low | orders:read |
Get the full audit trail for orders — every status change, who performed it, GPS coordinates, and photos. |
create_order
|
Requise | 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
|
Requise | high | orders:write |
Cancel an existing order by order ID. Only works for orders not yet delivered. |
bulk_create_orders
confirm
|
Requise | 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
|
Requise | 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
|
Requise | medium | orders:write |
Update only the delivery_instruction field on an existing order (PATCH). Safer than full order rewrite. |
update_order_note
|
Requise | medium | orders:write |
Update only the internal note field on an existing order (PATCH). |
update_time_window_by_refs
|
Requise | medium | orders:write |
Bulk-update delivery time windows (and optional schedule_date) for orders identified by external refs. |
hold_order
confirm
|
Requise | high | orders:write |
Put an order on HOLD so it is not dispatched until release_order. HIGH-RISK: requires confirm=true. |
release_order
confirm
|
Requise | high | orders:write |
Release an order from HOLD back to NEW_ORDER. HIGH-RISK: requires confirm=true. |
propose_write
|
Requise | 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
|
Requise | low | approvals:read |
List pending MCP write approvals for this business (or mine_only). |
approve_pending_write
confirm
|
Requise | 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
|
Requise | medium | approvals:write |
Reject a pending write proposal without executing it. |
get_routes
|
Requise | low | routes:read |
List delivery routes with their status, assigned driver, and order count. |
get_route_detail
|
Requise | low | routes:read |
Get one route with its stop/order list. Prefer this over get_routes when you already know route_id. |
get_drivers
|
Requise | 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
|
Requise | 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
|
Requise | low | routes:read |
List routing engines, balance modes, capacity types, and defaults before calling build_route. |
build_route
confirm
|
Requise | 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
|
Requise | 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
|
Requise | low | orders:read |
List failed/returned/exception-like orders for a schedule date (default today). Read-only ops triage helper. |
get_shipping_methods
|
Requise | low | labels:read |
List available shipping carriers/methods. Returns IDs and names — use the ID for rate/label tools. |
get_shipping_rate
|
Requise | low | labels:read |
Get a shipping cost quote. Dry-run — no label created. Returns rate options with pricing and transit time. |
create_shipping_label
|
Requise | medium | labels:write |
Book a shipment with a carrier and generate a shipping label with tracking numbers. |
quote_and_ship
|
Requise | 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
|
Requise | 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
|
Requise | low | address:read |
Search and resolve addresses by postal code or free-text query. Returns structured address suggestions. |
daily_digest
|
Requise | 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
|
Requise | 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
|
Requise | 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
|
Requise | low | wms:read |
List WMS warehouses available to the authenticated business. |
get_inventory
|
Requise | low | wms:read |
Query WMS inventory (POST /api/v1/wms/inventory). Pass filters supported by the inventory API (sku, warehouse_id, etc.). |
list_datasets
|
Requise | low | datasets:read |
List custom datasets available to the business. |
get_dataset
|
Requise | low | datasets:read |
Get one dataset by id (metadata/columns). |
list_dataset_groups
|
Requise | low | datasets:read |
List groups inside a dataset. |
search_dataset_records
|
Requise | low | datasets:read |
Search records across groups in a dataset (POST .../search). |
list_alliances
|
Requise | low | alliance:read |
List alliances the authenticated business belongs to. |
get_alliance
|
Requise | low | alliance:read |
Get one alliance by id. |
list_alliance_members
|
Requise | low | alliance:read |
List members of an alliance. |
list_accessible_clients
|
Requise | low | alliance:read |
List clients accessible via alliance partnerships. |
Sélectionnez votre client IA ci-dessous pour des instructions de configuration adaptées :
Claude Code lit la configuration MCP depuis un fichier .mcp.json à la racine du projet ou dans le répertoire personnel.
{
"mcpServers": {
"super-label": {
"type": "url",
"url": "https://api.superlabel.ca/mcp"
}
}
}
Pour utiliser les outils authentifiés, ajoutez le champ headers :
{
"mcpServers": {
"super-label": {
"type": "url",
"url": "https://api.superlabel.ca/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>",
"X-MCP-Profile": "ops-readonly"
}
}
}
}
Cursor prend en charge les serveurs MCP via sa configuration intégrée.
{
"mcpServers": {
"super-label": {
"type": "url",
"url": "https://api.superlabel.ca/mcp"
}
}
}
Windsurf utilise un fichier de configuration MCP global.
{
"mcpServers": {
"super-label": {
"serverUrl": "https://api.superlabel.ca/mcp"
}
}
}
ChatGPT prend en charge les connexions MCP pour les utilisateurs Plus, Pro et Team.
https://api.superlabel.ca/mcp2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 https://api.superlabel.ca/.well-known/oauth-protected-resource