星子代发 MCP Server — 让 AI 帮你发素材、审回执、打款
xingzi-mcp
星子代发 MCP Server — 让 AI 帮你发素材、审回执、打款。
目录
什么是素材代发
「素材代发」是一种 KOC (Key Opinion Consumer) 推广模式:
- 广告主(你):有推广需求,准备好素材(图片/视频/文案),愿意按效果付费
- KOC(达人):在各社交平台有账号,愿意帮你发布内容赚取奖励
- 星子代发平台:连接双方的中间平台,提供任务发布、领取、回执、打款等能力
这个 MCP 服务的是「广告主」角色——发布任务、审核回执、给 KOC 打款。
工作流程
┌─────────────────────────────────────────────────────────┐
│ 广告主(你 + AI) │
│ │
│ ① publish_task ──→ 发布任务(素材+要求+单价+人数) │
│ │ │
│ ▼ │
│ KOC 在素材广场看到并领取 │
│ │ │
│ ▼ │
│ KOC 发布到社交媒体,提交回执 │
│ │ │
│ ③ list_postbacks ──→ 查看回执 │
│ │ │
│ ④ audit_postback ──→ 审核(通过/拒绝) │
│ │ │
│ ⑤ pay_reward ──────→ 生成支付链接 │
│ │ │
│ ▼ │
│ 在微信中打开链接完成付款 ✅ │
└─────────────────────────────────────────────────────────┘
安装配置
前提条件
- Node.js >= 18
- 一个支持 MCP 的 AI 工具(Claude Code / Cursor / Windsurf / Cline 等)
- 一个星子助推平台账号(注册:https://m.xingziwenhua.com )
- 星子会员(VIP):发布素材任务需要会员身份(见下方说明)
为什么需要会员? 星子助推平台要求只有会员才能发布素材代发任务,这是出于两方面考虑:
- 信用与履约:会员体系帮助平台管控信用风险和违约风险,确保广告主有能力按时付款
- 会员福利:素材代发本身是平台对会员的一项专属增值服务
如果你还不是会员,可以在星子助推 App / H5 的「会员中心」开通。
Claude Code
编辑 ~/.claude/settings.json:
{
"mcpServers": {
"xingzi": {
"command": "npx",
"args": ["-y", "xingzi-mcp"],
"env": {
"XINGZI_MOBILE": "你的手机号",
"XINGZI_PASSWORD": "你的密码"
}
}
}
}
Cursor
编辑 .cursor/mcp.json:
{
"mcpServers": {
"xingzi": {
"command": "npx",
"args": ["-y", "xingzi-mcp"],
"env": {
"XINGZI_MOBILE": "你的手机号",
"XINGZI_PASSWORD": "你的密码"
}
}
}
}
Windsurf / 其他
在对应工具的 MCP 配置文件中添加同样的配置即可。
不配环境变量(手动登录)
不填 env 字段也可以,首次使用时让 AI 调用 login 工具:
"帮我登录星子代发,手机号 138xxxx,密码 xxxx"
可用工具
共 11 个工具,覆盖广告主的完整操作流程:
认证与引导
| 工具 | 说明 |
|------|------|
| login | 登录平台(配了环境变量则自动登录) |
| guide | 查看使用指南和定价参考 |
发布任务
| 工具 | 说明 |
|------|------|
| publish_task | 核心:发布代发任务(素材+要求+单价+人数) |
| list_my_tasks | 查看我发布的所有任务 |
| get_task_detail | 查看某个任务的详情 |
| delete_task | 删除任务 |
审核回执
| 工具 | 说明 |
|------|------|
| list_postbacks | 查看 KOC 提交的回执(作品链接/截图) |
| audit_postback | 审核回执:通过或拒绝 |
打款
| 工具 | 说明 |
|------|------|
| list_unpaid_awards | 查看待打款列表 |
| pay_reward | 生成微信支付链接(支持全选/单选/改金额) |
钱包
| 工具 | 说明 |
|------|------|
| get_wallet | 查看余额(总收益/可提现/已提现/冻结) |
使用示例
发布一个代发任务
你:帮我发一个代发任务
素材是这张图 https://example.com/ad.jpg
要求发到小红书,配文提到"夏日好物推荐"
单价10元,最多50人
AI:[调用 publish_task]
✅ 任务发布成功!50 个名额,10 元/条。
KOC 可以在素材广场看到并领取。
审核回执并打款
你:看看任务 1615 的回执,合格的帮我通过
AI:[调用 list_postbacks] 共 3 条回执
- 66°C 提交了抖音链接 ✓
- 小明 提交了小红书截图 ✓
- 用户A 截图模糊看不清 ✗
[调用 audit_postback x3] 通过 2 条,拒绝 1 条
你:帮我打款
AI:[调用 pay_reward]
待打款 2 人,共 20 元
请在微信中打开此链接付款:https://m.xingziwenhua.com/spages/material/batchpay?id=1615
💡 支付页面可以修改金额(表现好的可以加钱),也可以写奖励说明。
查看钱包
你:钱包余额多少?
AI:[调用 get_wallet]
总收益:11,290.36 元
可提现:11,256.46 元
已提现:33.90 元
冻结中:0.00 元
定价参考
| 任务类型 | 建议单价 | 说明 | |---------|---------|------| | 简单转发 | 5-8 元 | 把素材直接转发,配文简单 | | 图文文案 | 8-15 元 | 需要 KOC 写一段文案 | | 短视频 | 15-30 元 | 需要 KOC 拍摄/剪辑视频 |
低于 5 元/条的任务领取率极低,MCP 会主动提醒你。
任务要求撰写指南
任务要求(task_requirement)是影响领取率和完成质量的关键。
好的任务要求示例
发布到小红书,图文形式。
配文需包含"XXX品牌夏日新品"关键词,200字以内。
发布后截图+笔记链接作为回执。
发布到抖音,直接使用我提供的视频素材。
视频标题和文案自由发挥,需要 @XXX品牌 官方账号。
发布后提交视频链接。
建议包含
- 发到哪个平台(小红书 / 抖音 / 知乎 / 微博等)
- 什么形式(图文 / 视频 / 文章)
- 核心文案要点(品牌名、关键词、话题标签等)
- 发布时间要求(如果有)
建议避免
- ❌ 同时要求发到多个平台(拆成多个任务更好)
- ❌ 限制粉丝数(除非你愿意大幅提高单价)
- ❌ 要求原创长视频(复杂度高,完成率低)
- ❌ 要求置顶/加精/上热门(不可控因素)
- ❌ 任务描述太长太复杂(KOC 看到就跑了)
技术架构
整体设计
┌──────────────────┐ stdio ┌───────────────────┐
│ AI 工具 │ ◄──────────► │ xingzi-mcp │
│ (Claude/Cursor) │ MCP协议 │ (Node.js Server) │
└──────────────────┘ └─────────┬─────────┘
│ HTTPS
▼
┌───────────────────┐
│ api.xingziwenhua │
│ .com │
│ (星子助推后端) │
└───────────────────┘
技术栈
- 运行时: Node.js >= 18(使用原生
fetch) - MCP SDK:
@modelcontextprotocol/sdk - 参数校验:
zod(MCP SDK 内置依赖) - 传输协议: stdio(标准输入输出)
- API 通信: HTTPS REST,JSON 格式
认证机制
星子 API 使用非标准认证方式(通过逆向 H5 应用发现):
// 不是标准的 Authorization: Bearer <token>
// 而是三个自定义 HTTP headers:
headers: {
"token": "<JWT>", // 登录返回的 token
"plt": "h5", // 平台标识,固定值
"user_id": "<number>" // 用户 ID
}
Token 有效期 24 小时,MCP 会在过期前自动重新登录。
金额处理
API 内部使用分作为金额单位(如 500 = 5.00 元)。MCP 工具层面统一使用元,内部自动转换。
支付流程
打款走微信 JSAPI 支付,需要微信浏览器环境(WeixinJSBridge)。MCP 无法直接发起支付,改为生成支付页面 URL:
https://m.xingziwenhua.com/spages/material/batchpay?id={task_id}
https://m.xingziwenhua.com/spages/material/batchpay?id={task_id}&to_user_id={koc_id}
用户在微信中打开即可完成付款。支付页面支持修改金额和填写奖励说明。
API 逆向工程笔记
本 MCP 的所有 API 端点都是通过逆向星子助推 H5 应用 (m.xingziwenhua.com) 获得的,平台方没有提供公开 API 文档。
逆向方法
- Puppeteer 模拟移动端浏览器登录 H5 应用
- 拦截 XHR 请求观察 API 调用(自定义 headers 而非标准 Bearer 认证)
- 解析 webpack chunk JS提取所有 API 路径
- 逐个测试端点确认参数和返回格式
关键发现
| 发现 | 详情 |
|------|------|
| 认证方式 | 自定义 header token + plt + user_id,非 Authorization: Bearer |
| 审核接口参数 | 字段名 is_pass(下划线),不是 isPass(驼峰)——Java Spring 反序列化要求 |
| 金额单位 | 「分」,1 元 = 100 |
| 支付限制 | 必须微信 JSAPI,无法纯 API 完成 |
| 频道 ID | 星子代发 = 188 |
| 文件上传 | 走前端直传 COS,API 层面只接受已上传的 URL |
已验证 API 端点
POST /c/user/login — 手机号+密码登录
GET /c/user/detail — 用户信息
GET /c/channel/list-available — 可用推广频道
POST /c/fodder/material/instead/publish — 发布素材任务
GET /c/fodder/material/instead/list — 素材列表
GET /c/fodder/material/instead/materialInfo — 素材详情
POST /c/fodder/material/instead/del — 删除素材
GET /c/fodder/material/instead/postback/list — 回执列表
POST /c/fodder/material/instead/postbackAudit — 审核回执
GET /c/fodder/material/instead/unpaidAward/list — 待打款列表
POST /c/fodder/material/instead/batch/pay/reward — 批量打款 (需微信)
GET /c/withdraw/wallet — 钱包余额
回执状态码 (status)
| 值 | 含义 | |----|------| | 1 | 已领取,未提交回执 | | 2 | 已提交回执,待审核 | | 3 | 审核通过 |
FAQ
Q: 素材文件怎么上传?
MCP 的 publish_task 接收的是文件 URL(公开可访问的链接),不是本地文件路径。你需要先把文件上传到任何文件托管服务(如腾讯云 COS、阿里云 OSS、七牛、甚至 GitHub),然后把 URL 传给 MCP。
星子 H5 应用本身是走前端直传腾讯云 COS 的,但上传接口绑定了前端 SDK,无法通过纯 API 调用。
Q: 为什么打款不能在 MCP 里直接完成?
星子的打款走的是微信 JSAPI 支付,需要在微信浏览器内调用 WeixinJSBridge.invoke('getBrandWCPayRequest', ...)。这是微信支付的技术限制,不是 MCP 的限制。MCP 会生成支付页面链接,你在微信里打开就能付。
Q: 一个任务可以发多个素材文件吗?
可以。files 参数是数组,支持多个 URL,最多 50 个文件。支持格式:gif、jpg、jpeg、png、word、txt、pdf、mp4。
Q: 审核拒绝后素材会怎样?
拒绝后该 KOC 的领取名额会被释放,其他 KOC 可以继续领取。如果你填写了拒绝原因(reject_reason),KOC 也能看到。
Q: Token 过期了怎么办?
不用管。MCP 会在 token 过期前自动用你的账号密码重新登录。token 有效期是 24 小时。
Q: 可以同时用多个账号吗?
一个 MCP 实例对应一个账号。如果需要多个账号,可以在 MCP 配置中添加多个 server,用不同的名字区分:
{
"mcpServers": {
"xingzi-account1": {
"command": "npx",
"args": ["-y", "xingzi-mcp"],
"env": { "XINGZI_MOBILE": "手机号1", "XINGZI_PASSWORD": "密码1" }
},
"xingzi-account2": {
"command": "npx",
"args": ["-y", "xingzi-mcp"],
"env": { "XINGZI_MOBILE": "手机号2", "XINGZI_PASSWORD": "密码2" }
}
}
}
Q: 单价设多少合适?
看任务复杂度。最低建议 5 元,低于 5 元几乎没人领。详见 定价参考。
Q: 支付页面可以改金额吗?
可以。pay_reward 生成的链接打开后,每个 KOC 的金额都可以手动修改。比如某个 KOC 质量特别好,你可以给他多发一些。还可以填写「奖励说明」,KOC 能看到。
Q: 这个 MCP 和星子助推 App 是什么关系?
星子助推是一个完整的 KOC 推广平台,包含推文、短剧、小说等多种推广业务。「素材代发」是其中一个独立产品模块。本 MCP 只封装了素材代发的广告主操作,没有包含星子助推的其他功能(关键词、团队管理、收益统计等)。
Q: 安全吗?账号密码存在哪?
- 环境变量方式:密码存在你本机的 MCP 配置文件中,不会传到除星子 API 之外的任何地方
- 手动登录方式:密码只在当次会话中使用
- MCP 代码完全开源,可以自行审计
Changelog
3.0.0 (2026-04-06)
- 完整端到端流程验证通过
- 代码和文档全面清理
- 发布到 GitHub
2.1.0
pay_reward支持单人/全选打款,支持koc_user_id参数- 支付链接支持
to_user_id筛选
2.0.1
- 修复
audit_postback参数:is_pass(非isPass),claim_id+postback_id(非material_id+id)
2.0.0
- 重构为素材代发专用,砍掉星子助推的无关功能
- 工具从 21 个精简到 11 个
- 默认值优化:频道固定星子代发、常规素材、固定单价、公开可见
- 金额单位从「分」改为「元」
- 新增
guide使用指南工具
1.0.0
- 初始版本,包含星子助推全量 API 封装
License
MIT