npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

writedock-mcp

v0.4.16

Published

WriteDock local MCP server for the browser extension

Readme

WriteDock MCP

连接你自己的 agent 与 WriteDock 浏览器扩展:agent 写稿并准备图片或视频,一次调用发布到多个平台,并按平台查询结果。

MCP 运行在你自己的电脑上,只监听 127.0.0.1。第一次启动时会在后台开一个服务,负责端口和扩展连接,所以 agent 只在需要时才启动 MCP,或者重启 MCP,都不影响连接。部分 agent 退出时会连带结束后台服务(在 Windows 上的 WorkBuddy 见过),重新打开 agent 后就会恢复;没有扩展和 agent 用它超过 2 小时,它会自己退出,下次用到时再启动。平台 Cookie 留在浏览器里,稿件和媒体不经过 npm。

安装

需要 Node.js 22+ 和 Chrome 或 Edge。没有 Node.js 时,agent 应先帮用户安装(nodejs.org 的 LTS 版,或系统的包管理器),需要用户操作时告诉用户,装好后可能要重启 agent 才找得到 npx。然后运行:

npx -y writedock-mcp@latest setup

它会做两件事,并在最后告诉用户下一步:

  • 给本机已有的 Codex、Claude Code、WorkBuddy、Cursor、Claude Desktop 添加 MCP 配置,原文件留一份 .writedock-backup。之前 setup 写的配置会更新,带自定义端口等设置的配置不会改动。
  • 生成启动脚本 ~/WriteDock/start-mcp(Windows 是 .cmd)。电脑上有多个 Node 时,它依次找:setup 用的 Node、系统的 Node、常见安装位置,用第一个 22 或以上的版本。
  • 把内置的扩展放到本机固定目录。

然后重启 agent,在扩展管理页打开开发者模式,加载提示中的文件夹,打开扩展点「连接」。

其他客户端手动添加:

{
  "mcpServers": {
    "writedock": {
      "command": "npx",
      "args": ["-y", "--prefer-online", "writedock-mcp@latest"]
    }
  }
}

Windows 上要写成 "command": "cmd"、"args": ["/c", "npx", "-y", "--prefer-online", "writedock-mcp@latest"]。手动配置依赖系统默认的 Node,版本要够新,能用 setup 就用 setup。如果 PowerShell 提示禁止运行脚本,把安装命令换成 cmd /c npx -y writedock-mcp@latest setup。

首次下载较慢,请把启动超时设为 120 秒。启动后调用 get_connection_status;未连接时,让用户打开扩展点「连接」。

发布

优先使用 publish,一次调用即可:

{
  "platforms": ["zhihu", "baijiahao", "weibo", "xiaohongshu", "douyin"],
  "article": { "file_path": "/absolute/path/article.md" },
  "post": { "kind": "image", "title": "标题", "content": "正文", "image_paths": ["/absolute/path/1.png"] },
  "request_id": "my_post_20261105_01"
}

扩展按平台选择内容:

| 平台 ID | 默认发送 | 说明 | |---|---|---| | zhihu | 文章 | 标题最多 100 字,可内嵌本地 MP4 | | baijiahao | 文章 | 标题最多 64 字;没有 cover 时使用正文第一张图 | | bilibili | 文章 | 不接独立封面;LV1–3 账号每天只能发 1 篇,删除不退额度 | | weibo | 有 post 发图文或视频,否则发长文章 | 长文章标题最多 32 字;视频必须明确 weibo_video_creation | | xiaohongshu | 有 post 发图文或视频,否则发长文 | 长文标题最多 64 字、正文最多 10000 字 | | douyin | 图文或视频 | 不接文章 | | weixin、sohu | 只保存文章草稿 | 不公开发布 |

  • 用 modes 可为微博、小红书指定内容类型,如 {"weibo": "article"}。
  • 某个平台未登录、不能接收这份内容或失败时,只跳过该平台,其他平台继续。
  • 不支持的 cover 会被忽略,并写入该平台的 warnings。标题超长不会被截断,该平台直接失败。
  • 平台依次执行,全部完成通常需要几分钟。同一时间只运行一个任务。
  • 只有用户明确要求发布并指定平台时,才调用发布工具。

rehearse_publish 参数相同,但会在点击发布之前停下,也不需要 request_id。可能上传图片并留下草稿,结果 rehearsed 不代表已发布。

查询结果

publish 立即返回 task_id,随后用 get_sync_task 查询,直到 finished: true。任务结束后,按 summary 逐平台告诉用户结果:

| summary 分类 | 含义 | agent 应该怎么做 | |---|---|---| | submitted | 平台已接受提交,可能还在审核 | 汇报结果和链接 | | draft_saved | 已保存草稿 | 汇报,说明未公开发布 | | rehearsed | 演练结束,未发布 | 不得说已发布 | | not_logged_in | 未登录,未执行 | 请用户登录后,用新 request_id 只重发这些平台 | | login_unconfirmed | 无法确认登录状态,未执行 | 请用户检查后再提交 | | waiting_verification | 正在等用户完成验证码 | 立即转告 user_actions 的提示和链接,继续查询 | | needs_user_action | 需要用户在页面上处理 | 转告原因和链接,不重发;type 为 old_draft 时见下方 | | unknown | 结果未确认,可能已经发布 | 让用户核对,不要重发 | | failed | 未能完成 | 汇报 error,必要时提供 diagnostics |

抖音有上次没发完的内容时,这篇不会上传,user_actions 的 type 是 old_draft。agent 必须先问用户是否放弃旧内容,放弃后无法恢复。用户同意后,用新的 request_id 只对抖音再调用 publish,并传 "discard_old_drafts": ["douyin"];用户不同意就保留旧内容,抖音不发。

验证码由用户手动完成,agent 和扩展都不代做。用户完成后任务会自动更新,不需要重新提交。

相同 request_id 和相同内容不会重复提交;内容变化必须换新 ID。部分平台失败时,只针对失败的平台用新 ID 重发,unknown 的平台不要重发。

工具

| 工具 | 用途 | |---|---| | get_connection_status | 连接状态、运行版本和更新提示 | | list_platforms、check_auth | 平台能力和登录状态 | | publish、rehearse_publish | 一次调用发多平台,以及演练 | | get_sync_task、list_sync_history | 任务结果和最近 25 次记录 | | prepare_article、prepare_post | 可选:把稿件存到扩展里预览 | | publish_article、publish_post、sync_article | 旧版按类型发布,继续可用 | | rehearse_article、rehearse_post | 旧版按类型演练 |

文章来源支持 file_path、markdown、html 三选一,图片支持 PNG/JPEG/GIF/WebP,单张 8 MB,整篇 24 MB。图文图片单张 20 MB、总量 100 MB;视频支持 MP4/MOV/WebM,最大 512 MB。实际限制还以平台页面为准。

已知限制

  • 发布依赖平台页面,平台改版可能导致失败。失败结果的 diagnostics 含阶段、页面结构和请求路径,不含 Cookie、输入内容和 URL 查询参数。
  • 抖音只能通过页面提示确认结果,没有接口回执。遇到短信验证时任务最多再等 10 分钟,没有等到成功提示就交给用户核对。
  • 除 B站外,其他平台的验证码流程尚未在真实验证码上验证过。
  • 视频发布已走到发布前,但尚未真实发布验证。
  • submitted 不跟踪之后的审核结果。

更新

  • MCP: --prefer-online 在每次启动时检查新版,重启 agent 即可。配置里的 @latest 是有意的,不要固定版本,否则收不到更新。新版会在旧的后台服务空闲后替换它;有任务时会等,通常几分钟内完成。
  • 扩展: 新版 MCP 内置更新的扩展时,扩展的「连接 agent」页会出现「更新扩展」。用户点一下,MCP 覆盖扩展目录,扩展自行重新加载;发布任务进行中不能更新。

有新版本时,任务结束的结果和 get_connection_status 会带 update_notice,agent 应在汇报时把里面的步骤原样转告用户一次。扩展不会自己更新,要用户点「更新扩展」。

调用工具时如果扩展还没连上,服务最多等 45 秒,等不到才报错。这时还没有发送任何内容,所以不会重复提交。

连接资料保存在用户数据目录的 identity-端口.json:

  • macOS:~/Library/Application Support/WriteDock/mcp/
  • Windows:%LOCALAPPDATA%/WriteDock/mcp/
  • Linux:${XDG_DATA_HOME:-~/.local/share}/writedock/mcp/

后台服务的日志是同目录下的 service.log。

卸载重装扩展后,在扩展里再点一次「连接」即可,不需要重装 MCP。npx -y writedock-mcp@latest --version 只显示版本。

对应源码位于包内 source/。本服务遵循 GPL-3.0-only,见 LICENSE、NOTICE.md 和 THIRD_PARTY_NOTICES.txt。