# Indian-Parcel-MCP：面向印度快递的MCP智能追踪服务器

> Indian-Parcel-MCP是一个专为印度快递场景设计的MCP服务器，支持Blue Dart、DTDC、Delhivery和India Post等主流承运商，提供截止日期感知、异常检测和升级指导的智能追踪能力。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-24T09:43:31.000Z
- 最近活动: 2026-05-24T09:52:14.840Z
- 热度: 163.8
- 关键词: MCP, Model Context Protocol, 印度快递, Blue Dart, DTDC, Delhivery, 物流追踪, 截止日期感知, 异常检测, LLM工具
- 页面链接: https://www.zingnex.cn/forum/thread/indian-parcel-mcp-mcp
- Canonical: https://www.zingnex.cn/forum/thread/indian-parcel-mcp-mcp
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**：alok-19
- **来源平台**：GitHub
- **原始标题**：indian-parcel-mcp
- **原始链接**：https://github.com/alok-19/indian-parcel
- **发布时间**：2026年5月24日更新
- **版本**：0.1.0
- **许可证**：MIT

---

## 项目缘起：从一次签证材料快递的焦虑说起

项目的诞生源于一个真实的痛点场景：开发者需要从穆扎法尔普尔（Muzaffarpur）向班加罗尔（Bangalore）寄送签证材料，而大使馆的截止日期正在逼近。

传统的快递追踪工具只能回答一个简单的问题："承运商最后说了什么？"它们展示的是原始的扫描事件JSON数据，却无法回答真正关键的问题：

- 这个包裹能否在截止日期前送达？
- 目前的物流状态是否存在风险？
- 如果可能延误，应该采取什么行动？

现有的通用追踪工具要么不支持印度本地承运商，要么只是机械地展示物流节点，缺乏智能判断能力。开发者需要一个能够"理解"快递状态、能够进行截止日期推理、能够提供行动建议的AI原生工具。

Indian-Parcel-MCP正是为解决这一需求而生。它将印度快递追踪转化为结构化判断，通过MCP协议暴露给LLM客户端，让AI能够像人类一样理解物流状态并给出建议。

---

## 核心能力：超越传统追踪的智能判断

### 智能状态判定

不同于传统追踪工具返回原始扫描记录，Indian-Parcel-MCP会对包裹状态进行综合判断，返回结构化的状态裁决：

| 状态 | 含义 | 建议行动 |
|-----|------|---------|
| `on_track` | 正常运输中，预计按时送达 | 继续监控 |
| `at_risk` | 存在延误风险，但仍有可能按时送达 | 密切关注，准备应急预案 |
| `delayed` | 已确认延误 | 立即联系承运商，考虑替代方案 |
| `stuck` | 长时间无更新，可能卡在某一节点 | 主动查询，必要时升级处理 |
| `exception` | 发生异常（如地址错误、拒收等） | 立即处理异常，联系收件人/承运商 |
| `unknown` | 无法获取或解析追踪信息 | 稍后重试或手动查询 |

这种抽象让LLM客户端能够用自然语言向用户解释包裹状态，而不是展示晦涩的技术数据。

### 截止日期感知推理

系统支持`needed_by`参数，允许用户指定送达截止时间。基于这一信息，服务器会：

1. 预测送达时间窗口（p50和p90置信区间）
2. 计算距离截止日期的缓冲时间（buffer_hours）
3. 评估按时送达的置信度
4. 提供基于风险的决策建议

示例输出：
```json
{
  "status": "at_risk",
  "predicted_delivery": {
    "p50": "2026-05-25T20:10:00+05:30",
    "p90": "2026-05-26T08:10:00+05:30",
    "confidence": 0.82
  },
  "needed_by": "2026-05-26T12:00:00+05:30",
  "buffer_hours": 3.8,
  "reasoning": "当前位于德里转运中心，距离截止时间还有约4小时缓冲..."
}
```

### 异常检测引擎

系统内置多种异常检测规则：

- **扫描停滞（stale_scan）**：最新扫描时间超过阈值
- **扫描密度异常（low_scan_density）**：运输过程中扫描节点过少
- **RTO风险（return_to_origin）**：检测到退回迹象
- **异常标记（exception_flags）**：承运商系统标记的异常事件
- **配送卡住（stuck_out_for_delivery）**：长时间处于"派送中"状态

每种异常都包含严重程度（warning/critical）和描述信息，帮助LLM生成清晰的解释。

### 升级指导手册

当检测到风险或异常时，系统会返回结构化的升级指导：

```json
{
  "escalation_playbook": [
    {
      "step": 1,
      "action": "使用AWB和最新扫描详情联系承运商客服",
      "channel": "phone",
      "expected_outcome": "确认包裹是否在运输中，请求送达承诺"
    },
    {
      "step": 2,
      "action": "如果客服无法提供明确答复，要求升级至主管",
      "channel": "phone"
    }
  ]
}
```

这些指导经过隐私安全审查，不包含敏感信息，可直接由AI客户端展示给用户。

---

## 技术架构：MCP原生的智能服务器

### 什么是MCP？

Model Context Protocol（MCP）是Anthropic推出的开放协议，用于标准化LLM与外部工具的交互方式。MCP服务器暴露一组工具（tools），LLM客户端可以通过标准接口调用这些工具，获取结构化数据并用于生成回答。

Indian-Parcel-MCP完全遵循MCP协议设计，可与任何支持MCP的客户端配合使用。

### 支持的印度承运商

| 承运商 | AWB格式 | 追踪能力 | 测试状态 |
|-------|--------|---------|---------|
| Blue Dart | 8-11位数字 | 实时最佳 effort 追踪 | 已测试 |
| DTDC | 1-2字母 + 7-9位数字 | 最佳 effort 适配器，保守回退 | 已测试 |
| Delhivery | 14位数字 | 最佳 effort 适配器，保守回退 | 已测试 |
| India Post / Speed Post | XX#########IN | 最佳 effort 适配器，保守回退 | 已测试 |

承运商门户经常变化，可能阻止自动化访问。服务器将"不确定"视为一等公民：当无法获取或自信解析时，返回结构化的`unknown`响应，而不是编造信心。

### AWB智能识别

系统支持从AWB号码自动识别承运商：

```json
{
  "awb": "1234567890",
  "detected_carrier": "bluedart",
  "confidence": 0.95
}
```

这消除了用户需要手动指定承运商的麻烦，也减少了LLM客户端选择错误承运商的可能性。

### 本地观察清单（Watchlist）

系统内置SQLite支持的本地观察清单功能：

- `watch_shipment`：将包裹加入监控列表
- `list_watches`：查看所有监控的包裹
- `refresh_watches`：刷新监控状态，检测变化
- `remove_watch`：从监控列表移除

这适合需要持续跟踪多个重要包裹的场景，比如电商卖家、采购专员或签证申请人。

### 可观测性接口

`get_observability`工具提供系统健康快照：

- 各承运商接口成功率
- 缓存命中率
- 解析器漂移检测
- 监控刷新计数器

这帮助运维人员了解系统运行状况，及时发现潜在问题。

---

## 工具接口详解

### track_shipment / track_india_parcel

核心追踪工具，支持截止日期感知：

```json
{
  "awb": "1234567890",
  "needed_by": "2026-05-26T12:00:00+05:30",
  "origin_pincode": "842001",
  "destination_pincode": "560001"
}
```

返回标准化的追踪结果，包含状态裁决、预测送达时间、缓冲时间、扫描事件和推理说明。

### detect_carrier / detect_india_carrier

从AWB推断承运商，帮助LLM客户端选择正确的追踪路径。

### estimate_eta

基于承运商和邮编估算路线级送达窗口，用于初步评估物流时效。

### diagnose_shipment

综合诊断工具，返回：

- 完整追踪状态
- 异常检测结果
- 升级指导手册
- 综合风险评估

适合高价值或时间敏感的包裹。

---

## 集成指南：在各MCP客户端中使用

### Claude Desktop

在`claude_desktop_config.json`中添加：

```json
{
  "mcpServers": {
    "indian-parcel": {
      "command": "npx",
      "args": ["-y", "indian-parcel-mcp"]
    }
  }
}
```

添加后，可以直接询问Claude：

- "帮我追踪这个印度包裹：21038951172"
- "追踪AWB 18033769504，必须在2026-05-26中午前送达"
- "诊断这个包裹的状态，告诉我今天是否需要升级处理：EA123456789IN"

### Codex CLI

```bash
codex mcp add indian-parcel -- npx -y indian-parcel-mcp
```

### OpenCode

```json
{
  "mcp": {
    "indian-parcel": {
      "type": "local",
      "command": ["npx", "-y", "indian-parcel-mcp"],
      "enabled": true
    }
  }
}
```

### 其他兼容客户端

任何支持MCP协议的客户端都可以通过标准方式集成，包括Cline、Continue、Antigravity等。

---

## 本地开发部署

### 从源码构建

```bash
# 克隆仓库
git clone https://github.com/alok-19/indian-parcel.git
cd indian-parcel

# 安装依赖
npm install

# 构建
npm run build

# 运行MCP服务器（stdio模式）
node dist/src/server.js
```

### 开发模式

```bash
npm run dev
```

使用tsx直接运行TypeScript源码，支持热重载。

---

## 设计哲学：保守与实用并重

Indian-Parcel-MCP的设计体现了几个关键原则：

### 不确定性作为一等公民

承运商网站经常变化，自动化访问可能失败。系统不编造数据，而是诚实返回`unknown`状态，让LLM客户端向用户说明情况。

### 截止日期优先

从项目起源的签证材料场景出发，系统始终围绕"能否按时送达"这一核心问题设计，而非简单展示物流节点。

### 行动导向

不仅告诉用户"发生了什么"，更重要的是告诉用户"应该做什么"。升级指导手册将追踪转化为行动。

### 隐私安全

所有升级指导都经过审查，确保不包含敏感信息，可安全由AI展示给最终用户。

### 本地优先

观察清单使用SQLite本地存储，无需外部服务，保护用户隐私。

---

## 项目意义与展望

Indian-Parcel-MCP展示了MCP协议在垂直场景的强大潜力。通过将特定领域的专业知识（印度快递追踪）封装为标准化工具，它让通用LLM获得了专业判断能力。

这种模式可以扩展到其他物流市场（东南亚、中东、非洲），每个地区都可以有类似的MCP服务器，为当地用户提供智能追踪体验。

对于MCP生态系统而言，Indian-Parcel-MCP是一个优秀的垂直领域示例，展示了如何将传统API服务转化为AI原生工具，让LLM能够真正"理解"业务场景并提供有价值的建议。

---

## 结语

Indian-Parcel-MCP不仅是一个快递追踪工具，它是AI时代人机协作的新范式：专业领域知识通过MCP协议与通用大语言模型结合，为用户提供既智能又可靠的服务。对于经常需要处理印度快递的用户——无论是跨境电商卖家、海外留学生还是企业采购人员——这都是一个值得尝试的实用工具。
