Skip to main content
Glama

Shipping Service MCP Server

by WangTingYeYe
README.md6.81 kB
# 寄件服务MCP Server 提供寄件订单管理、地址簿查询等功能的Model Context Protocol (MCP) Server,支持通过HTTP API对接远程寄件服务。 ## 功能特性 ### 🏠 地址簿管理 - 查询用户保存的地址簿数据 - 支持关键词搜索(姓名、电话、地址) - 标识默认地址 ### 📦 寄件订单管理 - 创建新的寄件订单 - 分页查询订单列表 - 查询订单详细信息 - 支持多种服务类型(标准/快速/经济) - 订单状态追踪 ### 🔍 高级查询 - 按日期范围过滤订单 - 按订单状态过滤 - 分页浏览订单列表 - 完整物流追踪记录 ### 🌐 API集成 - 支持HTTP API对接真实寄件服务 - 灵活的配置管理(命令行参数/环境变量) - Mock模式用于开发和测试 - 完善的错误处理和重试机制 ## 安装 ### 使用 uvx(推荐) ```bash # 直接运行,无需安装 uvx guoguo-mcp-server --help # 如果遇到包未找到的问题,可以指定索引 uvx --index-url https://pypi.org/simple/ guoguo-mcp-server --help ``` ### 使用 pip ```bash pip install guoguo-mcp-server ``` > **注意**: 新发布的包可能需要几分钟时间在各个 PyPI 镜像中同步。如果遇到包未找到的错误,请稍等片刻再试,或使用 pip 安装后直接使用命令。 ## 使用方法 ### 配置API参数 #### 方法1: 通过命令行参数 ```bash # 使用真实API guoguo-mcp-server --api-url https://api.sf-express.com --token your_access_token --no-mock # 或使用 uvx uvx guoguo-mcp-server --api-url https://api.sf-express.com --token your_access_token --no-mock # 使用模拟数据(开发测试) guoguo-mcp-server --use-mock ``` #### 方法2: 通过环境变量 ```bash export SHIPPING_API_BASE_URL="https://api.sf-express.com" export SHIPPING_API_TOKEN="your_access_token" export SHIPPING_USE_MOCK="false" guoguo-mcp-server ``` #### 方法3: 在Claude Desktop中配置 **使用 uvx(推荐,无需预安装):** ```json { "mcpServers": { "guoguo-mcp-server": { "command": "uvx", "args": [ "guoguo-mcp-server", "--api-url", "https://api.sf-express.com", "--token", "your_access_token", "--no-mock" ] } } } ``` **使用已安装的包:** ```json { "mcpServers": { "guoguo-mcp-server": { "command": "guoguo-mcp-server", "args": [ "--api-url", "https://api.sf-express.com", "--token", "your_access_token", "--no-mock" ] } } } ``` **使用模拟模式(开发测试):** ```json { "mcpServers": { "guoguo-mcp-server": { "command": "uvx", "args": [ "guoguo-mcp-server", "--use-mock" ] } } } ``` ### 开发模式运行 ```bash # 使用模拟数据(默认) guoguo-mcp-server --use-mock # 使用 uvx(无需安装) uvx guoguo-mcp-server --use-mock # 使用 mcp 开发工具 mcp dev guoguo-mcp-server -- --use-mock ``` ### 生产模式运行 ```bash # 连接真实API guoguo-mcp-server \ --api-url https://api.your-shipping-provider.com \ --token your_production_token \ --no-mock # 或使用 uvx uvx guoguo-mcp-server \ --api-url https://api.your-shipping-provider.com \ --token your_production_token \ --no-mock ``` ## 工具列表 ### 1. 地址簿查询 (query_address_book) 查询用户的地址簿信息 **参数:** - `search_key` (可选): 搜索关键词,可以搜索姓名、电话或地址 **返回:** ```json { "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`: 服务类型(标准/快速/经济) **返回:** ```json { "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`: 订单状态过滤 **返回:** ```json { "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) **返回:** ```json { "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来改进这个项目。

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/WangTingYeYe/guoguo-mcp-python'

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