DHL Integration
Manage DHL track shipment, create shipment, get label, delete shipment, validate address
The DHL integration provides access to manage DHL track shipment, create shipment, get label, delete shipment, validate address through the Integrate MCP server.
Installation
The DHL integration is included with the SDK:
import { dhlIntegration } from "integrate-sdk/server";Setup
1. Create a DHL OAuth App
- Create an OAuth application for DHL
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the DHL integration to your server configuration. The integration automatically reads DHL_CLIENT_ID and DHL_CLIENT_SECRET from your environment variables:
import { createMCPServer, dhlIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
dhlIntegration({
scopes: ["shipping", "tracking"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
dhlIntegration({
clientId: process.env.CUSTOM_DHL_ID,
clientSecret: process.env.CUSTOM_DHL_SECRET,
scopes: ["shipping", "tracking"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("dhl");
const result = await client.dhl.trackShipment({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, dhlIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [dhlIntegration()],
});Configuration Options
export interface DhlIntegrationConfig {
clientId?: string;
Default Scopes
These defaults are applied unless you override scopes in the integration config:
shippingtracking
Tools
dhl_track_shipment
Track shipment
export interface DhlTrackShipmentParams { "trackingNumber"?: string;
dhl_create_shipment
Create shipment
export interface DhlCreateShipmentParams { shipment_json: string }
dhl_get_label
Get label
export interface DhlGetLabelParams { shipment_number: string }
dhl_delete_shipment
Delete shipment
export interface DhlDeleteShipmentParams { shipment_number: string }
dhl_validate_address
Validate address
export interface DhlValidateAddressParams { address_json: string }
Notes
- Category: Shipping & Logistics
- Authentication mode: OAuth