第三方劵码自动充值:在 Agent 里对接充值 MCP 的下单与状态追踪

前言

在对话式开发环境里,如果要把「查可售商品 → 建单 → 拿支付链接 → 跟充值进度」串成一条可复现流程,常见做法是手写 HTTP 客户端、自己维护订单状态机,再把接口文档塞进提示词。步骤多、字段容易漏,Agent 也很难在 pending / processing 之间做对自动轮询。

下面介绍 SkillHub 社区 Skill「第三方劵码自动充值」(坐标 @user_68dc3d67/recharge-prod-buy)。它用标准 SKILL.md 描述远端充值 MCP 的连接方式、工具参数和业务编排,让支持 Skills 的 Agent 按文档调用 product_list、order_create、order_get 等工具,而不是每次从零拼接口说明。

这是什么

一句话定位: 面向 dev-programming 场景的 Agent Skill,指导模型通过 Streamable HTTP 连接充值 MCP 服务端点,完成商品检索、下单支付与订单状态查询。

来源与版本: 社区发布(community),发布者 user_68dc3d67,当前版本 1.0.0。SkillHub 页面标注 requires_api_key=false,即 Skill 本身不要求额外 API Key;实际下单仍走远端 MCP 与支付链路。

解决的问题: 把充值相关 MCP 工具的名称、参数、返回 JSON 结构,以及「查商品 / 下单 / 追单」三类对话场景写成固定 playbook,减少 Agent 误用传输层或混淆面值与售价。

核心功能

Skill 文档指向的 MCP 服务端点为:

https://lychee.thinkarts.cn/ys-mcp-server_prod/mcp

连接时必须使用 Streamable HTTP Transport,文档明确 不支持 SSE Transport。

已核实的 MCP 工具如下:

工具 作用
product_list 分页查询已上架商品,可按关键词匹配名称、品牌、分类、显示名、第三方产品编码
product_get 按 product_id 查询单个商品详情
order_create 为指定商品与数量创建充值订单,返回微信、支付宝支付链接;同一账号 + 商品 + 数量的 pending 订单在 10 分钟内复用
order_get 按 32 位 order_id 查单;pending 时自动查支付状态,支付成功后触发第三方充值;processing 时自动查第三方充值状态

返回格式统一为 {"success": true/false, "data" 或 "error": ...}。文档还说明:charge_type 为 1 表示直充、2 表示卡密;下单金额以 selling_price × quantity 为准,而非面值 face_value。

安装与启用

安装 SkillHub CLI

若尚未安装,可先检查版本:

command -v skillhub && skillhub --version

未安装时可按 SkillHub 安装文档执行(完整安装示例):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

安装本 Skill

安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 可能不会被识别。官方页面给出的安装提示为:参考 https://skillhub.cn/install/skillhub.md,安装 @user_68dc3d67/recharge-prod-buy。

CLI 等价命令(skillhub search 结果中给出的形式):

skillhub install recharge-prod-buy --namespace user_68dc3d67 --dir <skills 目录>

常用路径示例(来自 SkillHub 安装文档):

  • Cursor: ~/.cursor/skills/
  • Claude Code: ~/.claude/skills/
  • Codex: ~/.codex/skills/ 或项目下的 .agents/skills/

安装完成后,按你所用客户端的要求重启或刷新 Skills 加载;SkillHub 抓取页显示该 Skill 安装计数为 0,若本地未生效,优先核对 --dir 与客户端 skills 路径是否一致。

启用 MCP 侧能力

Skill 正文是「如何连 MCP、如何调工具」的说明,并不替代你在客户端里配置 MCP。若要在代码中直连同一端点,文档给出的 Python 示例使用 fastmcp 的 StreamableHttpTransport(见下文典型用法)。在 Cursor 等环境中,通常还需在 MCP 配置里添加对应 HTTP 端点,具体以客户端文档为准;Skill 未单独列出 Cursor MCP 的 json 字段名,此处不臆造配置项。

典型用法

1. 用 Python 调用 MCP 工具(文档示例)

下列代码片段来自 Skill 自带的连接示例,用于封装 call_tool:

import asyncio, json
from fastmcp import Client
from fastmcp.client import StreamableHttpTransport

async def call_tool(tool_name: str, arguments: dict) -> dict:
    transport = StreamableHttpTransport(url="https://lychee.thinkarts.cn/ys-mcp-server_prod/mcp")
    client = Client(transport)
    async with client:
        result = await client.call_tool(tool_name, arguments)
        for item in result.content:
            if item.type == "text":
                try:
                    return json.loads(item.text)
                except json.JSONDecodeError:
                    return {"raw_text": item.text}
        return {"error": "无返回内容"}

2. 场景:搜索商品

用户问「有哪些移动话费充值」时,Agent 按 Skill 编排调用:

product_list(keyword="移动")

返回中 data.products 含 id、name、face_value、selling_price、third_party_code 等字段,用于向用户展示可选商品。

3. 场景:搜索并下单

用户说「帮我充 50 元移动话费,号码 13800138000」时,文档建议顺序为:

  1. product_list(keyword="移动50") 定位 product_id
  2. order_create(items=[{"product_id": 1, "quantity": 1}], account_no="13800138000")
  3. 将返回的 payment_links 中的 wxpay_url、alipay_url 交给用户完成支付

account_no 为充值目标手机号,文档要求与用户确认;金额以售价为准。

4. 场景:订单状态追踪

支付或充值进行中时,对同一 order_id 调用 order_get。文档说明每次调用会自动检查支付与第三方充值状态,无需额外轮询接口。常见状态组合包括:pending/pending(待支付)、paid/processing(充值中)、paid/success(完成)、paid/fail(失败需人工处理)等,详见 Skill 内状态表。

适用场景与注意

适合谁: 需要在 Agent 工作流里标准化「话费/卡密类第三方充值」查询与下单话术的团队;分类为 dev-programming,侧重把 MCP 工具接进对话,而非替代财务或合规审批。

限制与注意:

  • 传输层必须用 Streamable HTTP,误用 SSE 会导致连接失败。
  • 下单会产生真实支付链接与资金往来,生产使用前需自行评估远端服务 lychee.thinkarts.cn 的合规性与账号安全。
  • order_create 在 10 分钟内对相同账号、商品、数量复用 pending 单,重复发起对话时可能拿到同一订单而非新单。
  • SkillHub 统计(抓取资料):评分 100000,下载 867,安装 0;数据随 SkillHub 更新可能变化,以页面为准。

结尾

「第三方劵码自动充值」把充值 MCP 的端点、四类工具与三类业务编排写进 SKILL.md,适合作为 Agent 侧的可核对操作手册。安装与坐标以 SkillHub 为准:

  • 官方 API 页:https://api.skillhub.cn/user_68dc3d67/recharge-prod-buy
  • SkillHub 展示页:https://www.skillhub.cn/skills/user_68dc3d67/recharge-prod-buy
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye