Skip to main content
Glama
benbonn

Jokes MCP Server

by benbonn

DHL Shipment Tracking MCP Server 🚚📦

Powered by Microsoft Copilot Studio ❤️ MCP

This project provides an MCP (Model Context Protocol) Server exposing a DHL Shipment Tracking tool that can be used by Microsoft Copilot Studio, GitHub Copilot Agents, or any other MCP‑compatible client.

It is based on the official Microsoft MCP Streamable HTTP Template, but the server logic has been replaced with a production‑ready DHL shipment tracking integration.


✨ What This Server Does

The server exposes one MCP Tool: track-shipment

🔧 track-shipment

Tracks a DHL shipment using the official DHL Shipment Tracking - Unified API. https://developer.dhl.com/api-reference/shipment-tracking

Parameters:

Name

Type

Description

trackingNumber

string

The DHL tracking number

apiKey

string

User-provided DHL API key

Response:
Formatted JSON output from the DHL API, suitable for LLM processing.


Related MCP server: Jokes MCP Server

⚙️ How It Works

The server is built on:

  • Express.js for HTTP routing

  • Model Context Protocol SDK for defining tools

  • Streamable HTTP Transport for Copilot Studio compatibility

  • Zod for schema validation

MCP clients communicate via:

POST /mcp

If you open /mcp in the browser, seeing this means the server is working:

{"jsonrpc":"2.0","error":{"code":-32000,"message":"Method not allowed."},"id":null}


📁 Project Structure

src/
server.ts ← DHL MCP server implementation
assets/ ← Optional images
infra/ ← Azure deployment template (from Microsoft)
README.md


🏃‍♂️ Run the MCP Server Locally

Install and start:

npm install
npm run build && npm run start

Server runs on:

http://localhost:3000

  1. Start the server

  2. Open VS Code Terminal → PORTS

  3. Forward port 3000

  4. Set visibility to Public

  5. Use the forwarded URL ending in /mcp, e.g.:

https://abc-3000.devtunnels.ms/mcp


🌐 Deploy to Azure (Optional)

Login:

azd auth login

Deploy:

azd up

Remove everything later:

azd down


🤖 Using the DHL MCP Server in Visual Studio Code

  1. Open Command Palette

  2. Run: MCP: Add Server

  3. Choose HTTP / SSE

  4. Enter your URL ending in /mcp

  5. Name it e.g. DHLTracking

  6. Open GitHub Copilot → Agent Mode

  7. Enable the tool

Ask:

Track shipment 00340434161234567890 using API key XYZ.


🧠 Use in Microsoft Copilot Studio

  1. Open Custom Connectors

  2. Import from GitHub

  3. Set the connector host to your tunnel/Azure URL

  4. Create or open an Agent

  5. Add the MCP Server under Tools → Model Context Protocol

  6. Create a connection

  7. Test with:

Track shipment 00340434161234567890.


🔐 Authentication Notes

The user must provide their own DHL API key.
The server does not store, log, or cache the API key.


📦 Example MCP Tool Invocation

{ "method": "tools.call", "params": { "name": "track-shipment", "arguments": { "trackingNumber": "0034043416XXXXXXX", "apiKey": "<YOUR_KEY>" } } }


🧰 Template Reference

This project is originally based on:

Microsoft MCP Streamable HTTP Template
https://github.com/microsoft/mcsmcp

Only the server logic was replaced to support DHL tracking.


🗣 Feedback & Contributions

Contributions are welcome.
For Microsoft MCP feedback, use the upstream template repo.


™ Trademarks

DHL trademarks belong to DHL and are used only for demo/integration purposes.
Microsoft trademarks follow Microsoft’s standard brand guidelines.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/benbonn/utapimcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server