MB

mousepotato/baidu-netdisk-xianyu

Browser automation
82 stars 16 forks Quality 76 Trend 41MIT

百度网盘 - 闲鱼 MCP 一键发布

Overview

可在 Cursor / Claude / Grok 等 Agent 里用自然语言调用。 - **官方运营工具,也不保证长期稳定。 - 闲鱼侧通过 模拟网页操作,可能因页面改版、风控、登录态失效而失败。 - 请遵守 百度网盘开放平台、闲鱼 / 阿里体系用户协议与当地法律法规。 - **将本项目用于骚扰、批量违规上架、侵犯他人权益或其他违法用途。 - 使用本项目产生的一切后果由使用者自行承担;作者与贡献者不承担连带责任。 - - 仓库已提供 .env.example;真实文件名为 .env(已被 .gitignore 忽略)。 - **公开:Access Token、AppKey/SecretKey、闲鱼 Cookie、个人网盘目录导出(如 inventory/)。 - 若密钥曾出现在聊天记录或截图中,公开仓库前请 。 - macOS / Linux(Windows 需自行改路径) - Python (不建议 3.14) - uv(推荐) - 支持 MCP 的客户端:Cursor / Claude Desktop / Grok 等 ~/.cursor/mcp.json 或项目 .cursor/mcp.json: 1. 对话里让 Agent 调用 → 在**里扫码 2. :image = 本地图片绝对路径,description = 文案,price = 价格 3. 查看返回的草稿截图 4. 确认无误后再 (真实发布,谨慎) 5. 查看在售 常用工具:login / search_market / draft_item / publish_item / get_selling_items / manage_item / get_page_content / restart_browser 1. 打开 百度网盘开放平台 · 我的应用 创建应用 2. 完成 OAuth 授权,从回跳 URL 复制 access_token 3. 写入项目根目录 .env():

README

baidu-netdisk-xianyu

本仓库提供两个 MCP:

  • Baidu Netdisk MCP:操作百度网盘
  • 闲鱼 MCP:操作闲鱼(goofish.com)网页

可在 Cursor / Claude / Grok 等 Agent 里用自然语言调用。

MCP 目录 作用 能否单独使用
Baidu Netdisk MCP baidu-netdisk-mcp/ 列目录、搜索、管理、容量、分享等 ✅ 可以只接网盘
闲鱼 MCP xianyu-mcp/ 登录、搜市场、草稿、发布、在售管理 ✅ 可以只接闲鱼,不必装网盘

两者互不强制依赖。只想练闲鱼发布 → 只配置 xianyu-mcp 即可。


⚠️ 使用须知(请先读)

1. 仅供学习与自用自动化

本仓库代码与文档 仅供学习交流、技术验证与个人自用自动化。

  • 不是官方运营工具,也不保证长期稳定。
  • 闲鱼侧通过 浏览器自动化(Playwright) 模拟网页操作,可能因页面改版、风控、登录态失效而失败。
  • 请遵守 百度网盘开放平台、闲鱼 / 阿里体系用户协议与当地法律法规。
  • 禁止将本项目用于骚扰、批量违规上架、侵犯他人权益或其他违法用途。
  • 使用本项目产生的一切后果由使用者自行承担;作者与贡献者不承担连带责任。

下载、使用本仓库即表示你已阅读并同意以上说明。

2. 自动化相关边界

点 说明
闲鱼 = 网页自动化 会拉起浏览器;Cookie 存在本机 .cache/,不要提交到 git
发布不可撤销 publish_item 会真实点「发布」,务必先 draft_item 看截图再确认
日常浏览器 ≠ MCP 浏览器 Chrome 里已登录闲鱼,不代表 Playwright 会话已登录
网盘 = 开放平台 API 需要你自己的 Access Token;权限以你的应用与授权为准
频率与风控 请控制调用频率,避免短时间大量操作触发平台限制

3. 密钥与隐私

  • 所有密钥只放本机 .env 或 MCP 配置的 env,禁止提交 git。
  • 仓库已提供 .env.example;真实文件名为 .env(已被 .gitignore 忽略)。
  • 不要公开:Access Token、AppKey/SecretKey、闲鱼 Cookie、个人网盘目录导出(如 inventory/)。
  • 若密钥曾出现在聊天记录或截图中,公开仓库前请 轮换 Token / 重置密钥。

仓库结构

baidu-netdisk-xianyu/
├── baidu-netdisk-mcp/         # Baidu Netdisk MCP(stdio)
│   ├── server.py
│   └── pyproject.toml
├── xianyu-mcp/                # 闲鱼 MCP(stdio)
│   ├── server.py
│   ├── tools/
│   └── .env.example
├── scripts/                   # 可选:本机注册 / 校验辅助脚本
├── docs/                      # 更细的 Agent 接入说明
├── .env.example               # 网盘侧环境变量模板
├── .gitignore
└── README.md

环境要求

  • macOS / Linux(Windows 需自行改路径)
  • Python 3.12(不建议 3.14)
  • uv(推荐)
  • 支持 MCP 的客户端:Cursor / Claude Desktop / Grok 等
# 检查
python3.12 --version
uv --version

方案 A:只使用闲鱼 MCP(推荐先跑通)

不需要百度网盘、不需要 Access Token。

1. 安装依赖

cd xianyu-mcp
uv sync
uv run playwright install chromium

2. 环境变量(可选)

文案/AI 生图需要模型 Key 时再配;手写文案 + 本地图片路径可以不配 Key:

cp .env.example .env
# 按需编辑 AGENT_LLM_API_KEY 等

3. 接到 MCP 客户端(以 Cursor 为例)

~/.cursor/mcp.json 或项目 .cursor/mcp.json:

{
  "mcpServers": {
    "xianyu": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/repo/xianyu-mcp",
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "PLAYWRIGHT_HEADLESS": "false",
        "UV_PYTHON": "python3.12"
      }
    }
  }
}

Grok 示例:

grok mcp add xianyu \
  -e "PLAYWRIGHT_HEADLESS=false" \
  -e "UV_PYTHON=python3.12" \
  -- uv --directory /path/to/repo/xianyu-mcp run python server.py

4. 最小使用流

  1. 对话里让 Agent 调用 login → 在弹出的浏览器里扫码
  2. draft_item:image = 本地图片绝对路径,description = 文案,price = 价格
  3. 查看返回的草稿截图
  4. 确认无误后再 publish_item(真实发布,谨慎)
  5. get_selling_items 查看在售

常用工具:login / search_market / draft_item / publish_item / get_selling_items / manage_item / get_page_content / restart_browser

更细说明见 xianyu-mcp/README.md。


方案 B:只使用 Baidu Netdisk MCP

不需要闲鱼。

1. 获取 Access Token

  1. 打开 百度网盘开放平台 · 我的应用 创建应用
  2. 完成 OAuth 授权,从回跳 URL 复制 access_token
  3. 写入项目根目录 .env(不要提交):
cp .env.example .env
# 编辑:
# BAIDU_NETDISK_ACCESS_TOKEN=你的token

MCP 鉴权用的是 Access Token,不是 App Key。App Key 只用于发起授权。

2. 安装 Baidu Netdisk MCP

cd baidu-netdisk-mcp
UV_PYTHON=python3.12 uv sync

3. 客户端配置示例

方式 1:官方远程 SSE(部分客户端可用)

{
  "mcpServers": {
    "baidu-netdisk": {
      "url": "https://mcp-pan.baidu.com/sse?access_token=你的AccessToken"
    }
  }
}

方式 2:Baidu Netdisk MCP(stdio)(Grok 等对 SSE 不友好时更稳)

{
  "mcpServers": {
    "baidu-netdisk": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/repo/baidu-netdisk-mcp",
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "BAIDU_NETDISK_ACCESS_TOKEN": "你的token",
        "UV_PYTHON": "python3.12"
      }
    }
  }
}

验证:让 Agent 执行「查网盘容量」「列出根目录」。

Baidu Netdisk MCP 常见工具:user_info / get_quota / file_list / file_keyword_search / 文件管理 / file_sharelink_set 等。

更细说明见 docs/MCP_INTEGRATION_FOR_AGENTS.md。


方案 C:两个一起用(可选)

先接网盘查目录 → 素材落到本机路径 → 再调闲鱼 draft_item 发布。
闲鱼上传封面需要本机文件路径或图片 URL,一般不能直接传网盘 fs_id。

对话示例:

1. 用 Baidu Netdisk MCP 列出 /某目录
2. 把封面图准备到 ~/Desktop/cover.png(本机路径)
3. 闲鱼 login
4. draft_item(image=..., description=..., price=...)
5. 确认截图后 publish_item

两个 MCP 在客户端配置里并列即可,名称自定。


密钥放哪里

内容 放哪 是否进 git
百度 Access Token / AppKey / Secret 项目根 .env 或 MCP env ❌ 否
闲鱼 Cookie xianyu-mcp/.cache/(运行后自动生成) ❌ 否
模板 .env.example、xianyu-mcp/.env.example ✅ 可以
个人网盘导出清单 本地自用,勿提交 ❌ 否
# 克隆后
cp .env.example .env
cp xianyu-mcp/.env.example xianyu-mcp/.env
# 只填你需要的那一侧

常见问题

Q: 不想接百度,只想发闲鱼?
A: 可以。只配置 xianyu-mcp,忽略 baidu-netdisk-mcp 与网盘 Token。

Q: 不想接闲鱼,只想让 Agent 管网盘?
A: 可以。只配置 Baidu Netdisk MCP(目录 baidu-netdisk-mcp/)。

Q: Token / 登录总失败?
A: 网盘 → 重新 OAuth 换 Token;闲鱼 → 在 Playwright 弹出窗口扫码,必要时 restart_browser 后再 login。

Q: 官方 SSE 握手 405?
A: 改用 Baidu Netdisk MCP 的 stdio 模式(baidu-netdisk-mcp/)。

Q: Python 依赖装不上?
A: 使用 3.12:UV_PYTHON=python3.12 uv sync。


免责声明(摘要)

本项目 仅供学习与个人自用自动化研究,不提供任何经营担保。
使用者应自行确保操作符合平台规则与法律法规;因滥用、违规、密钥泄露、账号封禁等导致的损失,由使用者自行负责。

本仓库 xianyu-mcp 参考并借鉴了 FishClaw_MCP(闲鱼 Playwright 自动化 MCP)。使用闲鱼相关能力时,请同时阅读其上游说明与免责声明;详见 xianyu-mcp/README.md。


参考


License

MIT © 2026 mousepotato

贡献代码前请确认你理解「学习 / 自用自动化」边界,勿将本项目包装为违规用途的工具。

View this README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide

Configuration

{ "mcpServers": { "xianyu": { "command": "uv", "args": [ "--directory", "/path/to/repo/xianyu-mcp", "run", "python", "server.py" ], "env": { "PLAYWRIGHT_HEADLESS": "false", "UV_PYTHON": "python3.12" } } } }