Skip to main content

寄件服务MCP Server

提供寄件订单管理、地址簿查询等功能的Model Context Protocol (MCP) Server,支持通过HTTP API对接远程寄件服务。

功能特性

🏠 地址簿管理

  • 查询用户保存的地址簿数据
  • 支持关键词搜索(姓名、电话、地址)
  • 标识默认地址

📦 寄件订单管理

  • 创建新的寄件订单
  • 分页查询订单列表
  • 查询订单详细信息
  • 支持多种服务类型(标准/快速/经济)
  • 订单状态追踪

🔍 高级查询

  • 按日期范围过滤订单
  • 按订单状态过滤
  • 分页浏览订单列表
  • 完整物流追踪记录

🌐 API集成

  • 支持HTTP API对接真实寄件服务
  • 灵活的配置管理(命令行参数/环境变量)
  • Mock模式用于开发和测试
  • 完善的错误处理和重试机制

安装

使用 uv(推荐)

uv init shipping-mcp-server
cd shipping-mcp-server
uv add "mcp[cli]>=1.0.0"

使用 pip

pip install "mcp[cli]>=1.0.0"

使用方法

配置API参数

方法1: 通过命令行参数

# 使用真实API
python src/guoguo_mcp/__init__.py --api-url https://api.sf-express.com --token your_access_token --no-mock

# 使用模拟数据(开发测试)
python src/guoguo_mcp/__init__.py --use-mock

方法2: 通过环境变量

export SHIPPING_API_BASE_URL="https://api.sf-express.com"
export SHIPPING_API_TOKEN="your_access_token"
export SHIPPING_USE_MOCK="false"
python src/guoguo_mcp/__init__.py

方法3: 在Claude Desktop中配置

{
  "mcpServers": {
    "guoguo-shipping": {
      "command": "python",
      "args": [
        "/path/to/guoguo_mcp/src/guoguo_mcp/__init__.py",
        "--api-url", "https://api.sf-express.com",
        "--token", "your_access_token",
        "--no-mock"
      ],
      "env": {
        "PATH": "/path/to/venv/bin:/usr/bin:/bin"
      }
    }
  }
}

开发模式运行

# 使用模拟数据(默认)
python src/guoguo_mcp/__init__.py

# 使用 mcp 开发工具
mcp dev src/guoguo_mcp/__init__.py -- --use-mock

# 使用 uv
uv run python src/guoguo_mcp/__init__.py --use-mock

生产模式运行

# 连接真实API
python src/guoguo_mcp/__init__.py \
  --api-url https://api.your-shipping-provider.com \
  --token your_production_token \
  --no-mock

工具列表

1. 地址簿查询 (query_address_book)

查询用户的地址簿信息

参数:

  • search_key (可选): 搜索关键词,可以搜索姓名、电话或地址

返回:

{
  "status": "success",
  "total_count": 4,
  "addresses": [
    {
      "name": "张三",
      "phone": "13800138000",
      "address": "北京市朝阳区中关村大街1号",
      "is_default": true
    }
  ]
}

2. 创建寄件订单 (create_shipping_order)

创建新的寄件订单

参数:

  • sender_name: 寄件人姓名
  • sender_phone: 寄件人电话
  • sender_address: 寄件人地址
  • receiver_name: 收件人姓名
  • receiver_phone: 收件人电话
  • receiver_address: 收件人地址
  • package_type: 物品类型
  • package_weight: 重量(kg)
  • package_size: 尺寸(长x宽x高,cm)
  • service_type: 服务类型(标准/快速/经济)

返回:

{
  "status": "success",
  "order_id": "SF2024003",
  "estimated_cost": 18.4,
  "estimated_delivery": "2024-01-15 14:30:00",
  "pickup_time": "24小时内安排取件"
}

3. 查询订单列表 (list_shipping_orders)

分页查询寄件订单列表

参数:

  • page_size: 每页数量(默认10)
  • page_number: 页码,从1开始(默认1)
  • start_date: 开始日期(YYYY-MM-DD格式)
  • end_date: 结束日期(YYYY-MM-DD格式)
  • status: 订单状态过滤

返回:

{
  "status": "success",
  "orders": [...],
  "pagination": {
    "total_count": 2,
    "total_pages": 1,
    "current_page": 1,
    "page_size": 10,
    "has_next": false,
    "has_prev": false
  }
}

4. 查询订单详情 (get_order_detail)

获取订单详细信息

参数:

  • order_id: 订单号
  • detail_level: 详情级别(basic/full)

返回:

{
  "status": "success",
  "order_info": {
    "order_id": "SF2024001",
    "status": "已签收",
    "create_time": "2024-01-13 10:30:00",
    "service_type": "快速"
  },
  "sender_info": {...},
  "receiver_info": {...},
  "package_info": {...},
  "tracking_history": [...]
}

订单状态说明

  • 待取件: 订单已创建,等待快递员取件
  • 运输中: 包裹正在运输途中
  • 派送中: 包裹已到达目的地,正在派送
  • 已签收: 包裹已成功签收
  • 已退回: 包裹已退回寄件人
  • 已取消: 订单已取消

服务类型说明

  • 标准: 48小时送达,费用标准
  • 快速: 24小时送达,费用1.5倍
  • 经济: 72小时送达,费用0.8倍

开发

项目结构

guoguo-mcp-server/
├── src/
│   └── guoguo_mcp/
│       └── __init__.py      # 主服务器代码
├── requirements.txt         # Python依赖
├── pyproject.toml          # 项目配置
├── test_client.py          # 测试客户端
├── run_server.py           # 启动脚本
└── README.md               # 说明文档

代码说明

服务器使用了以下主要组件:

  • FastMCP: MCP协议的Python实现
  • 数据模型: 使用dataclass定义订单、地址等数据结构
  • 枚举类型: 定义订单状态和服务类型
  • 模拟数据: 内存中存储示例数据,实际应用中可替换为数据库

扩展功能

可以进一步扩展的功能:

  • 集成真实的快递API
  • 添加数据库持久化
  • 实现用户认证
  • 添加订单状态更新功能
  • 集成支付功能
  • 添加物流追踪API

许可证

MIT License

贡献

欢迎提交Issue和Pull Request来改进这个项目。

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guoguo_mcp_server-1.0.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guoguo_mcp_server-1.0.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file guoguo_mcp_server-1.0.0.tar.gz.

File metadata

  • Download URL: guoguo_mcp_server-1.0.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for guoguo_mcp_server-1.0.0.tar.gz
Algorithm Hash digest
SHA256 af2f7856afe0e5ac6d2863a2be8ac84a323c300f54d2eddfd1b17eff6a78d453
MD5 4e67f830beada0032eb65ce3d38db9ac
BLAKE2b-256 49e99b170498378d09bdd4cfa5b9c11a1a88dd257e762cc63101b436cd9902a1

See more details on using hashes here.

File details

Details for the file guoguo_mcp_server-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for guoguo_mcp_server-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45c82d9e65080eb516e95805a979b9eafdff597fad6de1d0bfa3b30d9118089a
MD5 4dbd83b5f7044f7a77ae22895fd743a7
BLAKE2b-256 85d8ed689d2d78925f36578cf44efbec5f74c40b8ab7a582f5689bf3c41bec3b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page