mcpField
U
Unwatched

Unwatched

Local
unwatched.cloudAI & Agents0Updated 16w ago

About Unwatched

Unwatched is an MCP server and CLI that turns YouTube videos into validated, structured runbooks for agents. It supports Markdown, YAML, and JSON output, with tools for decoding videos and retrieving saved results.

Key features

  1. 01Decode YouTube videos into runbooks
  2. 02Validated Markdown, YAML, or JSON output
  3. 03CLI for decoding and job status
  4. 04List and filter previous decodes
  5. 05MCP tools for job and runbook retrieval

Use cases

  1. 01Creating executable steps from a tutorial video
  2. 02Retrieving a previously decoded runbook
  3. 03Having an agent process a video through MCP

MCP support

The stdio MCP server exposes tools to start video decoding, wait for jobs, inspect job artifacts, retrieve runbooks, and list prior decodes.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"unwatched": {
"command": "npx",
"args": [
"-y",
"unwatched-mcp"
],
"env": {
"UNWATCHED_API_KEY": "<UNWATCHED_API_KEY>"
}
}
}
}
Run commandnpx -y unwatched-mcp
Environment variables to set
UNWATCHED_API_KEYSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmunwatched-mcp

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

unwatched-mcp

Video URL in → validated runbook out. MCP server + CLI for UNWATCHED. Any AI agent (Claude Code, Cursor, any MCP client) can decode a video into a validated, structured runbook by calling the UNWATCHED API.

Requires Node.js ≥ 18 and an API key from https://unwatched.cloud/app/settings → API Keys.

60-second quickstart

# 1. Install
npm i -g unwatched-mcp        # or use npx below without installing

# 2. Set your key
export UNWATCHED_API_KEY=uk_live_...     # or: ~/.config/unwatched/config

# 3. Decode a video (starts the job, waits, writes the runbook)
unwatched decode "https://www.youtube.com/watch?v=VIDEO_ID" --format yaml -o runbook.yaml

That's it: runbook.yaml now holds the validated runbook.

CLI

unwatched decode <url> [--profile agent] [--format md|yaml|json] [-o file] [--timeout 600]
unwatched library [query] [--json]
unwatched status <job_id> [--wait] [--timeout 600]
  • decode starts a job, polls until it completes, fetches the runbook and writes it to -o <file> (or stdout).
  • library lists your tenant's previous decodes; query filters client-side.
  • status shows job status + artifact list.
API key resolution
  1. UNWATCHED_API_KEY environment variable
  2. ~/.config/unwatched/config — a file containing either UNWATCHED_API_KEY=uk_live_... or the bare key on one line

UNWATCHED_BASE_URL overrides the API base URL (default https://unwatched.cloud/api/v1).

MCP server

The package ships an MCP server (stdio transport) with these tools:

ToolWhat it does
decode_video(url, profiles?)start a decode job → returns job_id
get_job(job_id)status + artifact list
get_runbook(job_id, video_id, format: md|yaml|json)runbook content
list_library(query?)previous decodes of your tenant
wait_for_job(job_id, timeout_s=600)poll until completed/partial/failed

Typical agent flow: decode_video → wait_for_job → get_job (find the video_id) → get_runbook.

Errors are mapped to actionable messages: 401 → check your API key, 402 → quota exhausted, upgrade at https://unwatched.cloud/app/settings, 429 → rate limited (respects Retry-After).

Claude Code
claude mcp add unwatched --env UNWATCHED_API_KEY=uk_live_... -- npx -y unwatched-mcp
Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "unwatched": {
      "command": "npx",
      "args": ["-y", "unwatched-mcp"],
      "env": { "UNWATCHED_API_KEY": "uk_live_..." }
    }
  }
}
Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "unwatched": {
      "command": "npx",
      "args": ["-y", "unwatched-mcp"],
      "env": { "UNWATCHED_API_KEY": "uk_live_..." }
    }
  }
}
Any other MCP client

Run the server directly over stdio:

UNWATCHED_API_KEY=uk_live_... npx -y unwatched-mcp
# or, when installed globally:
unwatched-mcp

Development

npm install
npm run build
npm test          # smoke tests of the API client with mocked HTTP

Layout: src/api-client.ts (REST wrapper + error mapping), src/cli.ts (commander CLI), src/mcp-server.ts (stdio MCP server), src/config.ts (key/base-URL resolution).

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.