MCP

Colonna MCP

Collega agenti AI in sicurezza: User MCP per le operazioni, Developer MCP per le integrazioni — profili, confirm, dry-run e approvazioni.

MCP track_package(tracking_number) Tool
RPC tools/list JSON-RPC 2.0
RPC tools/call JSON-RPC 2.0
Documentation

Panoramica colonna MCP

Questa guida è la colonna MCP Superroute nel Developer Center: entrambi i server, sicurezza degli agenti e catalogo strumenti live.

Cos'è MCP?

Il Model Context Protocol (MCP) è uno standard aperto che consente agli assistenti IA come Claude, Cursor e ChatGPT di interagire con strumenti e servizi esterni. Permette alla tua IA di eseguire azioni reali — come tracciare un pacco — direttamente nella conversazione.

Configurando il server MCP di Superroute, il tuo assistente IA ottiene accesso agli strumenti logistici senza lasciare il tuo flusso di lavoro.

Due server MCP

Usa il server giusto. Non dare agli agenti non supervisionati il server Developer con accesso completo.

Nome server Endpoint Pubblico Auth
superroute https://api.superlabel.ca/mcp Agenti ops / support / business Bearer + profilo/scope opzionali (pieno se assente)
superroute-developer https://api.superlabel.ca/mcp/developer Sviluppatori di integrazione e agenti di coding Bearer di connessione preferito; api_token nei tool in sunset

Avvio rapido

Gli strumenti pubblici come il tracciamento dei pacchi funzionano senza autenticazione. Aggiungi questa configurazione al tuo client MCP:

JSON
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp"
    }
  }
}
Provalo! Dopo la configurazione, chiedi al tuo assistente IA: "Traccia il pacco SR100012345"

Accesso autenticato

Per utilizzare strumenti che richiedono permessi utente, aggiungi il tuo token Bearer API alla configurazione:

Metti i token solo negli header di connessione MCP — mai negli argomenti dei tool o nei prompt.

JSON
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp",
      "headers": {
        "Authorization": "Bearer <your-api-token>",
        "X-MCP-Profile": "ops-readonly"
      }
    }
  }
}

Come ottenere un token API

Chiama l'endpoint di login con le tue credenziali:

Bash
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 risposta includerà il tuo token di accesso:

JSON Response
{
  "access_token": "eyJ0eXAiOiJKV1Qi...",
  "token_type": "Bearer",
  "expires_at": "2026-02-20 00:00:00"
}

Usa il valore access_token nell'intestazione Authorization della tua configurazione MCP.

Modello di sicurezza agenti

User MCP è pensato per least privilege. Crea token con profilo MCP (default ops sola lettura) o passa header.

Profili (X-MCP-Profile)

Pacchetti di scope con nome. Preferire ops-readonly o support per agenti non supervisionati.

Profilo Etichetta Scope
ops-readonly Ops sola lettura orders:read, labels:read, routes:read, drivers:read, analytics:read, address:read, approvals:read
support Supporto (servizio clienti) orders:read, analytics:read, address:read, approvals:read
ops-write Ops scrittura (ordini + etichette + percorsi) 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 sola lettura wms:read, orders:read
datasets-readonly Dataset sola lettura datasets:read
alliance-readonly Alleanza sola lettura alliance:read
full Accesso completo (tutti gli strumenti MCP) — non per agenti non supervisionati *
.mcp.json — config agente consigliata
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp",
      "headers": {
        "Authorization": "Bearer <ops-readonly-token>",
        "X-MCP-Profile": "ops-readonly"
      }
    }
  }
}

Header opzionali

Header Scopo
Authorization: Bearer …Token Bearer API (livello connessione).
X-MCP-ProfileProfilo: ops-readonly, support, ops-write, wms-readonly, datasets-readonly, alliance-readonly, full.
X-MCP-ScopesScope espliciti separati da virgola (sovrascrive il profilo).
X-MCP-Dry-Run: 1Anteprima scrittura senza mutazioni.
X-MCP-Require-Approval: 1Accoda le scritture ad alto rischio per approvazione umana.

Conferma alto rischio

Questi tool richiedono confirm=true su tools/call (o la coda di approvazione):

Coda di approvazione umana

Gli agenti non supervisionati propongono le scritture; un umano approva.

  1. Agente: propose_write o X-MCP-Require-Approval: 1
  2. Umano: MCP Approvals nell’app o list_pending_approvals
  3. Umano: approve_pending_write con confirm=true o reject_pending_write

Percorso UI web (login richiesto): /mcp-approvals

Autenticazione Developer MCP

Preferisci Authorization: Bearer sulla connessione. api_token per tool è deprecato e tagliato dopo 2026-12-31.

Strumenti disponibili

I seguenti strumenti sono attualmente disponibili sul server MCP: 47 tool live dal catalogo server

Questa tabella è generata da UserMcpToolCatalog a runtime e resta allineata a tools/list.

Strumento Autenticazione Rischio Scope Descrizione
track_package Pubblico low Track a package by its tracking number. Returns delivery status, tracking events timeline, and proof of delivery if available.
otep_tracking Pubblico low Get the unified OTEP (Open Tracking Event Protocol) timeline for a tracking number — self-delivery, third-party and carrier events normalize...
get_capabilities Pubblico 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 Richiesta low orders:read List orders with filtering and pagination. Returns order details including status, tracking, and delivery info.
get_order_detail Richiesta low orders:read Get full details of a specific order by ID, including address, status, packages, and tracking info.
find_order Richiesta 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 Richiesta low orders:read Get the full audit trail for orders — every status change, who performed it, GPS coordinates, and photos.
create_order Richiesta 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 Richiesta high orders:write Cancel an existing order by order ID. Only works for orders not yet delivered.
bulk_create_orders confirm Richiesta 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 Richiesta 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 Richiesta medium orders:write Update only the delivery_instruction field on an existing order (PATCH). Safer than full order rewrite.
update_order_note Richiesta medium orders:write Update only the internal note field on an existing order (PATCH).
update_time_window_by_refs Richiesta medium orders:write Bulk-update delivery time windows (and optional schedule_date) for orders identified by external refs.
hold_order confirm Richiesta high orders:write Put an order on HOLD so it is not dispatched until release_order. HIGH-RISK: requires confirm=true.
release_order confirm Richiesta high orders:write Release an order from HOLD back to NEW_ORDER. HIGH-RISK: requires confirm=true.
propose_write Richiesta 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 Richiesta low approvals:read List pending MCP write approvals for this business (or mine_only).
approve_pending_write confirm Richiesta 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 Richiesta medium approvals:write Reject a pending write proposal without executing it.
get_routes Richiesta low routes:read List delivery routes with their status, assigned driver, and order count.
get_route_detail Richiesta low routes:read Get one route with its stop/order list. Prefer this over get_routes when you already know route_id.
get_drivers Richiesta 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 Richiesta 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 Richiesta low routes:read List routing engines, balance modes, capacity types, and defaults before calling build_route.
build_route confirm Richiesta 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 Richiesta 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 Richiesta low orders:read List failed/returned/exception-like orders for a schedule date (default today). Read-only ops triage helper.
get_shipping_methods Richiesta low labels:read List available shipping carriers/methods. Returns IDs and names — use the ID for rate/label tools.
get_shipping_rate Richiesta low labels:read Get a shipping cost quote. Dry-run — no label created. Returns rate options with pricing and transit time.
create_shipping_label Richiesta medium labels:write Book a shipment with a carrier and generate a shipping label with tracking numbers.
quote_and_ship Richiesta 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 Richiesta 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 Richiesta low address:read Search and resolve addresses by postal code or free-text query. Returns structured address suggestions.
daily_digest Richiesta 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 Richiesta 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 Richiesta 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 Richiesta low wms:read List WMS warehouses available to the authenticated business.
get_inventory Richiesta low wms:read Query WMS inventory (POST /api/v1/wms/inventory). Pass filters supported by the inventory API (sku, warehouse_id, etc.).
list_datasets Richiesta low datasets:read List custom datasets available to the business.
get_dataset Richiesta low datasets:read Get one dataset by id (metadata/columns).
list_dataset_groups Richiesta low datasets:read List groups inside a dataset.
search_dataset_records Richiesta low datasets:read Search records across groups in a dataset (POST .../search).
list_alliances Richiesta low alliance:read List alliances the authenticated business belongs to.
get_alliance Richiesta low alliance:read Get one alliance by id.
list_alliance_members Richiesta low alliance:read List members of an alliance.
list_accessible_clients Richiesta low alliance:read List clients accessible via alliance partnerships.

Configurazione per client

Seleziona il tuo client IA qui sotto per istruzioni di configurazione personalizzate:

Claude Code

Claude Code legge la configurazione MCP da un file .mcp.json nella root del progetto o nella directory home.

  1. Crea un file .mcp.json nella root del tuo progetto (o ~/.claude/.mcp.json per l'accesso globale).
  2. Aggiungi la seguente configurazione:
.mcp.json
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp"
    }
  }
}

Per utilizzare strumenti autenticati, aggiungi il campo headers:

.mcp.json (con autenticazione)
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp",
      "headers": {
        "Authorization": "Bearer <your-api-token>",
        "X-MCP-Profile": "ops-readonly"
      }
    }
  }
}

Cursor

Cursor supporta i server MCP tramite la sua configurazione integrata.

  1. Crea un file .cursor/mcp.json nella root del tuo progetto.
  2. Aggiungi la seguente configurazione:
  3. Riavvia Cursor per caricare il nuovo server MCP.
.cursor/mcp.json
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp"
    }
  }
}

Windsurf

Windsurf utilizza un file di configurazione MCP globale.

  1. Modifica ~/.codeium/windsurf/mcp_config.json (crealo se non esiste).
  2. Aggiungi la seguente configurazione:
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "super-label": {
      "serverUrl": "https://api.superlabel.ca/mcp"
    }
  }
}

ChatGPT

ChatGPT supporta le connessioni MCP per gli utenti Plus, Pro e Team.

  1. Apri ChatGPT e vai nelle Impostazioni.
  2. Naviga alla sezione "App connesse" o "Strumenti".
  3. Aggiungi un nuovo server MCP con l'URL dell'endpoint mostrato sopra.
Il supporto MCP di ChatGPT può variare in base al tuo piano e alla tua regione. Consulta la documentazione OpenAI per le istruzioni più recenti.

Dettagli tecnici