Edaijiamcp Project

Edaijiamcp Project

🚀 e代驾 MCP 服务

e代驾 MCP 服务基于 e 代驾开放 API,遵循 MCP(Model Context Protocol),为用户提供代驾服务的完整功能,覆盖从费用预估到订单创建的全流程。

✨ 主要特性

  • 预估费用:依据起终点位置,精准预估代驾费用。
  • 叫代驾下单:可创建代驾订单,且具备自动 token 管理功能。
  • Token 管理:拥有智能的 token 获取、存储和刷新机制。
  • 自动重试:当 token 过期时,系统会自动刷新并重新尝试操作。
  • 参数验证:具备完善的输入参数验证和错误处理机制。

📦 安装指南

创建环境变量文件

复制 .env.example 文件为 .env

cp .env.example .env

配置 API 密钥

.env 文件中设置您的 API 密钥:

APP_KEY=your_app_key_here
SECRET=your_secret_here
API_BASE_URL=https://openapi.d.edaijia.cn

⚠️ 重要提示

.env 文件包含敏感信息,已被添加到 .gitignore 中,不会被提交到版本控制系统。

💻 使用示例

可用工具

estimate_cost

用于预估代驾费用。

  • 参数
    • start_address:起始地址
    • start_longitude:起始经度
    • start_latitude:起始纬度
    • end_address:目的地地址
    • end_longitude:目的地经度
    • end_latitude:目的地纬度
    • phone:用户手机号(11 位数字)
  • 返回:预估费用信息,包含距离、时间和价格。
  • 特性:自动检查和刷新 token,支持 token 过期重试。

call_driver

用于叫代驾下单。

  • 参数
    • start_address:起始地址
    • start_longitude:起始经度
    • start_latitude:起始纬度
    • end_address:目的地地址
    • end_longitude:目的地经度
    • end_latitude:目的地纬度
    • phone:用户手机号(11 位数字)
    • contact_phone:联系电话(可选,代叫订单必传)
  • 返回:下单结果,包含订单号和状态。
  • 特性:自动生成唯一订单号,支持 token 校验失败重试。

refresh_token

用于刷新用户 token。

  • 参数
    • phone:用户手机号(11 位数字)
  • 返回:token 刷新结果和状态。
  • 特性:手动刷新指定手机号的认证 token。

使用流程

  1. 预估费用:使用 estimate_cost 提供起终点信息和手机号,获取预估价格。
  2. 确认下单:使用 call_driver 提供相同信息进行下单。
  3. Token 管理:如需要,使用 refresh_token 手动刷新 token。

🔧 技术细节

Token 管理机制

  • 自动检测:系统自动检查本地是否存在对应手机号的 token。
  • 智能获取:若本地无 token,自动调用 API 获取新 token。
  • 本地存储:token 自动保存到 edjserver/tokens/ 目录。
  • 过期处理:当 API 返回 token 过期时,自动刷新并重试。
  • 校验重试:token 校验失败时,自动刷新 token 并重新执行操作。

技术特性

  • 智能重试:自动处理 token 相关错误,无需手动干预。
  • 参数验证:完善的输入验证,确保数据格式正确。
  • 错误处理:返回详细的错误信息,便于定位问题。
  • 唯一订单号:基于时间戳和 UUID 生成唯一订单标识。

运行方式

python edaijiamcp.py

依赖项

  • mcp:Model Context Protocol 库
  • requests:HTTP 请求库
  • python-dotenv:环境变量管理
  • uuid:唯一标识符生成
  • time:时间戳生成
  • json:JSON 数据处理
  • os:文件系统操作

项目结构

edaijiamcp/
├── edaijiamcp.py          # MCP服务主文件
├── edjserver/             # e代驾API封装
│   ├── EdjApi.py         # 主要API接口
│   ├── EdjSignUtils.py   # 签名工具
│   ├── EdjSystemParams.py # 系统参数
│   └── tokens/           # token存储目录
├── README.md             # 项目文档
└── pyproject.toml        # 项目配置
  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-10-04 13:30

相似服务问题

相关AI产品