goofish-cli
The goofish-cli MCP server provides comprehensive automation for the Xianyu (Goofish) platform, enabling AI agents and users to manage listings, messaging, and account activities. Key capabilities include:
Authentication & Account: Import login credentials via browser or QR code (
auth_login), check session validity (auth_status), and reset risk-control limits (auth_reset_guard).Item Management: Publish new items with auto-categorization and default address (
item_publish), delete or delist items (item_delete), fetch product details via API or browser for more data (item_get,item_view), and list active listings (item_list).Media & Categorization: Upload images to the platform CDN (
media_upload), get AI-recommended categories based on title and images (category_recommend), and retrieve default shipping location (location_default).Messaging (IM): List conversations (
message_list_chats), fetch full message history (message_history), send text or image messages (message_send), and watch real-time incoming messages via WebSocket (message_watch).Search & Discovery: Search for products using browser automation (
search_items).AI Agent Integration: Install predefined Claude Skills (overview, publish, reply, risk-guard, shop diagnosis) to enhance agent capabilities (
skills_install). Built as an MCP server for direct agent consumption.Output & Safety: Supports JSON, YAML, table, Markdown, CSV outputs. Includes rate limiting (1 write/min) and automatic circuit breaking to prevent abuse.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@goofish-cliCheck my Xianyu login status."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
goofish-cli
闲鱼 CLI · 原生支持 MCP · 为 AI Agent 而生
Goofish (Xianyu) automation CLI · MCP-ready · Built for AI Agents
goofish-cli 把闲鱼(Xianyu/Goofish)的核心运营能力抽成一套结构化命令,
同一份定义同时输出给四种消费者:
👨💻 人类:
goofish item get 12345 --format table🤖 AI Agent(Claude Code / Cursor / Codex):
uvx goofish-cli→ 自动注册成 MCP tool🧩 Claude Skills(v0.3):5 个内置 skill,
goofish skills install一行装到~/.claude/skills/OpenClaw:ClawHub bundle 一次安装 MCP server + 5 个 skills
架构思想来自 opencli 的 single-registry 设计。
✨ 核心特性
🔐 17 个命令覆盖核心链路:发布、下架、查询、图片上传、AI 类目识别、默认地址、IM 收发 + 会话列表、skills 安装
📡 真·实时 IM:WebSocket 长连 + 自动重连 + 三类事件分类输出
event=message(收到消息)·event=read(已读回执)·event=new_msg(轻量通知)
🛡 内置风控护栏:令牌桶限流(1 写/分钟)+ RGV587 自动熔断
🧠 AI-first I/O:
--format json/yaml/table/md/csv,给 LLM 喂 JSON、给人看表格⚡ 一次定义,三种入口:CLI / MCP / Skill 共享同一 registry
✅ 真实端到端验证:每个命令都跑过真实账号
Related MCP server: xhs-mcp-light
🚀 60 秒上手
# 1. 安装
pip install goofish-cli # 或 uv pip install goofish-cli
# 2. 导入 cookie(从浏览器 DevTools → Application → Cookies 导出)
goofish auth login ~/Downloads/goofish-cookies.json
# 3. 验证登录态
goofish auth status
# → {"unb":"<masked-unb>","tracknick":"<masked-tracknick>","nick":"...","valid":true}
# 4. 干活
goofish item get 1045171414271
goofish message watch # 实时接收消息
goofish message send <cid> <toid> --text "在的" # 发消息🧩 Claude Skills(v0.3 新增)
v0.3 起内置 5 个 Claude Skill,装完之后 Claude Code / Cursor 里的 Agent 在识别到 闲鱼任务就会自动加载对应 skill 的知识库,不再靠 zero-shot 试错。
# 装到 ~/.claude/skills/(默认)
goofish skills install
# 或者只看有哪些 skill,不拷贝
goofish skills install --list
# 或者装到自定义目录 + 覆盖已有的
goofish skills install --dest ./skills --force5 个 skill 分工
Skill | 什么时候激活 | 核心能力 |
| 用户首次提闲鱼 / 问这工具能干啥 | 总入口,dispatch 到其他 4 个 skill |
| 发商品 / 上架 / 挂闲置 | 类目识别 → 标题 5 段式 → 风控扫描 → 图片检查 → 确认发布 |
| 回消息 / 看未读 / 议价 | 拉未读 → 意图 5 分类 → 议价三档(小刀/大刀/屠龙刀)→ 用户确认发送 |
| 发布前 / 发送前 / 被限流了 | 违禁词表、外联词正则、发布红线、x5sec 恢复指引(被其他 skill 频繁引用) |
| 店铺没流量 / 曝光掉了 | 买家视角搜索 + 历史对比 → 归因清单 + 修复建议(纯读不写) |
skill 的源文件在仓库的 skills/ 目录下(每个 skill 一个子目录,含 SKILL.md
references/*.md知识库)。也可以走 Claude Code Plugin Marketplace 安装:
claude /plugin marketplace add fancyboi999/goofish-cliOpenClaw / ClawHub
OpenClaw 2026.6.1 及以上可把本仓库作为 compatible bundle 加载。ClawHub 发布后:
openclaw plugins install clawhub:openclaw-goofish
# 登录态由用户在终端初始化,不交给 Agent 覆盖
uvx --from goofish-cli==0.3.0 goofish auth login --qr
openclaw plugins inspect goofish --json
openclaw gateway restart本地开发无需发布:
openclaw plugins install -l .
openclaw plugins inspect goofish --json重启后新会话会获得 5 个 skills,以及 goofish__auth_status、
goofish__item_get 等 MCP tools。bundle 默认不暴露需要操作者执行或会长期阻塞的
auth_login、auth_reset_guard、message_watch、skills_install。
运行 MCP server 需要 PATH 中有 uv。完整说明见
MCP 接入指南。
📟 命令详略与真实输出
$ goofish list-commands --format table命令 | 说明 | 写操作 |
| 从 JSON 文件或 cookie 字符串导入登录态 | ❌ |
| 检查登录态是否有效 | ❌ |
| 手动解除风控熔断 | ❌ |
| 查询闲鱼商品详情 | ❌ |
| 发布商品(自动识别类目 + 默认地址) | ✅ |
| 下架/删除商品 | ✅ |
| 上传图片到闲鱼 CDN | ✅ |
| AI 识别商品类目 | ❌ |
| 获取默认发布地址 | ❌ |
| 拉取会话列表(左栏; | ❌ |
| 搜索闲鱼商品(浏览器路径 Playwright + 系统 Chrome) | ❌ |
| 浏览器视角看商品详情(字段完整,抗风控; | ❌ |
| 拉取会话历史消息 | ❌ |
| 发送文本/图片 | ✅ |
| 常驻 IM 长连(JSONL 输出) | ❌ |
{
"unb": "<masked-unb>",
"tracknick": "<masked-tracknick>",
"nick": "闲鱼用户昵称",
"valid": true,
"h5_token_exp": "2026-04-21T20:30:00+08:00"
}$ goofish message watch实时输出(小号给主号发 3 条 + 主号读了所有消息):
{"event":"message","cid":"<masked-cid>","send_user_id":"<masked-user-id>","send_user_name":"小号昵称","send_message":"测试消息1"}
{"event":"message","cid":"<masked-cid>","send_user_id":"<masked-user-id>","send_user_name":"小号昵称","send_message":"测试消息2"}
{"event":"message","cid":"<masked-cid>","send_user_id":"<masked-user-id>","send_user_name":"小号昵称","send_message":"测试消息3"}
{"event":"read","cid":"<masked-cid>","msg_ids":["<masked-msg-id-1>","<masked-msg-id-2>","<masked-msg-id-3>"],"status":1,"ts":"<masked-timestamp>"}事件 | 字段 |
| cid · send_user_id · send_user_name · send_message · content_type |
| cid · msg_ids[] · status · ts |
| cid · msg_id · ts(服务端只推指针,需 |
自动跳过噪音:/s/para(对方正在输入)、contentType=8(会话激活心跳)。
$ goofish message send <masked-cid> <masked-user-id> \
--text "在的 claude 测试成功 ✅" --item-id 1045171414271{"ok": true, "mid": "<masked-message-id>", "cid": "<masked-cid>"}$ goofish item publish \
--title "男士毛呢大衣 驼色长款" \
--desc "全新未拆封 原价 2999 现 999" \
--images ./a.png,./b.png \
--price 999流程:
media upload每张图 → CDN URL + 尺寸category recommend拿 AI 识别的 catIdlocation default拿默认地址mtop.idle.pc.idleitem.publish落库
返回:
{"ok": true, "itemId": "1046118265141", "status": "published"}触发令牌桶限流(1 写/分钟)。高频调用会被本地拒绝,避免被闲鱼风控。
🔌 接入 Claude Code(MCP)
在 ~/.config/claude-code/config.json:
{
"mcpServers": {
"goofish": {
"command": "uvx",
"args": ["goofish-cli"]
}
}
}Claude 会自动把全部命令看成 tool:goofish_item_get / goofish_item_publish / goofish_message_watch... 你在对话里直接说"帮我看下 itemId=xxx 的详情",Claude 就会调用。
🎯 项目亮点
能力 | 说明 |
11 个核心 mtop 接口 | 发布/下架/查询/图片/类目/地址/IM 全覆盖 |
CLI + |
|
MCP Server |
|
WebSocket 批量 push 全量解码 | 一帧多条消息全部还原,不丢单 |
WebSocket 自动重连 | 断线自退避重连,长跑无感知 |
已读回执 / typing / 新消息通知分类 |
|
全局限流 + 风控熔断 | 令牌桶 1 写/分钟 + RGV587 自动熔断 |
单元测试 | 33 个,ruff 零告警 |
包分发 |
|
🗺 Roadmap
v0.1:12 个命令 + MCP + IM 三类事件
v0.2:
goofish message list-chats(会话列表 + sessionType 分类:1 真人 / 3 系统 / 6 互动 / 23 通知;--watch-secs支持合并 WSackDiff(pts=0)历史推送补齐 h5 接口漏掉的会话)v0.2:浏览器自动化链路(吸纳 OpenCLI 精华)—— Playwright + 系统 Chrome 驱动
goofish search items/goofish item view,抗风控 & 完整字段v0.2.3 / v0.2.4:session 自动续命(passport 快速进入)+
auth login --qr扫码兜底v0.3:Claude Skills 包装(5 个 skill:overview / risk-guard / publish-item / reply-buyer / shop-diagnosis)+
goofish skills installv0.4:
goofish message create-chat(主动与陌生用户建会话)v0.4:
goofish order(订单状态查询 / 发货)v0.4:历史数据落盘(SQLite / JSONL),给 shop-diagnosis 做时序归因
v0.5:支持发视频消息
🛠 开发
git clone https://github.com/fancyboi999/goofish-cli
cd goofish-cli
uv venv --python 3.11
uv pip install -e ".[dev]"
uv run pytest # 33 测全绿
uv run ruff check src tests # 零告警详细请看 CONTRIBUTING.md 和 docs/architecture.md。
⚠️ 合规声明
本工具仅用于用户自有账号的自动化运营。严禁:
欺诈 / 刷单 / 虚假交易
针对闲鱼平台的 SaaS 化转售
违反闲鱼、淘宝、阿里巴巴用户协议的行为
工具不提供:绕过滑块验证、批量设备 ID 伪造、自动化规避封号。遇到风控请人工处理(见 docs/compliance.md)。
📜 License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityDmaintenanceAn MCP server that automates Xianyu marketplace operations through Playwright, allowing users to manage listings and conduct market research via natural language. It features integrated tools for generating AI-powered product descriptions and cover images using DashScope.1121
- FlicenseAqualityCmaintenanceA lightweight MCP server that lets AI assistants publish notes to Xiaohongshu (Little Red Book) via browser automation. Supports login, image-text note publishing with up to 9 images, and search.41
- FlicenseAqualityBmaintenanceAn MCP server that exposes marketplace seller operations (Shopee first) as tools Claude can call, enabling automation of product, pricing, inventory, customer service, and other seller tasks.32
- AlicenseNot gradedqualityBmaintenanceMCP server for Xiaohongshu (xiaohongshu.com) enabling login, note/video publishing, search, recommendations, and comment management via CLI or MCP protocol.1MIT
Related MCP Connectors
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
MCP server for Hailuo (MiniMax) AI video generation
Managed LinkedIn MCP server for AI agents: search, connect, message and enrich on accounts you own.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/fancyboi999/goofish-cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server