曹操出行 MCP
Overview
使用曹操出行 MCP 工具处理网约车全流程任务,包括地点搜索、费用预估、生成打车链接、直接下单、订单管理、账单售后和发票开具。
此技能假设当前运行环境已经接入曹操出行 MCP。如果工具不可用,先引导用户完成 MCP 配置,再继续操作。
Capability Map
| 用户意图 | 使用工具 | 关键要求 |
|---|---|---|
| 搜索起点、终点或地点坐标 | maps_text_poi | 未明确出发点时必须先询问,不要假设当前位置 |
| 预估打车费用、查看车型价格 | trip_estimate_v2 | 必须有唯一的起点和终点;只向用户展示车型和价格 |
| 未登录时查看路线里程参考 | trip_estimate_v2_nologin | 只提供参考信息,不创建订单 |
| 生成微信小程序打车链接 | trip_generate_ride_link | 必须先拿到起终点经纬度 |
| 直接创建打车订单 | trip_create_order_v2 | 必须先预估并让用户主动选择车型 |
| 查询进行中订单 | trip_query_order_v2 | 无订单号时可查询全部进行中订单 |
| 取消订单 | trip_cancel_order_v2 | 先展示订单信息并二次确认 |
| 修改订单 | trip_estimate_v2 -> trip_update_order | 先重新预估,用户确认后再更新 |
| 联系司机 | trip_call_driver | 通常需要订单号 |
| 给司机留言 | trip_send_driver_message | 需要订单号和留言内容 |
| 联系客服 | trip_contact_customer_service | action 传 getPhone 或 createTicket |
| 查询账单费用 | trip_pull_bill | 需要订单号 |
| 查询历史订单 | trip_query_history_orders | 可按时间、起终点、价格范围筛选 |
| 评价司机 | trip_rate_driver | rating=1 表示满意,rating=2 表示不满意 |
| 删除订单记录 | trip_delete_order | 先展示订单信息并二次确认 |
| 开具发票 | trip_create_invoice | 个人/公司发票字段不同,先收集必填信息 |
Configuration
如果用户需要配置曹操出行 MCP,按以下步骤操作:
- 访问
https://mcp.caocaokeji.cn/,使用手机号登录曹操出行账号。 - 在控制台获取专属 API Key。
- 如未安装
mcporter,执行:
npm install -g mcporter
- 注册 MCP 服务:
mcporter config add caocao-mcp "https://mcp.caocaokeji.cn/mcp/api?key=YOUR_API_KEY" --scope project
- 验证配置:
mcporter list | grep caocao-mcp
Workflow: Ride Request
用于“我要从 A 去 B”“帮我叫车”“预估打车多少钱”“生成打车链接”等请求。
- 确认起点、终点、城市和用车时间。
- 如果缺少出发点,先问用户;不要默认当前位置。
- 分别调用
maps_text_poi搜索起点和终点。 - 如果搜索结果存在多个相距较远的地点,列出候选项让用户选择;必须确认唯一地点后再继续。
- 调用
trip_estimate_v2预估费用。 - 向用户只展示车型和价格,让用户选择车型。
- 如果用户要链接,调用
trip_generate_ride_link。 - 如果用户要直接下单,必须等用户主动选择车型后,再调用
trip_create_order_v2。
Estimate Requirements
调用 trip_estimate_v2 时遵守:
startLocation.address必填。endLocation.address必填。- 实时单
orderType传1。 - 预约单
orderType传2,并传预约useTime。 callOrderServiceType默认不传,除非用户明确指定车型。routeTags默认不传,除非用户明确要求更快或更便宜路线。preferences和remark只在用户明确提出偏好或备注时传入。
Estimate Response Format
返回预估信息时,不要推荐、解释或添加车型特点,只保留车型及价格:
可选车型及预估价格如下:
- {车型}:{价格}
- {车型}:{价格}
- {车型}:{价格}
请选择要使用的车型。
Create Order Requirements
调用 trip_create_order_v2 前必须满足:
- 已通过
trip_estimate_v2获取estimateId。 estimateId必须取自返回值的structuredContent.estimateId,不要使用_meta.unique_key。- 用户已经主动回复选择的车型。
callOrderServiceType必须是字符串;多个车型用英文逗号连接,不要带空格。- 如果为他人叫车,收集乘车人手机号并传入
whoTel。
Workflow: Generate Ride Link
用于用户只想拿到曹操出行微信小程序链接,而不是直接下单的场景。
- 使用
maps_text_poi获取唯一的起点和终点。 - 确认经纬度字段:起点
fromLat/fromLng,终点toLat/toLng。 - 调用
trip_generate_ride_link。 - 返回链接,并说明用户可在微信小程序中继续下单。
已为你生成曹操出行打车链接:
{打车链接}
打开后可在微信小程序中继续下单。
Workflow: Manage Active Orders
用于查询、取消、修改进行中的订单,以及联系司机或客服。
Query Order
用户要查看当前订单、车牌号、司机、接驾距离或预计到达时间时,调用 trip_query_order_v2。用户未提供订单号时,不传 orderNoList,查询全部进行中订单。
Cancel Order
用户要取消订单时:
- 先调用
trip_query_order_v2或根据已知信息展示订单。 - 明确询问用户是否确认取消。
- 用户确认后调用
trip_cancel_order_v2,userConfirm传true。
Update Order
用户要修改目的地、途径点、起点、路线、车型、预约时间、偏好或备注时:
- 调用
trip_estimate_v2,传orderNo和对应updateScene。 - 展示新的价格或变更信息,等待用户确认。
- 用户确认后调用
trip_update_order,传新的estimateId和orderNo。
常见 updateScene:
| 修改内容 | updateScene |
|---|---|
| 修改目的地或途径点 | modifyDestination |
| 修改起点 | modifyStartLocation |
| 追加车型 | addServiceType |
| 修改预约时间 | modifyUseTime |
| 选择路线 | selectRoute |
| 追加偏好或备注 | addPreferenceRemark |
修改目的地或途径点时,调用预估必须传 updateScene,不用传 startLocation,并传入 orderNo。
Contact and Message
- 用户要联系司机:调用
trip_call_driver。 - 用户要给司机留言:调用
trip_send_driver_message。 - 用户要联系客服:调用
trip_contact_customer_service,获取电话用action=getPhone,创建工单用action=createTicket。
Workflow: Bills, History, Rating, Invoice
Pull Bill
用户要查看费用明细、优惠或未支付账单时,调用 trip_pull_bill。如果用户不使用优惠券,couponNo 传 -1。
History Orders
用户要查询历史订单、打车记录或按时间/地点/费用筛选记录时,调用 trip_query_history_orders。
Rate Driver
用户要评价司机时,调用 trip_rate_driver:
- 满意:
rating=1 - 不满意:
rating=2 - 用户给出原因或留言时,放入
reason
Delete Order
用户要删除订单记录时,先展示订单信息并二次确认;确认后调用 trip_delete_order。
Create Invoice
用户要开票时,先确认发票类型并收集必填信息。
个人发票必填:
invoiceType=personalconnactNameconnactPhoneemailorderNos
公司发票必填:
invoiceType=companyinvoiceTitletaxNumberemailorderNos
可选字段:remark。
Safety Rules
- 不要假设用户当前位置、手机号、订单号、发票抬头、税号或邮箱。
- 取消订单、删除订单、更新订单前必须获得用户明确确认。
- 直接创建订单前必须让用户主动选择车型。
- 涉及多个候选地点时,必须让用户选择唯一地点。
- 不要把公交地铁、步行骑行、驾车导航、租车自驾、货运物流请求转成曹操出行操作。
- 不要在最终回复中泄露 API Key、手机号等敏感信息。
Examples
Example: Estimate Ride
User: 从北京南站到天安门打车多少钱?
Action:
- 搜索并确认“北京南站”和“天安门”。
- 调用
trip_estimate_v2。 - 只返回车型和价格,让用户选择。
Example: Create Order
User: 我要从北京南站去天安门,帮我叫快车。
Action:
- 确认起点、终点。
- 调用
trip_estimate_v2。 - 展示车型价格。
- 用户确认快车后,调用
trip_create_order_v2。
Example: Modify Destination
User: 把目的地改到首都机场。
Action:
- 确认订单号;没有订单号则先查进行中订单。
- 搜索并确认“首都机场”的唯一地点。
- 调用
trip_estimate_v2,传orderNo和updateScene=["modifyDestination"]。 - 用户确认新费用后,调用
trip_update_order。
Scan to join WeChat group