1. 小红书自动发布为什么总卡在 Key 和浏览器环境上
做小红书内容的朋友大概率都遇到过这个场景:选题、写文案、配图、发布,一套流程走下来半小时没了,一天能稳定产出三篇就算高产。想用 AI 提效,结果发现工具链是散的——写文案用一个模型,生成图片用另一个服务,发布又得手动打开创作服务平台粘贴。更麻烦的是每个工具都要单独申请 API Key,散落在各个平台的账号设置页里,换台电脑就得重新翻一遍。
Trae 这类 AI 编程工具配合 MCP 协议,理论上能把这条链路串起来。MCP 是模型与外部工具交互的标准化协议,你可以把它理解成「AI 的 USB 接口」——只要工具实现了 MCP Server,AI 就能按统一方式调用它。小红书发布器、图片生成器都有现成的 MCP Server,Trae 负责编排调用顺序,浏览器自动化负责实际点击发布。
但真正动手时会撞上三堵墙。第一堵是 ChromeDriver 版本必须和本机 Chrome 完全对应,差一个小版本号就报 session not created。第二堵是 MCP Server 启动依赖 uvx 拉取 Python 包,网络波动时依赖下载超时,终端只给一行 UV_HTTP_TIMEOUT 相关提示,新手容易懵。第三堵最隐蔽:多个 MCP Server 各自要配 API Key,图片生成一个、文案模型一个、发布器一个,配置文件里 env 字段越写越长,改一个忘一个。
这篇就按「环境准备 → MCP 配置 → 统一 Key 接入 → 验证发布 → 排错」的顺序走一遍。核心思路是用 TaoToken 把模型调用的 Key 收敛成一个,MCP 配置里只维护 Base URL 和 Model ID,减少散落配置带来的维护成本。适合已经在用 Trae、想让小红书发布流程半自动化的博主,也适合想练手 MCP 配置的开发者。
2. TaoToken 统一 Key 接入 MCP 的前置准备
先说清楚 TaoToken 在这条链路里扮演什么角色。它提供的是模型 API 的统一接入层,你拿到一个 Key 之后,可以在兼容 OpenAI 协议的各种客户端里调用不同模型。对于 MCP 场景,好处是图片生成、文案生成这些需要模型能力的环节,不用分别去不同平台申请 Key,配置里只写一个 Base URL 加一个 Key 就行。
官网入口在这里:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 地址是 https://taotoken.net/api ,注意 API 地址不带 UTM 参数,配置时直接填这个。
前置准备分三块。
第一块是 Chrome 和 ChromeDriver。打开 Chrome,地址栏输入chrome://settings/help,记下版本号,比如136.0.7103.93。然后用 puppeteer 的浏览器安装器拉对应版本:
npx @puppeteer/browsers install chromedriver@136.0.7103.93装完后把 chromedriver 所在目录加到系统 PATH,否则 MCP Server 启动时找不到驱动,会报WebDriverException: 'chromedriver' executable needs to be in PATH。Windows 在「系统属性 → 环境变量」里加,macOS 在~/.zshrc里 export。
第二块是 Python 环境和 uvx。uvx 是 uv 工具链里的命令,用来直接运行 Python 包而不用手动建虚拟环境。确认装好 Python 3.10 以上,然后:
pip install uv uvx --version第三块是 TaoToken 的 Key。登录后在控制台创建 API Key,路径是 https://taotoken.net/console ,Key 只在创建时显示一次,复制存好。模型 ID 可以在模型对话页面试用确认,地址 https://taotoken.net/models 。如果你打算长期跑编码类 Agent 任务,也可以看下 Coding Plan 页面 https://taotoken.net/coding-plan ,按用量选套餐比单次调用划算。
这三块准备好,后面配置文件里就有东西可填了。别跳过 ChromeDriver 版本核对,这是后面 80% 报错的根源。
3. Trae 中配置小红书 MCP Server 与统一 Key 的完整片段
Trae 的 MCP 配置走的是标准 JSON 格式,在设置里找到 MCP 服务管理,添加自定义 Server。先配小红书发布器,配置文件片段如下:
{ "mcpServers": { "xhs-mcp-server": { "command": "uvx", "args": [ "xhs_mcp_server@latest" ], "env": { "phone": "YOUR_PHONE_NUMBER", "json_path": "D:\\Work\\XHS_COOKIES", "UV_HTTP_TIMEOUT": "600" } } } }几个参数说明。phone填你的手机号,登录小红书时用来接收验证码。json_path是 cookie 存储目录,建议用绝对路径,相对路径在不同工作目录下会找不到文件,报FileNotFoundError。UV_HTTP_TIMEOUT设成 600 秒,防止依赖下载超时。
首次登录要在终端手动跑一次,让 cookie 落盘:
env phone=156xxxxxxxx json_path=D:\Work\XHS_COOKIES UV_HTTP_TIMEOUT=600 uvx --from xhs_mcp_server@latest login执行后会弹出 Chrome 窗口,手机收到验证码后在终端输入(注意不是浏览器页面里输),回车。成功后json_path目录下会生成xiaohongshu_cookies.json。再跑一次同样的命令,如果显示用 cookies 登录成功,说明凭证有效。
接下来配图片生成 MCP,这里接入 TaoToken 统一 Key。因为图片生成 MCP 底层走的是模型调用,把 Base URL 指向 TaoToken 的 API 地址即可:
{ "mcpServers": { "modelscope_image_gen_mcp": { "command": "python", "args": [ "-m", "modelscope_image_gen_mcp" ], "env": { "OPENAI_API_KEY": "YOUR_TAOTOKEN_KEY", "OPENAI_BASE_URL": "https://taotoken.net/api", "MODEL_ID": "YOUR_MODEL_ID" } } } }这里三件套要写全:Base URL 是https://taotoken.net/api,Key 是你在控制台创建的那串,Model ID 在模型对话页面确认后填进来。如果你的图片生成 MCP 用的是别的环境变量名,按它文档里的字段名替换,值不变。
两个 Server 配好后,Trae 的 MCP 面板里应该能看到create_note和create_video_note两个工具,状态变成可用。如果状态一直转圈,看 Trae 的 MCP 日志,通常是 uvx 还在拉包或者 ChromeDriver 路径没生效。
4. 验证请求:从主题到笔记发布跑通一次
配置完别急着写复杂智能体,先用 MCP Inspector 单独验证发布器能不能用。终端执行:
npx @modelcontextprotocol/inspector -e phone=156xxxxxxxx -e json_path=D:\Work\XHS_COOKIES uvx xhs_mcp_server@latest启动后浏览器打开http://127.0.0.1:6274,在工具列表里选create_note,填入标题、正文、图片路径,点运行。正常的话会自动打开 Chrome,进入创作服务平台,上传图片、填标题内容、提交。这一步跑通说明浏览器自动化和 cookie 都没问题。
然后回到 Trae,创建一个智能体,MCP 工具只勾选modelscope_image_gen_mcp和xhs-mcp-server,别多选,多选容易让模型在调用时混淆。提示词可以这样写:
你是一个小红书笔记生成与发布助手。每次收到主题后按顺序执行: 1. 根据主题联网搜索相关热点; 2. 生成小红书笔记标题(不超过20字)和正文; 3. 根据笔记内容生成2张配图; 4. 调用 xhs-mcp-server 发布图文笔记。输入一个主题,比如「秋季护肤小技巧」,观察执行过程。智能体先搜索、再生成文案、再调图片生成、最后调发布器。第一次跑可能会因为图片路径编码问题发布失败,智能体会自动重试修复,这是正常现象。发布成功后去小红书创作服务平台看,笔记应该已经在列表里。
验证环节的关键是看每一步的返回。图片生成返回的是文件路径,发布器需要能读到这个路径。如果路径里有中文或空格,偶尔会出问题,建议把工作目录设成纯英文路径。
5. 常见报错排查:401、local proxy failed、reading choices
跑这条链路会撞上几类典型报错,逐个说。
401 Unauthorized。出现在图片生成或模型调用环节,说明 TaoToken 的 Key 没生效。检查三处:配置文件里 Key 有没有多余空格;Base URL 是不是https://taotoken.net/api(别漏了 /api);Model ID 是否在模型对话页面确认过可用。如果 Key 是在别的客户端用过没问题,那大概率是环境变量名对不上,看 MCP Server 文档要求的是OPENAI_API_KEY还是别的名字。
local proxy failed。这个报错通常和网络环境有关,MCP Server 启动时拉取依赖或调用外部服务失败。先确认UV_HTTP_TIMEOUT设了足够大,再检查本机是否能正常访问外网。如果是公司网络有出口限制,换个人热点试一次,能通就说明是网络策略问题。
reading choices 相关报错。这类报错一般出现在模型返回格式不符合预期时,比如图片生成 MCP 期望拿到 URL 但拿到了 base64。检查 Model ID 是否支持图片生成能力,有些纯文本模型调图片接口会返回结构不对。换一个确认支持图片的模型 ID 再试。
OAuth 相关报错。如果 MCP Server 要求 OAuth 授权而你没配,会卡在授权环节。小红书发布器走的是 cookie 登录,不涉及 OAuth;但如果你接了别的需要 OAuth 的 MCP,按它文档走一遍授权流程,把 token 写进 env。
ChromeDriver 版本不匹配。报错关键词是session not created: This version of ChromeDriver only supports Chrome version XX。回到第 2 节,用chrome://settings/help核对版本,重新装对应版本的 chromedriver,确保 PATH 生效后重启 Trae。
cookie 文件找不到。报FileNotFoundError,检查json_path目录是否存在,路径里的反斜杠在 JSON 里要写成双反斜杠\\。用绝对路径最稳。
排错时优先看 Trae 的 MCP 日志面板,里面会打印 Server 的 stderr,比猜快得多。如果日志里看到 uvx 在反复重试下载,就是网络问题,加大超时或换网络。
6. 把 Key 收敛成一个之后,日常怎么用
跑通一次之后,日常使用就简单了。Trae 里保存好智能体,每次输入主题,等它跑完去小红书后台确认。图片生成和文案生成都走 TaoToken 的 Key,配置文件里只有一处需要维护,换 Key 或换模型只改一个地方。
如果你还想扩展,比如加一个视频笔记发布,xhs-mcp-server里有create_video_note工具,智能体提示词里加一步调用即可。想换模型试效果,去模型对话页面确认新 Model ID,改配置里的MODEL_ID字段,重启 MCP Server 生效。
几个实用建议。cookie 文件有有效期,隔一段时间要重新跑一次 login 命令刷新。工作目录用纯英文路径,避免编码问题。智能体的 MCP 工具别贪多,只勾必需的,减少调用混淆。Chrome 自动更新后记得重新核对 ChromeDriver 版本,这是最容易忘的一步。
接入文档在 https://taotoken.net/doc ,API Key 管理在 https://taotoken.net/api-keys ,模型对话试用在 https://taotoken.net/models 。配置过程中卡在某个报错,先对照第 5 节排查,大部分问题出在版本和路径上。