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

@waitlistpack/mcp

v0.1.0

Published

Local stdio bridge for the WaitlistPack MCP server. Lets Claude Desktop, Cursor, and other MCP clients talk to api.waitlistpack.com over a single API key, with zero remote-MCP wiring required on the client side.

Readme

@waitlistpack/mcp

WaitlistPack 的本地 MCP 服务器。让 Claude Desktop、Cursor 以及任意 MCP 客户端通过一个 API key 直接管理你的 waitlist、订阅者和邮件广播。

English

它做什么

这是一个本地 stdio bridge:MCP 客户端把它启动为本地子进程,它把每一次 MCP 调用透传到 https://api.waitlistpack.com/mcp,用你的 API key 作为 Bearer token 鉴权。真正的服务器、RLS、业务逻辑都跑在云端,这个包只负责传输 —— 这样即使客户端没原生支持远端 HTTP MCP,也能用上 WaitlistPack。

它给你的 AI 客户端暴露 7 个工具:

| 工具 | 作用 | | ------------------ | ------------------------------------ | | list_waitlists | 列出你的 waitlist | | list_subscribers | 列出订阅者,支持筛选和套餐配额遮蔽 | | create_waitlist | 创建新 waitlist | | add_subscriber | 给 waitlist 添加订阅者 | | update_waitlist | 改 waitlist 的名字 / 域名 / 欢迎邮件 | | delete_waitlist | 软删除 waitlist(需要邮件确认) | | send_broadcast | 群发邮件给订阅者(需要邮件确认) |

最后两个高风险动作会给你的邮箱发一个一次性确认链接 —— 点开链接,然后让 AI 用相同的参数重试一次,第二次调用就会真的执行。

快速开始

1. 拿到 API key

登录 waitlistpack.com,进入 Settings → API keys,点 Create key。复制 wlp_sk_… 这段值 —— 只显示一次。

2. 把 server 加到 MCP 客户端配置里

同一段 JSON 在所有 MCP 客户端里都通用。放到对应文件即可:

| 客户端 | 配置文件路径 | | ------------------------ | ----------------------------------------------------------------- | | Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json | | Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json | | Cursor | ~/.cursor/mcp.json | | 其它 MCP 客户端 | 查客户端文档 —— 配置块格式是统一的 |

{
  "mcpServers": {
    "waitlistpack": {
      "command": "npx",
      "args": ["-y", "@waitlistpack/mcp"],
      "env": {
        "WAITLISTPACK_API_KEY": "wlp_sk_你的key"
      }
    }
  }
}

完全退出客户端再重新打开。应该能在已连接的 MCP 服务器列表里看到 waitlistpack

3. 用起来

直接跟 AI 说话:

"在 example.com 上建一个叫 'Launch List' 的 waitlist"

"我现在有多少订阅者?"

"起草一封 '下周上线' 的邮件,给 Launch List 群发"

群发和删除会先给你邮箱发一个一次性确认链接。点开链接,再让 AI 用相同的参数重试一次就能完成。

环境变量

| 变量 | 必填 | 默认值 | 说明 | | ---------------------- | ---- | ------------------------------ | ------------------------------------------ | | WAITLISTPACK_API_KEY | 是 | — | 在 dashboard 生成。必须以 wlp_sk_ 开头。 | | WAITLISTPACK_API_URL | 否 | https://api.waitlistpack.com | 自托管或本地开发时覆盖。 |

常见问题

"WAITLISTPACK_API_KEY env var is required" 客户端没读到 env 块。检查文件路径和 JSON 格式。某些客户端只有完全重启时才会重新加载配置 —— 不能只是最小化,要完全退出再打开。

"Invalid API key" / 401 Key 可能被吊销了。去 dashboard 的 API keys 页面重新生成一个。

调用一直卡住没响应 网络被墙了,或者 WaitlistPack API 不可达。bridge 把所有传输错误写到 stderr —— 多数 MCP 客户端 UI 里都有 "查看服务器日志" 的入口。

客户端日志里出现 JSON 乱码 bridge 严格只用 stdout 传输 MCP 协议消息。如果看到 JSON 解析失败,多半是 npx 被裹在一个会往 stdout 写提示符的 shell 里 —— 直接调 npx,别外面再套 shell。

工作原理

MCP 客户端  ──stdio──▶  npx @waitlistpack/mcp  ──HTTPS──▶  api.waitlistpack.com/mcp
                         (本地子进程)                    (Authorization: Bearer wlp_sk_*)
  • StdioServerTransport 从客户端 stdin 读 JSON-RPC 消息
  • 每条消息都转发给指向 WaitlistPack API 的 StreamableHTTPClientTransport
  • 响应(包括长任务的 SSE 流)走反方向回来
  • 两个 transport 联动关闭 —— 任意一端断了,另一端也跟着关

无本地状态、无缓存、无 OAuth 握手 —— 你环境变量里的 API key 就是全部凭证。

License

MIT