Video info, transcripts, trimmed share links and AI edits (captions, vertical) for public videos.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Wait for a download started by download_video and return its link when ready.
job_id from download_video.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http gimmeclip https://gimmeclip.com/mcp
Wait for a download started by download_video and return its link when ready.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | job_id from download_video. |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "job_id from download_video."
}
},
"additionalProperties": false
}Prepare a video as MP4 (H.264 + AAC, plays everywhere), MP3, or a looping GIF of up to 10 s, and return a download link. The link works for 15 minutes after the last request. Long videos may still be preparing when this returns: then call check_download with the job_id. Counts against the caller's daily limit (40 per IP).
| Argument | Type | Description |
|---|---|---|
| end | number | Optional: end of the part to keep, in seconds (after start). |
| url* | string | Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo). |
| item | integer | Which video of a multi-video post (1-based); see get_video_info. |
| start | number | Optional: start of the part to keep, in seconds. |
| quality | string | Resolution cap (the smaller side, so vertical videos count the same). "audio" gives an MP3; "gif" a looping GIF of a selection up to 10 s (set start and end). |
{
"type": "object",
"required": [
"url"
],
"properties": {
"end": {
"type": "number",
"minimum": 0,
"description": "Optional: end of the part to keep, in seconds (after start)."
},
"url": {
"type": "string",
"description": "Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo)."
},
"item": {
"type": "integer",
"default": 1,
"maximum": 20,
"minimum": 1,
"description": "Which video of a multi-video post (1-based); see get_video_info."
},
"start": {
"type": "number",
"minimum": 0,
"description": "Optional: start of the part to keep, in seconds."
},
"quality": {
"enum": [
"1080",
"720",
"480",
"360",
"audio",
"gif"
],
"type": "string",
"default": "720",
"description": "Resolution cap (the smaller side, so vertical videos count the same). \"audio\" gives an MP3; \"gif\" a looping GIF of a selection up to 10 s (set start and end)."
}
},
"additionalProperties": false
}Make an edited copy of part of a public video (up to 60 s between start and end): vertical 9:16 or square crop, burned-in captions of the speech and of other sounds such as "[music]" (in the language spoken, or translated to English, Portuguese, Spanish), even loudness; with a prompt also AI-written text over the picture (thought bubbles, meme captions, a title), a dramatic zoom, and slow motion or speed-up. Describe the edit in prompt, or set frame and captions_language (these override the prompt). Returns a gimmeclip.com/w/… watch link kept for 30 days; if it returns an edit_id, call edit_video again with only that edit_id to keep waiting. Each new edit counts against the caller's 5 edits a day, and preparing the source against the daily download limit; repeating the same edit is free.
| Argument | Type | Description |
|---|---|---|
| end | number | Optional: end of the part to keep, in seconds (after start). |
| url | string | Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo). |
| item | integer | Which video of a multi-video post (1-based); see get_video_info. |
| frame | string | "9:16" vertical (default), "1:1" square or "original". |
| start | number | Optional: start of the part to keep, in seconds. |
| prompt | string | Optional: the edit in plain words, e.g. "15-second vertical with Portuguese captions". |
| edit_id |
Transcribe speech from a public video, optionally between start and end. Returns a transcript_id while processing in the background: call this tool again with transcript_id to check. When done, fetch text_url for timestamped plain text with source attribution; Markdown and JSON links are also provided. Parts without speech are listed as machine-labelled sounds with times, closed-caption style (e.g. "[cat meowing]", "[music]"). Visual content is not described. New transcription uses the normal daily quota; results last 30 days.
| Argument | Type | Description |
|---|---|---|
| end | number | Optional: end of the part to keep, in seconds (after start). |
| url | string | Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo). |
| item | integer | Which video of a multi-video post (1-based); see get_video_info. |
| start | number | Optional: start of the part to keep, in seconds. |
| transcript_id | string | Resume/check an existing transcription. |
{
"type": "object",
"properties": {
"end": {
"type": "number",
"minimum": 0,
"description": "Optional: end of the part to keep, in seconds (after start)."
},
"url": {
"type": "string",
"description": "Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo)."
},
"item": {
"type": "integer",
"default": 1,
"maximum": 20,
"minimum": 1,
"description": "Which video of a multi-video post (1-based); see get_video_info."
},
"start": {
"type": "number",
"minimum": 0,
"description": "Optional: start of the part to keep, in seconds."
},
"transcript_id": {
"type": "string",
"description": "Resume/check an existing transcription."
}
},
"additionalProperties": false
}Title, uploader, duration, thumbnail and available qualities of a public video link (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo). Posts with several videos list each one as an item.
| Argument | Type | Description |
|---|---|---|
| url* | string | Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo). |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo)."
}
},
"additionalProperties": false
}Prepare the video (or just the part between start and end) and return a short gimmeclip.com/w/… link anyone can open and play, kept for 30 days. Counts against the caller's daily limit (40 per IP) unless the same clip was shared before. If it returns a job_id, call share_video again with that job_id to keep waiting.
| Argument | Type | Description |
|---|---|---|
| end | number | Optional: end of the part to keep, in seconds (after start). |
| url | string | Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo). |
| item | integer | Which video of a multi-video post (1-based); see get_video_info. |
| start | number | Optional: start of the part to keep, in seconds. |
| job_id | string | Only to resume: job_id from an earlier share_video call that was still preparing. |
| quality | string | Resolution cap (the smaller side, so vertical videos count the same). |
{
"type": "object",
"properties": {
"end": {
"type": "number",
"minimum": 0,
"description": "Optional: end of the part to keep, in seconds (after start)."
},
"url": {
"type": "string",
"description": "Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo)."
},
"item": {
"type": "integer",
"default": 1,
"maximum": 20,
"minimum": 1,
"description": "Which video of a multi-video post (1-based); see get_video_info."
},
"start": {
"type": "number",
"minimum": 0,
"description": "Optional: start of the part to keep, in seconds."
},
"job_id": {
"type": "string",
"description": "Only to resume: job_id from an earlier share_video call that was still preparing."
},
"quality": {
"enum": [
"1080",
"720",
"480",
"360"
],
"type": "string",
"default": "720",
"description": "Resolution cap (the smaller side, so vertical videos count the same)."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.
| string |
| Only to resume: edit_id from an earlier edit_video call that was still working. |
| captions_language | string | Burn in captions: "source" in the language spoken, or translated. Omit for no captions (unless the prompt asks for them). |
{
"type": "object",
"properties": {
"end": {
"type": "number",
"minimum": 0,
"description": "Optional: end of the part to keep, in seconds (after start)."
},
"url": {
"type": "string",
"description": "Link to a public post or video (YouTube, Instagram, X / Twitter, TikTok, Bluesky, Facebook, VK, LinkedIn, Weibo)."
},
"item": {
"type": "integer",
"default": 1,
"maximum": 20,
"minimum": 1,
"description": "Which video of a multi-video post (1-based); see get_video_info."
},
"frame": {
"enum": [
"original",
"9:16",
"1:1"
],
"type": "string",
"description": "\"9:16\" vertical (default), \"1:1\" square or \"original\"."
},
"start": {
"type": "number",
"minimum": 0,
"description": "Optional: start of the part to keep, in seconds."
},
"prompt": {
"type": "string",
"maxLength": 500,
"description": "Optional: the edit in plain words, e.g. \"15-second vertical with Portuguese captions\"."
},
"edit_id": {
"type": "string",
"description": "Only to resume: edit_id from an earlier edit_video call that was still working."
},
"captions_language": {
"enum": [
"source",
"en",
"pt",
"es"
],
"type": "string",
"description": "Burn in captions: \"source\" in the language spoken, or translated. Omit for no captions (unless the prompt asks for them)."
}
},
"additionalProperties": false
}