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

@sonpiaz/watch-cli-mcp

v0.3.1

Published

Watch any social video → get an architecture diagram, working component, runnable notebook, or step-by-step cheat sheet — automatically. MCP stdio server for watch-cli.

Downloads

284

Readme

@sonpiaz/watch-cli-mcp

MCP (Model Context Protocol) stdio server that exposes watch-cli as a callable tool.

Watch any social video → get an architecture diagram, working component, runnable notebook, or step-by-step cheat sheet — automatically.

A single MCP server reaches every MCP-capable agent runtime — Claude Desktop, Claude Code, Cursor, OpenClaw, hermes-agent, Cline, Continue.dev, Windsurf, Zed, Codex, Kiro, VS Code Copilot — without per-IDE plugin work. This package wraps watch-cli so any of them can call it through one channel.

Prerequisites

  • Node.js >= 18.

  • The watch CLI installed and on PATH. Install with:

    curl -fsSL https://raw.githubusercontent.com/sonpiaz/watch-cli/main/install.sh | bash

The MCP server shells out to watch; it does not bundle the CLI.

Install

npm install -g @sonpiaz/watch-cli-mcp

Or run on demand via npx:

npx -y @sonpiaz/watch-cli-mcp

The binary is watch-cli-mcp. It reads JSON-RPC on stdin, writes JSON-RPC on stdout, and logs to stderr.

Tool

One tool is registered: watch.

Input schema:

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "A social video URL. Supported: YouTube, X / Twitter, LinkedIn, TikTok, Vimeo, Reddit, Facebook."
    },
    "frames": {
      "type": "integer",
      "minimum": 1,
      "maximum": 64,
      "description": "Number of evenly-spaced frames to extract. Default 8."
    }
  },
  "required": ["url"],
  "additionalProperties": false
}

Output: the v1 JSON object from docs/output-schema.md, passed through verbatim. Read the schema for the field reference.

Error mapping

| CLI exit | MCP response | |---|---| | 0 | Tool result with the v1 JSON as content[0].text. | | 2 | InternalError, message includes tag=missing-dep:<bin>. | | 3 download-auth / download-region | InvalidParams, message includes the tag — caller can recover with cookies or a different URL. | | 3 download-network / download-other | InternalError, message includes the tag. | | 4 (partial success) | Tool result with isError: false. Frames populated, transcript null, exit_code: 4 in the JSON payload. Caller branches on obj.exit_code === 4. | | 64 | InvalidParams, message includes tag=usage-error. | | 1 / other | InternalError, message includes the CLI stderr tail (≤ 1 KB). |

Tags always ride in the MCP error message field so callers can grep for the same tag=... token they would see in CLI stderr.

Client configuration

Claude Desktop

Config path:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Merge into the existing mcpServers object:

{
  "mcpServers": {
    "watch-cli": {
      "command": "npx",
      "args": ["-y", "@sonpiaz/watch-cli-mcp"]
    }
  }
}

Restart Claude Desktop after editing.

Cursor

Config path: .cursor/mcp.json (project-scoped) or ~/.cursor/mcp.json (user-global). Same mcpServers object shape as Claude Desktop:

{
  "mcpServers": {
    "watch-cli": {
      "command": "npx",
      "args": ["-y", "@sonpiaz/watch-cli-mcp"]
    }
  }
}

hermes-agent

Config path: optional-skills/mcp.json inside the hermes-agent install, or ~/.hermes-agent/mcp.json user-global. Same mcpServers shape as above.

Other MCP clients

Any MCP-capable agent that accepts an npx command will work with the snippet above. Substitute the client's config path; the command / args pair is portable.

Build from source

git clone https://github.com/sonpiaz/watch-cli
cd watch-cli/mcp-server
npm install
npm run build
node dist/index.js

License

MIT. © 2026 Son Piaz.