Skip to main content
Glama

Parcel Pilot MCP uses Playwright Chromium to save your personal browser login state, and then provides package data to AI clients via MCP. You can ask questions like this:

查询我所有待收货快递
今天有没有已经签收的包裹?
帮我查一下上周淘宝订单的物流进度

It is suitable for personal use and can run locally on a Mac or on your own Linux server. It is not an official open API integration for Taobao, JD, or Cainiao.

Key Features

Feature

Description

Local-first login

QR code login happens within your own Playwright Chromium profile.

AI-callable

Exposes get_my_packages, track_package, and get_delivered_today via MCP stdio.

Unified multi-platform model

Taobao, JD, and Cainiao data are normalized into a consistent package record format.

Local or Server-side

Supports local macOS execution and Docker deployment to private Linux servers.

No risk-control bypass

CAPTCHAs, SMS, sliders, and risk alerts must be handled manually by you.

Related MCP server: UU跑腿 MCP Server

Response Example

{
  "packages": [
    {
      "id": "taobao-1234567890",
      "source": "taobao",
      "title": "USB-C 数据线",
      "status": "in_transit",
      "carrier": "菜鸟",
      "trackingNumber": "YT123456789CN",
      "lastEvent": "运输中预计今天送达",
      "updatedAt": "2026-05-08T09:00:00.000+08:00"
    }
  ]
}

Platform Status

Platform

Status

Notes

Taobao

Browser login state parser available

Parses the "Purchased Items" order page; extracts order-level logistics summaries, e.g., "In transit, expected delivery today".

JD

Browser login state adapter framework available

Login and session structure integrated; real page selectors require further verification with a personal account.

Cainiao

Browser login state adapter framework available

Login and session structure integrated; real page selectors require further verification with a personal account.

E-commerce site pages change frequently, and parsers will need to be maintained based on actual page structures.

Quick Start

npm install
npm run build

Playwright installs Chromium during npm install. If system dependencies are missing on Linux, you can run:

npx playwright install-deps chromium

Copy .env.example to .env:

PACKAGE_ASSISTANT_DATA_DIR=./data
PACKAGE_ASSISTANT_PROFILE_DIR=./browser-profiles
PACKAGE_ASSISTANT_ARTIFACT_DIR=./var
PACKAGE_ASSISTANT_HEADLESS=true
PACKAGE_ASSISTANT_TIMEZONE=Asia/Shanghai

For the first login on macOS, it is recommended to open a visible browser:

PACKAGE_ASSISTANT_HEADLESS=false node dist/cli/open-login-browser.js taobao

After scanning the QR code and completing necessary verification, sync and query:

node dist/cli/call-tool.js sync_packages '{"source":"taobao"}'
node dist/cli/call-tool.js get_my_packages
node dist/cli/call-tool.js track_package '{"packageId":"taobao-ORDER_ID"}'

MCP Client Configuration

Any client that supports MCP stdio can be configured as follows:

{
  "mcpServers": {
    "parcel-pilot": {
      "command": "node",
      "args": ["/absolute/path/parcel-pilot-mcp/dist/server.js"],
      "env": {
        "PACKAGE_ASSISTANT_DATA_DIR": "/absolute/path/parcel-pilot-mcp/data",
        "PACKAGE_ASSISTANT_PROFILE_DIR": "/absolute/path/parcel-pilot-mcp/browser-profiles",
        "PACKAGE_ASSISTANT_ARTIFACT_DIR": "/absolute/path/parcel-pilot-mcp/var",
        "PACKAGE_ASSISTANT_HEADLESS": "true",
        "PACKAGE_ASSISTANT_TIMEZONE": "Asia/Shanghai"
      }
    }
  }
}

Initial Login Process

  1. Have the AI client call login_taobao, login_jd, or login_cainiao.

  2. Open the returned screenshotPath, usually located under var/login/.

  3. Scan the QR code with your phone to log in.

  4. Manually complete any CAPTCHAs, SMS, sliders, or risk alerts.

  5. Call sync_packages.

  6. You can now ask get_my_packages, track_package, or get_delivered_today.

If the QR code screenshot expires too quickly, or if the login page requires interaction, you can open a visible browser via noVNC, SSH X forwarding, or a desktop session:

PACKAGE_ASSISTANT_HEADLESS=false npm run dev

MCP Tools

Tool

Purpose

login_taobao

Opens or refreshes the Taobao login process and returns login screenshots/artifacts.

login_jd

Opens or refreshes the JD login process and returns login screenshots/artifacts.

login_cainiao

Opens or refreshes the Cainiao login process and returns login screenshots/artifacts.

sync_packages

Synchronizes package data from a single platform or all configured platforms.

get_my_packages

Queries the normalized package list, with filtering for pending or delivered items.

track_package

Queries details for a specific package by package ID.

get_delivered_today

Queries packages delivered today, calculated based on the configured timezone.

Private Linux Server Deployment

Recommended setup:

  • Docker and Docker Compose.

  • Access only via SSH.

  • MCP is started by an AI client on the same machine via stdio, or used via SSH/VPN.

  • No public, unauthenticated HTTP entry points.

Deploying from local machine:

./scripts/aliyun-deploy.sh user@your-server:/opt/parcel-pilot-mcp

Perform one-time login and sync on the server:

cd /opt/parcel-pilot-mcp
docker compose run --rm -T package-assistant node dist/cli/call-tool.js login_taobao
docker compose run --rm -T package-assistant node dist/cli/call-tool.js login_jd
docker compose run --rm -T package-assistant node dist/cli/call-tool.js login_cainiao
docker compose run --rm -T package-assistant node dist/cli/call-tool.js sync_packages

For an interactive remote browser:

cd /opt/parcel-pilot-mcp
docker compose run --rm --service-ports package-assistant ./scripts/remote-browser.sh taobao
ssh -N -L 6080:127.0.0.1:6080 user@your-server

Then open:

http://127.0.0.1:6080/vnc.html?autoconnect=true&resize=scale

Call the MCP on the server via SSH:

{
  "mcpServers": {
    "parcel-pilot": {
      "command": "ssh",
      "args": [
        "user@your-server",
        "cd /opt/parcel-pilot-mcp && docker compose run --rm -T package-assistant"
      ]
    }
  }
}

Security Model

Treat browser-profiles/ as a "logged-in browser" and protect it accordingly.

  • Do not commit data/, var/, browser-profiles/, .env, or tmp-login/.

  • Do not expose the MCP process, noVNC, or temporary login browsers to the public internet.

  • Recommended only for your own accounts and machines you control.

  • Anyone with access to the browser profile may be able to view orders, logistics, shipping addresses, and account pages.

  • This project does not bypass CAPTCHAs, sliders, SMS verification, or platform risk controls.

  • It is recommended to disable low-friction payment/ordering features like small-amount password-free payments, auto-deductions, or express ordering to reduce risks if the login state is misused.

Development

npm test
npm run build

Common local commands:

npm run call-tool -- get_my_packages
npm run call-tool -- sync_packages '{"source":"taobao"}'

Roadmap

  • Refine JD and Cainiao selectors using more real account pages.

  • Add optional desensitization for sensitive fields like product names and addresses.

  • Add provider health diagnostics for expired login states, risk pages, or empty pages.

  • Add configuration examples for MCP clients like Claude Desktop, Codex, etc.

License

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
10dResponse time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to track and manage deliveries by interacting with the Parcel delivery tracking API. Users can add new shipments, retrieve active delivery statuses, and look up carrier information through natural language.
    2
  • A
    license
    Not graded
    quality
    C
    maintenance
    Integrates Kuaidi100 logistics services to provide real-time package tracking, delivery time estimations, and shipping cost calculations. It enables users to query express delivery information directly through an MCP-compatible interface.
    12
    Apache 2.0

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/jieyangxchen/parcel-pilot-mcp'

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