MCP

Columna MCP

Conecte agentes de IA con seguridad: User MCP para operaciones, Developer MCP para integraciones — con perfiles, confirm, dry-run y aprobaciones.

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

Resumen de la columna MCP

Esta guía es la columna MCP de Superroute en el Centro de Desarrolladores: ambos servidores, seguridad de agentes y el catálogo de herramientas en vivo.

¿Qué es MCP?

El Protocolo de Contexto de Modelo (MCP) es un estándar abierto que permite a asistentes de IA como Claude, Cursor y ChatGPT interactuar con herramientas y servicios externos. Permite que su IA realice acciones reales, como rastrear un paquete, directamente dentro de la conversación.

Al configurar el servidor MCP de Superroute, su asistente de IA obtiene acceso a herramientas logísticas sin abandonar su flujo de trabajo.

Dos servidores MCP

Use el servidor adecuado. No dé a agentes desatendidos el servidor Developer con acceso total.

Nombre del servidor Endpoint Audiencia Auth
superroute https://api.superlabel.ca/mcp Agentes de ops / soporte / negocio Bearer + perfil/scopes opcionales (completo si no se define)
superroute-developer https://api.superlabel.ca/mcp/developer Desarrolladores de integración y agentes de código Bearer de conexión preferido; api_token en tools se retira

Inicio rápido

Las herramientas públicas como el rastreo de paquetes funcionan sin autenticación. Agregue esta configuración a su cliente MCP:

JSON
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp"
    }
  }
}
¡Pruébelo! Después de la configuración, pregunte a su asistente de IA: "Rastrear paquete SR100012345"

Acceso autenticado

Para usar herramientas que requieren permisos de usuario, agregue su token Bearer de API a la configuración:

Ponga los tokens solo en los encabezados de conexión MCP — nunca en argumentos de herramientas ni prompts.

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

Cómo obtener un token de API

Llame al endpoint de inicio de sesión con sus credenciales:

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 respuesta incluirá su token de acceso:

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

Use el valor de access_token en el encabezado Authorization de su configuración MCP.

Modelo de seguridad del agente

User MCP está pensado para privilegio mínimo. Cree tokens con perfil MCP (predeterminado: ops solo lectura) o pase headers.

Perfiles (X-MCP-Profile)

Paquetes de scopes con nombre. Prefiera ops-readonly o support para agentes desatendidos.

Perfil Etiqueta Scopes
ops-readonly Ops solo lectura orders:read, labels:read, routes:read, drivers:read, analytics:read, address:read, approvals:read
support Soporte (atención al cliente) orders:read, analytics:read, address:read, approvals:read
ops-write Ops escritura (pedidos + etiquetas + rutas) 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 solo lectura wms:read, orders:read
datasets-readonly Datasets solo lectura datasets:read
alliance-readonly Alianza solo lectura alliance:read
full Acceso completo (todas las herramientas MCP) — no para agentes desatendidos *
.mcp.json — configuración de agente recomendada
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp",
      "headers": {
        "Authorization": "Bearer <ops-readonly-token>",
        "X-MCP-Profile": "ops-readonly"
      }
    }
  }
}

Encabezados opcionales

Header Propósito
Authorization: Bearer …Token Bearer de API (nivel de conexión).
X-MCP-ProfilePerfil: ops-readonly, support, ops-write, wms-readonly, datasets-readonly, alliance-readonly, full.
X-MCP-ScopesScopes explícitos separados por comas (anula el perfil).
X-MCP-Dry-Run: 1Previsualizar escrituras sin mutar.
X-MCP-Require-Approval: 1Encolar escrituras de alto riesgo para aprobación humana.

Confirmación de alto riesgo

Estas herramientas requieren confirm=true en tools/call (o la cola de aprobación):

Cola de aprobación humana

Los agentes desatendidos deben proponer escrituras; un humano aprueba.

  1. Agente: propose_write o X-MCP-Require-Approval: 1
  2. Humano: MCP Approvals en la app o list_pending_approvals
  3. Humano: approve_pending_write con confirm=true o reject_pending_write

Ruta de la UI web (requiere inicio de sesión): /mcp-approvals

Autenticación Developer MCP

Prefiera Authorization: Bearer en la conexión. api_token por herramienta está obsoleto y se corta tras 2026-12-31.

Herramientas disponibles

Las siguientes herramientas están actualmente disponibles en el servidor MCP: 47 herramientas en vivo del catálogo del servidor

Esta tabla se genera desde UserMcpToolCatalog en tiempo de solicitud y se mantiene sincronizada con tools/list.

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

Configuración por cliente

Seleccione su cliente de IA a continuación para obtener instrucciones de configuración específicas:

Claude Code

Claude Code lee la configuración MCP de un archivo .mcp.json en la raíz del proyecto o en el directorio principal.

  1. Cree un archivo .mcp.json en la raíz de su proyecto (o ~/.claude/.mcp.json para acceso global).
  2. Agregue la siguiente configuración:
.mcp.json
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp"
    }
  }
}

Para usar herramientas autenticadas, agregue el campo headers:

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

Cursor

Cursor soporta servidores MCP a través de su configuración integrada.

  1. Cree un archivo .cursor/mcp.json en la raíz de su proyecto.
  2. Agregue la siguiente configuración:
  3. Reinicie Cursor para cargar el nuevo servidor MCP.
.cursor/mcp.json
{
  "mcpServers": {
    "super-label": {
      "type": "url",
      "url": "https://api.superlabel.ca/mcp"
    }
  }
}

Windsurf

Windsurf usa un archivo de configuración MCP global.

  1. Edite ~/.codeium/windsurf/mcp_config.json (créelo si no existe).
  2. Agregue la siguiente configuración:
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "super-label": {
      "serverUrl": "https://api.superlabel.ca/mcp"
    }
  }
}

ChatGPT

ChatGPT soporta conexiones MCP para usuarios Plus, Pro y Team.

  1. Abra ChatGPT y vaya a Configuración.
  2. Navegue a la sección "Aplicaciones conectadas" o "Herramientas".
  3. Agregue un nuevo servidor MCP con la URL del endpoint mostrada arriba.
El soporte MCP de ChatGPT puede variar según su plan y región. Consulte la documentación de OpenAI para obtener las instrucciones más recientes.

Detalles técnicos