CLIPCLIPER

Timestamped transcripts, chapters and clip suggestions from YouTube, Twitch, Kick or TikTok links.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
100%
Naming quality
93%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin get_transcript

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,138Tokens (tool definitions)
~3.2 KBTypical response size
Moderate attention impact (0.89% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "clipcliper": {
      "url": "https://clipcliper.com/mcp"
    }
  }
}

Remote endpoints

https://clipcliper.com/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_transcript(url, language, format, max_chars, wait_seconds)

Download a public video (YouTube, Twitch VOD, Kick VOD, TikTok) and return its full transcript with timestamps (Whisper large-v3). Asynchronous: if it returns status 'processing', call again with the same url. Results are cached 24 h per url. With a license key it costs one pack minute per started minute of video (minute packs at https://clipcliper.com/mcp; desktop hour packs cost one hour per started hour); without a key, videos up to 15 min (daily limit per IP).

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2048,
      "description": "Public video URL: YouTube video/short/live replay, Twitch VOD, Kick VOD or TikTok video."
    },
    "language": {
      "description": "Spoken language of the video as ISO-639-1 (e.g. 'en', 'es'). Omit to auto-detect.",
      "type": "string",
      "pattern": "^[a-z]{2}$"
    },
    "format": {
      "description": "'timestamped' (default, one line per segment: [m:ss] text), 'text' (plain), 'srt' (subtitles) or 'segments' (JSON array of {start,end,text}).",
      "type": "string",
      "enum": [
        "timestamped",
        "text",
        "srt",
        "segments"
      ]
    },
    "max_chars": {
      "description": "Truncate the transcript to this many characters (default 150000). A 1 h talk is ~50000 chars.",
      "type": "integer",
      "minimum": 1000,
      "maximum": 2000000
    },
    "wait_seconds": {
      "description": "Seconds to wait for processing before returning status 'processing' (default 90). Long videos can take several minutes: just call again.",
      "type": "integer",
      "minimum": 0,
      "maximum": 600
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_chapters(url, max_chapters, language, output_language, wait_seconds)

Split a public video into topic chapters (start/end seconds, title, one-line summary) from its transcript. Transcribes the video first if needed (same cost and async behaviour as get_transcript); the chapters themselves are free and cached.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2048,
      "description": "Public video URL: YouTube video/short/live replay, Twitch VOD, Kick VOD or TikTok video."
    },
    "max_chapters": {
      "description": "Upper bound of chapters (default 12).",
      "type": "integer",
      "minimum": 2,
      "maximum": 60
    },
    "language": {
      "description": "Spoken language of the video as ISO-639-1 (e.g. 'en', 'es'). Omit to auto-detect.",
      "type": "string",
      "pattern": "^[a-z]{2}$"
    },
    "output_language": {
      "description": "Language for titles and summaries (ISO-639-1). Default: the language of the video.",
      "type": "string",
      "pattern": "^[a-z]{2}$"
    },
    "wait_seconds": {
      "description": "Seconds to wait for processing before returning status 'processing' (default 90). Long videos can take several minutes: just call again.",
      "type": "integer",
      "minimum": 0,
      "maximum": 600
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢suggest_clips(url, count, min_seconds, max_seconds, instruction, ...)

Find the most shareable moments of a public video for short-form clips: start/end seconds aligned to speech, a hook-style title in the video's language and why it works. Transcribes the video first if needed (same cost and async behaviour as get_transcript). Suggestions are free per call.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2048,
      "description": "Public video URL: YouTube video/short/live replay, Twitch VOD, Kick VOD or TikTok video."
    },
    "count": {
      "description": "How many clips (default 5; hard cap is one clip per 30 s of video, minimum 20).",
      "type": "integer",
      "minimum": 1,
      "maximum": 600
    },
    "min_seconds": {
      "description": "Shortest clip in seconds (default 20).",
      "type": "integer",
      "minimum": 3,
      "maximum": 590
    },
    "max_seconds": {
      "description": "Longest clip in seconds (default 90).",
      "type": "integer",
      "minimum": 8,
      "maximum": 600
    },
    "instruction": {
      "description": "Editorial guidance, e.g. 'moments about pricing' or 'funny moments only'.",
      "type": "string",
      "maxLength": 500
    },
    "language": {
      "description": "Spoken language of the video as ISO-639-1 (e.g. 'en', 'es'). Omit to auto-detect.",
      "type": "string",
      "pattern": "^[a-z]{2}$"
    },
    "reason_language": {
      "description": "Language for the 'reason' field (ISO-639-1, default 'en'). Titles always follow the video's language.",
      "type": "string",
      "pattern": "^[a-z]{2}$"
    },
    "wait_seconds": {
      "description": "Seconds to wait for processing before returning status 'processing' (default 90). Long videos can take several minutes: just call again.",
      "type": "integer",
      "minimum": 0,
      "maximum": 600
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools