UPS MCP Server

Un servidor MCP para acceder a los servicios de envío y logística de UPS.

Documentación

UPS MCP Server

Un servidor de Model Context Protocol (MCP) para capacidades de envío y logística de UPS. Este servidor permite que los sistemas de IA se integren sin problemas con las herramientas de la API de UPS.

Los usuarios pueden integrarse con el servidor MCP para permitir que los agentes de IA faciliten eventos de seguimiento en su nombre, incluido el seguimiento del estado de un envío, la pantalla de tránsito más reciente y la fecha y hora de entrega esperadas. Los agentes se autenticarán utilizando credenciales de cliente OAuth proporcionadas por el usuario después de la creación de la aplicación en el Portal de desarrolladores de UPS.

Uso

Requisitos previos

  • Obtenga un ID de cliente y un Secreto de cliente: Cree una aplicación en el Portal de desarrolladores de UPS para obtener sus credenciales OAuth – ID de cliente y Secreto de cliente. (https://developer.ups.com/get-started?loc=en_US)
  • Python 3.12 o superior
  • Instale uv (paquete de Python)

Variables de entorno

  • CLIENT_ID - ID de cliente de UPS
  • CLIENT_SECRET - Secreto de cliente de UPS
  • ENVIRONMENT - Si apuntar a Prueba (CIE) o Producción (Valores aceptados: test, production)

Nota: Sus credenciales de API son sensibles. No las comprometa en el control de versiones. Recomendamos gestionar los secretos de forma segura utilizando GitHub Secrets, una bóveda o un gestor de contraseñas.

Ejecución

Puede ejecutar el paquete usando uvx:

uvx --from git+https://github.com/UPS-API/ups-mcp ups-mcp

To use an older version, you can specify the version number like so:

uvx --from git+https://github.com/UPS-API/ups-mcp@v1.0.0 ups-mcp

Popular Integrations

Here are sample config files for popular integrations. Different MCP Clients may require modification.

Claude Desktop

{
  "mcpServers": {
    "ups-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "git+https://github.com/UPS-API/ups-mcp", "ups-mcp"],
      "env": {
        "CLIENT_ID": "**********",
        "CLIENT_SECRET": "**********",
        "ENVIRONMENT": "test"
      }
    }
  }
}

GitHub Copilot en VS Code

{
  "servers": {
    "ups-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "git+https://github.com/UPS-API/ups-mcp", "ups-mcp"],
      "env": {
        "CLIENT_ID": "**********",
        "CLIENT_SECRET": "**********",
        "ENVIRONMENT": "test"
      }
    }
  }
}

Herramientas disponibles

  • track_package: Rastrear un paquete usando la API de seguimiento de UPS

    Args:

    • inquiryNumber (str): el identificador único del paquete. Cada número de consulta debe tener entre 7 y 34 caracteres de longitud. Obligatorio.
    • locale (str): Código de idioma y país del usuario, separados por un guion bajo. El valor predeterminado es 'en_US'. No obligatorio.
    • returnSignature (bool): un booleano para indicar si se requiere una firma, el valor predeterminado es false. No obligatorio.
    • returnMilestones (bool): un booleano para indicar si se requiere información detallada sobre los movimientos de un paquete, el valor predeterminado es false. No obligatorio
    • returnPOD (bool): un booleano para indicar si se requiere una prueba de entrega, el valor predeterminado es false. No obligatorio

    Returns:

    • str: La respuesta de la capacidad de seguimiento, esta es una cadena de datos de seguimiento en json.
  • validate_address: Validar una dirección usando la API de validación de direcciones de UPS para EE. UU. o Puerto Rico

    Args:

    • addressLine1 (str): Los detalles de la dirección principal, incluidos el número de casa o edificio y el nombre de la calle, p. ej., 123 Main St. Obligatorio.
    • addressLine2 (str): Información adicional como números de apartamento o suite, p. ej., Apt 4B. No obligatorio.
    • politicalDivision1 (str): El código de estado o provincia de dos letras, p. ej., GA para Georgia. Obligatorio.
    • politicalDivision2 (str): El nombre de la ciudad o pueblo, p. ej., Springfield. Obligatorio.
    • zipPrimary (str): El código postal. Obligatorio.
    • zipExtended (str): Extensión de código postal de 4 dígitos. Solo para uso en EE. UU. No obligatorio.
    • urbanization (str): División política 3 de Puerto Rico. Solo válido para Puerto Rico. No obligatorio.
    • countryCode (str): El código de país, p. ej., US. Obligatorio.

    Returns:

    • str: El cuerpo de respuesta json de la API de validación de direcciones

El servidor UPS MCP aún está en desarrollo activo. ¡Más herramientas próximamente!