API reference contents

FrameThrower MCP server

Film and commercials references inside your agent. Eleven tools over OAuth 2.1, across a cinematography library of 5,489 films and a library of award-winning commercials.

Connect an agent

OAuth 2.1 — your client opens a FrameThrower sign-in and there is no key to paste. Free to start, metered against your credit balance.

Introduction

The FrameThrower MCP server gives any MCP client search access to a cinematography reference library of 5,489 films — indexed frame by frame on lighting, lens character, shot size, colour and mood. Ask for a look in conversation and the agent comes back with real frames, credited to their film, director and cinematographer.

The same connector reaches the commercials library: whole spots and the shots inside them, with credits for every role, awards, story and script. Ask what a brand or a director has made, which spots won at Cannes, or for shots of a particular moment, and the agent answers from the library with stills and a link to watch each spot.

Server URL

https://framethrower.ai/api/mcp

OAuth 2.1 · films and commercials · no rate limits · setup instructions per client

Connect it

1

Add it as a remote MCP server

In your client's connector settings, add https://framethrower.ai/api/mcp. From the Claude Code CLI that is one command:
claude mcp add --transport http framethrower https://framethrower.ai/api/mcp
2

Sign in

Authentication is OAuth 2.1 — your client opens a FrameThrower sign-in and there is no key to paste. After that the agent acts as you, with the same reference access your account has.
3

Ask for a look

The server sends its own usage instructions on connect, so the client does not have to be told how to behave. Ask for references to a scene and it searches, shows a few, and refines on what you react to.

Clients this is set up and documented for:

How an agent uses it

The server sends usage instructions on connect, so a client does not have to be told how to behave. The shape it asks for is: search, show a small set — about four — with film, director and a link each, then refine on what the user reacts to. Someone saying “more like #2, colder” becomes a find_similar call on that frame, or a find_by_craft with the attributes adjusted.

Every result carries a link back to FrameThrower, because inline image rendering in chat is unreliable and the gallery is where the frames actually look like themselves.

Pricing

The MCP server is included in the free plan. A new account gets 200 free credits, no card, and can connect and start calling tools straight away — there is no plan to upgrade to for access. Usage is metered per call, and you buy more credits when you want more calls.

Every tool call2 credits
Every film and commercials tool costs the same.
$11,000 credits
So $1 covers 500 tool calls. Credits never expire.
Top up$20 packs
In Settings → Billing, in whole multiples.

There are no rate limits.

Run out and the tool replies with a message saying so, including the balance and where to top up — an agent can read that and tell its user, rather than failing silently.

search_frames

TOOLsearch_frames2 credits per call

Search the library by concept, mood, colour, composition or scene, in natural language.

querystringrequired
e.g. neon-lit rainy street at night.
limitnumber
1–40. Defaults to 12.

find_by_craft

TOOLfind_by_craft2 credits per call

Find frames by specific cinematography attributes. All optional — combine them to narrow. At least one is required, or the tool asks for one rather than returning the whole library.

lensstring
anamorphic, spherical, vintage_soft
shot_sizestring
closeup, wide, medium
visual_stylestring
e.g. noir, naturalistic, stylized
settingstring
interior or exterior
time_of_daystring
night, day
directorstring
Full name, e.g. Denis Villeneuve.
year_min / year_maxnumber
Year range.
limitnumber
1–40. Defaults to 12.

find_similar

TOOLfind_similar2 credits per call

Pull more frames like one the user already shortlisted. This is the refinement loop, and the tool the “more like that one” reply should reach for.

frameIdstringrequired
An id from a previous result.
limitnumber
1–40. Defaults to 12.

get_frame_details

TOOLget_frame_details2 credits per call

Full metadata, thumbnail, depth map and link for a single frame.

frameIdstringrequired
An id from a previous result.

Commercials tools

Things to ask once it is connected:

“Find ads about two neighbours competing at Christmas”search_commercials
Whole spots by idea.
“Close-ups of beer being poured, slow motion”search_commercial_shots
Single shots by what is in frame.
“Tell me everything about #2”get_commercial
Credits, awards, script and the shot list.
“What has MJZ shot for car brands?”commercials_profile
A brand or a credit’s track record.
“Which agencies won the most Grand Prix at Cannes?”commercials_stats
Counts and rankings.
“More like that one”similar_commercials
Spots alike in story or in look; similar_commercial_shots for shots.

How it is wired: the agent talks to the one server URL above. Every commercials tool runs the same code as the REST endpoints, over two indexes — one entry per commercial (credits, awards, story; refreshed whenever the library updates) and one per shot (caption and tags). Each call is charged like a film search. Results carry stills, the facts and a watch link; shot clips come on request (8 credits for that call instead of 2), and the full-spot video is never sent.

The same connector reaches the commercials library: award-winning and everyday spots with credits for every role, awards, story, script and every shot tagged. Whole spots and the shots inside them; stills come back as URLs (shot clips too, when asked for), and every result links to watch the spot on FrameThrower. The same calls are in the REST API under /api/v1/commercials.

One place for the whole treatment: next to the commercials, the agent has the film library (the four tools above), and on FrameThrower there is the animation library, the moodboard / lookbook builder and the canvas — so commercial, film and animation references sit side by side and the whole treatment comes together in one place.

search_commercials

TOOLsearch_commercials2 credits per call

Whole commercials by idea or story, and/or by facts — brand, director, agency, production company, DP, editor, award show and level, year, industry, market, tone, season. Without a query it lists matches, award winners first.

querystring
The idea in plain words, e.g. “a product demo told as a heist”. Optional.
brand · director · agency · production · dp · editor · musicstring
Credits, free text.
award_show · min_award · awardedstring
e.g. Cannes Lions, gold.
industry · market · year_min · year_max · tone · seasonstring
Narrow further.

search_commercial_shots

TOOLsearch_commercial_shots2 credits per call

Single shots inside commercials by what is in frame, with shot tags (size, angle, setting, light, mood, people, product or logo in frame) and any commercial filter. Each shot carries its still, the clip of that shot and a link to the exact moment.

querystring
What the shot shows.
shot_size · camera_angle · setting · time_of_day · lighting · peoplestring
Shot tags.

get_commercial

TOOLget_commercial2 credits per call

One commercial in full: idea, logline, tagline, every credit by role, every award, craft numbers (cuts per minute, when the product and brand land), the script with timings and the shot list.

idstring
A commercial id from a result, e.g. AD-0505.

similar_commercials

TOOLsimilar_commercials2 credits per call

Commercials like a given one, by story (idea, tropes, tone) or by look (their shots).

idstring
A commercial id.
bystring
story (default) or look.

similar_commercial_shots

TOOLsimilar_commercial_shots2 credits per call

More shots that look like the ones the user picked — “more like #3”.

shot_idsstring[]
1–10 shot ids from earlier results.

commercials_profile

TOOLcommercials_profile2 credits per call

The track record of a brand, director, agency, production company, DP, editor or composer: spots, years, who they work with, awards by show, best and most recent work.

kindstring
brand, director, agency, production, dp, editor, music…
namestring
The name.

commercials_stats

TOOLcommercials_stats2 credits per call

Count and rank: how many commercials match a filter, broken down by brand, any credit, industry, year, tone, award show… — “which agencies won most at Cannes for car ads since 2015”.

fieldsstring[]
What to break down by.

Animation tools

Built for an AI-first creator: the agent breaks a story into scenes, finds references per scene and per character, refines with more like a frame — or like any image it generated — finds which series and films fit the story, and opens a frame in its sequence. Things to ask once it is connected:

“Break my story into scenes and find references for each”search_animation_frames
One search per scene or character look.
“A tall man with a scarred face and a long black coat, rain”search_animation_frames
A character look in plain words.
“More like #2 — or like this frame I generated”similar_animation_frames
By look, colour or content; any image works.
“Which anime fit a bittersweet summer story about two sisters?”find_animation_titles
Series and films by story, a title, or a look.
“Tell me about Akira”get_animation_title
One title in depth.
“Show me the shots around #4”get_animation_sequence
A frame with the shots before and after it.

How it is wired: the same connector, the same code as the REST endpoints under /api/v1/animation. The library is animation only — animated series and films (mostly anime, plus Western animation) — and every frame of every title is indexed, each with a caption of what is in it plus look and colour fingerprints. Each frame comes back with a 640px still to look at, the full-size still, its frame id and a link. Clips come on request (8 credits for that call instead of 2; an image search stays 10).

search_animation_frames

TOOLsearch_animation_frames4 credits per call

Frames for a scene, a moment or a character look, described in plain words — “a girl on a rooftop at dusk watching the city lights”. At most 3 frames per title unless per_title says otherwise.

querystringrequired
The scene or character, as a description of one frame.
title · genre · theme · style · studio · kind · year_min · year_maxstring
Narrow to titles. style is the look: 80s look, watercolour, neon, hand-drawn cel…
exclude_titlesstring[]
Slugs to leave out, e.g. titles already used.
nsfwboolean
false = leave out frames flagged as adult (included by default).
per_title · limit · offsetnumber
Default 3 per title, 12 frames (max 24).
clipsboolean
true = each frame’s clip too (8 credits).

similar_animation_frames

TOOLsimilar_animation_frames2 credits per call

More frames like ones the user already has — frame ids from earlier results, or any image: a generated frame on the canvas, an upload, a sketch. An image costs 10 credits.

frame_idsstring[]
Up to 10 frame ids from earlier results.
imagestring
An http(s) URL or a data: URL — any image, ours or not.
bystring
look (default), colour or content.
other_titlesboolean
true = the same look, from other titles.
title filters · per_title · limit · clipsstring
As in search_animation_frames.

find_animation_titles

TOOLfind_animation_titles2 credits per call

Which series and films fit what the user is making: a story brief, a title it should be like, a look (an image or frame ids), and/or filters — signals combine. One card per franchise. Each title has studio, director, genres, themes, its look, a synopsis and a poster. An image costs 10 credits.

briefstring
The story, premise, mood or world in plain words.
likestring
A title the results should be like in story.
image · frame_idsstring
Titles that look like it.
title filters · limitstring
Default 8 titles (max 20).

get_animation_title

TOOLget_animation_title2 credits per call

One series or film in depth: synopsis, studio and key credits, main characters, genres, themes, its look, the trailer, titles with a similar look and a similar story, and sample frames spread across it.

titlestringrequired
Slug or name, e.g. akira-1988 or “Your Name”.
framesnumber
Sample frames, 0–24 (default 6).

get_animation_sequence

TOOLget_animation_sequence2 credits per call

A frame in its sequence: the shots just before and after it in the same episode or film, in order — to see how a moment is built, or to lay a beat out across canvas panels. With clips, the continuous video that covers them.

frame_idstringrequired
A frame id from earlier results.
before · afternumber
Shots each side, 0–8 (default 2).

What comes back

Every tool returns frames as text an agent can quote: the film with its year, director and cinematographer, the craft attributes behind the shot, a thumbnail URL, the full-resolution image URL, and a link to the frame on FrameThrower. Plus a link to the same search as a gallery, for when the reader wants to keep going by hand.

Each frame also carries a depth map — greyscale, the same dimensions as the frame, precomputed for all 410,000 of them. An agent building a shot can hand that straight to a depth ControlNet to keep a reference's composition and camera geometry while changing everything else. It costs no extra credits and needs no extra call; the line is simply there in the result.

No image bytes, ever. This is a discovery and reference tool, not an image-delivery pipe — the frames are not ours to license, and rights remain with their owners. See the Intended Use Policy.

REST API too

The MCP server is four tools over the same library a REST API of eleven endpoints reaches — and the REST side has the three the tools do not: image search, colour search and the film catalogue. Same account, same credits.

npm install framethrower-ai

Common questions

What is the FrameThrower MCP server?
An MCP (Model Context Protocol) server at https://framethrower.ai/api/mcp that gives an AI agent search access to a cinematography reference library of 5,489 films. Four film tools — search_frames, find_by_craft, find_similar and get_frame_details — and seven for the commercials library (search_commercials, search_commercial_shots, get_commercial, similar_commercials, similar_commercial_shots, commercials_profile, commercials_stats). Connect it in Claude, Cursor or any MCP client and the agent can find real film references mid-conversation.
How do I connect it?
Add https://framethrower.ai/api/mcp as a remote MCP server in your client's connector settings. Authentication is OAuth 2.1 — your client opens a FrameThrower sign-in, and after that the agent acts as you, with the same reference access your account has. Cursor supports a one-click install link.
What does it cost?
It is included in the free plan — there is no tier to upgrade to for access. A new account gets 200 free credits, no card. Every tool call costs 2 credits and $1 = 1,000 credits, so $1 covers 500 tool calls, and you buy more credits per use when you want more calls. Credits never expire and there are no rate limits. When a balance runs out the tool returns a message saying so rather than failing silently.
Does it return images?
No image bytes, ever. Tools return metadata, a thumbnail URL and a deep link back to FrameThrower. It is a discovery and reference tool, not an image-delivery pipe — the frames are not ours to license, and rights remain with their owners.
Is there a REST API too?
Yes — 11 endpoints with bearer-token auth and no rate limits, plus an npm SDK (npm install framethrower-ai). The machine-readable spec is at framethrower.ai/api/v1 and the docs are at framethrower.ai/developers. Same credits, same account.

More: setup per client · API docs · the stills database