STEALSHOT MCP
Video MCP server

Give your AI agent video taste.
Create stunning, aesthetic videos.

AI storyboards generic. Yours storyboards from footage.

STEALSHOT connects your agent to 83,431 frames from 962 real launch films, product demos and show intros, every one described for its craft, so what it storyboards starts from what actually shipped.

  • 6 read-only tools, one command to install — no key, no account, nothing to revoke
  • Answers come back as the actual frames, with the brand and the timecode on them
  • Ask whether a move is a convention and get the count across 962 films, not an opinion
  • Under a second a call — the descriptions are pre-computed, so no model sits in the path
See the 6 tools

No API key. No account. Read only. One command.

Installs into

ClaudeOpenAICursorVS CodeWindsurfGemini CLIJetBrains AIWarpRaycastn8nClaudeOpenAICursorVS CodeWindsurfGemini CLIJetBrains AIWarpRaycastn8nClaudeOpenAICursorVS CodeWindsurfGemini CLIJetBrains AIWarpRaycastn8nClaudeOpenAICursorVS CodeWindsurfGemini CLIJetBrains AIWarpRaycastn8n

Ask any model to plan a launch video and it gives you the same five shots. It has read about cinematography. It has not watched 962 launch films frame by frame, counted how many open on a wordmark, or measured how much darker Anthropic shoots than OpenAI. That is not in the training data. It is in here.

01

Ask whether a move is a convention. Get the evidence.

Everything in this block is the live server answering right now, not a mockup.

YouIs a centred wordmark on black a real convention, or did one video do it once?

ClaudeLet me get the evidence across the library.

used stealshot · find_pattern · { technique: "centred-wordmark-on-black" }

12 frames across 10 videos from 10 unrelated brands. Verdict: convention, seen across many unrelated videos. Best example from each:

The Claude Code wordmark with a coral asterisk-like mark appears centred on black, replacing the previous text.

Anthropic 37.5s

Cut hard from the previous text card to a centred wordmark with integrated mark, holding it full-frame on black with no animation or movement.

  • centred-wordmark-on-black
  • hard-cut-transition
  • logo-reveal-static
  • integrated-mark-lockup
The Apple logo and Vision Pro branding appear centered over an architectural interior lit from above, with a scripted subtitle above.

Apple 22.5s

Layer text in hierarchy, subtitle first, then logo, over a receding architectural background, holding the frame static for a full beat to establish the product name before cutting.

  • centred-wordmark-on-black
  • hierarchical-text-stack
  • architectural-depth-blur
  • static-hold-on-beat
A small square logo sits centered above the domain name on black, the final frame of the video.

Daniel Belfort 91.5s

Center a small icon above a domain name on full black, leaving ample breathing room above the mark so it reads as confident and intentional rather than cramped.

  • centred-wordmark-on-black
  • icon-above-text
  • full-bleed-black-background
  • floating-logo-treatment

02

Craft you can measure, not just look at.

A screenshot library cannot tell you how fast a brand cuts. A frame library can.

BrandMedian cutFace on screenDark framesSignature
OpenAI7.30s51%26%warm bokeh background, shallow depth of field, static wide hold
Alexander Whedon1.14s60%78%lower third text overlay, centered presenter medium shot, static presenter hold
MTS0.17s33%27%hard cut transition, frame within frame oval, ornamental border framing

used stealshot · compare_brands · live

03

83,431 frames. 962 videos. 154 brands. Described, not just stored.

Launch films

How a company announces a product in ninety seconds. 281 of them, from the household names and the ones that only did well on X.

Demos and screen recordings

How a UI is shown when nobody is on camera: cursor-led reveals, full-bleed terminals, inset windows, how long a screen is allowed to sit.

Show and podcast intros

The most copyable thing in video, because the same team performs it every week. Sampled once per second so the cut rhythm is visible.

Your agent can search, compare and cite all of it.

04

Ask it things like

05

When to reach for STEALSHOT

Six jobs, and every one of them is somebody's whole afternoon.

You are building an AI video agent

Your generator writes the same five shots every time, because that is the average of everything it read. Hand it the shot list from films that actually shipped and the storyboard changes before a single frame is rendered.

search_frames, find_pattern

You are shooting your own launch film

One person, one room, one afternoon. Find the shots that work at that budget and the openings that hold, instead of storyboarding a Super Bowl spot you cannot make.

search_frames, get_video

You are an agency writing a treatment

“Bold and cinematic” loses to “this category opens on a centred wordmark, here are the twelve frames and the six brands.” Pitch the evidence rather than the adjectives.

find_pattern, compare_brands

You are art-directing to a house style

Walk a single film shot by shot, or put two brands side by side and see where they actually differ — cut rhythm, how dark they shoot, how much of the frame a face is allowed.

get_video, compare_brands

You are cutting a demo or a screen recording

The hardest thing to make watchable is a UI. Find how other teams reveal one: cursor-led, full-bleed terminal, inset window, and how long a screen is allowed to sit before it cuts.

search_frames, list_techniques

You are settling an argument about a shot

One video doing something is an anecdote. Six unrelated brands doing it is a convention, and the tool tells you which of the two you have.

find_pattern, list_techniques

06

One line, in whichever of these 12 you already use.

Claude Code

In any terminal

claude mcp add stealshot --scope user --transport http https://stealshot.com/api/mcp
Claude Desktop

Settings → Connectors → Add custom connector

https://stealshot.com/api/mcp
Codex

In any terminal

codex mcp add stealshot --transport http https://stealshot.com/api/mcp
ChatGPT

Settings → Connectors → Add custom connector (developer mode)

https://stealshot.com/api/mcp
Cursor

~/.cursor/mcp.json

{
  "mcpServers": {
    "stealshot": { "url": "https://stealshot.com/api/mcp" }
  }
}
VS Code

.vscode/mcp.json

{
  "servers": {
    "stealshot": { "type": "http", "url": "https://stealshot.com/api/mcp" }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "stealshot": { "serverUrl": "https://stealshot.com/api/mcp" }
  }
}
Gemini CLI

~/.gemini/settings.json

{
  "mcpServers": {
    "stealshot": { "httpUrl": "https://stealshot.com/api/mcp" }
  }
}
JetBrains AI

Settings → Tools → AI Assistant → MCP → Add as JSON

{
  "mcpServers": {
    "stealshot": { "url": "https://stealshot.com/api/mcp" }
  }
}
Warp

Settings → AI → MCP servers → Add

{
  "stealshot": { "url": "https://stealshot.com/api/mcp" }
}
Raycast

Manage MCP Servers → Add via JSON

{
  "mcpServers": {
    "stealshot": { "url": "https://stealshot.com/api/mcp" }
  }
}
n8n

MCP Client Tool node → HTTP Streamable

https://stealshot.com/api/mcp

The library is public and every tool is read only, so there is no OAuth step and no plan to upgrade to. Endpoint: https://stealshot.com/api/mcp

07

6 tools, all read only

Search frames by what they look like, gather the evidence for a technique across brands, list the technique vocabulary, walk one video shot by shot, compare how two brands cut, and check what is in the library. Every tool is annotated readOnlyHint in the protocol, so your client can verify that rather than take our word for it.

search_frames

Search frames

Search the frame library by what is actually IN and TRUE OF a shot. This is the main way in. Every frame has been described by a vision model, so plain language works: 'presenter against a dark backdrop with the UI floating beside them', 'code on a light background with huge negative space', 'title card that opens on the wordmark'. Combine free text with the filters to narrow by craft.

query · technique · subject · surface · shot_type · tone · brand · launch_only · opening_only · limit

find_pattern

Find the evidence for a technique

Given a technique or a plain-language move, gather the EVIDENCE for it across different videos: one best example per brand, plus how widespread it is. This is the tool for 'is this a real convention or did one video do it once', and for building an argument rather than a single reference. Always prefer this over search_frames when the question is about a pattern rather than a picture.

technique · query · limit

list_techniques

List the technique vocabulary

List the technique vocabulary the library actually uses, with how many frames and how many distinct videos use each. Call this before search_frames when you want to filter precisely, or to answer 'what moves are common in launch videos'. A technique used by many DIFFERENT videos is a convention; one used many times inside a single video is that video's habit, so both counts are returned.

contains · min_videos · limit

get_video

Walk one video shot by shot

The full anatomy of one video: its measurements plus a shot-by-shot walk through its described frames in time order. Use this after search_frames when a single reference is worth studying properly, or to answer 'how is this video actually built'. Prefer it over many search calls on the same title.

video_id · title · max_frames

compare_brands

Compare how brands cut

Compare how two or more brands cut their videos: pace, how much of the frame is a face, how dark they shoot, and their most-used techniques. Use for 'how does Linear's launch style differ from OpenAI's'.

brands

library_stats

What is in the library

What is actually in the library right now: counts, the brands with the most indexed videos, and how much of it has been described. Call this first if you need to know whether a question is answerable, and to avoid claiming coverage the corpus does not have.

no arguments

08

Frequently asked questions

What is an MCP server?

Model Context Protocol is a standard way for an AI agent to reach data it was not trained on. STEALSHOT's server lets your agent search a library of real launch videos frame by frame and cite what it finds.

Do I need an API key or an account?

Neither. It is a public, read-only server. One command and your agent can use it.

Which clients work?

Claude Code, Claude Desktop, Cursor, Codex, VS Code, Windsurf, and anything else that speaks Streamable HTTP.

Can it change anything in my project?

No. Every tool is annotated readOnlyHint in the protocol itself, so your client can verify that rather than take our word for it. There is no write path, so there is nothing to approve and nothing to revoke.

How were the frames described?

Every frame is passed to a vision model in batches, in time order, with the running order in the prompt, so a shot is described as a move rather than as an inventory of objects. It records framing, composition, lighting, on-screen text, palette and a named technique. Face position, face area, luminance and cut timing are measured separately with a detector, not guessed.

What is actually in the library?

Product launch films, feature announcements, demos and screen recordings, keynotes, and podcast and show intros. Both the well-known launches and the ones that only did well on X. It is growing, and anybody can add a URL.

How fast is it?

Under a second for most calls. The tools are database queries over pre-computed descriptions, not model calls, so there is no inference in the request path.

Your agent is guessing at a shot list. It does not have to.

962 films, 83,431 frames, one command, no key.