FrameThrower MCP Server
MCP serverDev toolsframethrower gives your AI a searchable library of film stills from 5,489 films. Once added, your AI can pull up reference images that match a specific lighting style, lens character, shot size, colour, or mood. Useful for finding visual references when planning or describing a shot.
Use FrameThrower MCP Server in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add FrameThrower MCP Server and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use FrameThrower MCP Server to search frames
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Add framethrower, then describe the look you want, such as a lighting style or mood, and ask your AI to find matching stills.
What your AI can do with it
- Find film stills by lighting style
- Search stills by lens character
- Filter stills by shot size
- Search stills by colour
- Find stills that match a mood
- Pull reference stills from 5,489 films
Install FrameThrower MCP Server
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user framethrower-mcp-server 'https://framethrower.ai/api/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://framethrower.ai/api/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=framethrower-mcp-server&config=eyJ1cmwiOiJodHRwczovL2ZyYW1ldGhyb3dlci5haS9hcGkvbWNwIn0=Open the link and Cursor adds the server at that address.
ChatGPT
https://framethrower.ai/api/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add framethrower-mcp-server --url 'https://framethrower.ai/api/mcp'Run it once, then sign in with codex mcp login framethrower-mcp-server if the server asks for an account.
From the project's README
As published by framethrower-ai/framethrower-mcp in README.md.
Film references, inside your agent. Connect any MCP client 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.
https://framethrower.ai/api/mcp
Remote server, OAuth 2.1, four tools, no rate limits, $2 of credits free on signup (no card).
Quick start
Claude (Desktop / Web)
Settings → Connectors → Add custom connector → paste:
https://framethrower.ai/api/mcp
Sign in when the browser opens. That's it.
Cursor
One-click:
Or add to ~/.cursor/mcp.json:
{
"mcpServers": {
"framethrower": {
"url": "https://framethrower.ai/api/mcp"
}
}
}
Clients that only speak stdio
Bridge with mcp-remote, which
handles the OAuth flow for you:
{
"mcpServers": {
"framethrower": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://framethrower.ai/api/mcp"]
}
}
}
Full per-client steps in docs/install.md.
The four tools
| Tool | Credits | What it does |
|---|---|---|
search_frames | 2 | Search by concept, mood, colour, composition or scene, in natural language |
find_by_craft | 2 | Find frames by cinematography attribute — lens, shot size, style, setting, time of day, director, year |
find_similar | 2 | More frames like one already shortlisted. This is the refinement loop |
get_frame_details | 2 | Full metadata, thumbnail and link for a single frame |
search_frames
| Argument | Type | Notes |
|---|---|---|
query | string, required | e.g. "neon-lit rainy street at night" |
limit | number, 1–40 | defaults to 12 |
find_by_craft
All optional — combine them to narrow.
| Argument | Type | Notes |
|---|---|---|
lens | string | "anamorphic", "spherical", "vintage_soft" |
shot_size | string | "closeup", "wide", "medium" |
visual_style | string | |
setting | string | "interior" or "exterior" |
time_of_day | string | "night", "day" |
director | string | |
year_min / year_max | number | year range |
limit | number, 1–40 | defaults to 12 |
find_similar
| Argument | Type | Notes |
|---|---|---|
frameId | string, required | an id from a previous result |
limit | number, 1–40 | defaults to 12 |
get_frame_details
| Argument | Type | Notes |
|---|---|---|
frameId | string, required |
How it's meant to be used
The server sends usage instructions on connect, so a client doesn't need to be told how to behave. The loop it asks for:
- Search — the agent calls
search_frameswith what you described. - Show a few — about four, each with film, director and a link. Not a dump.
- React — "more like #2", "colder", "tighter". That becomes a
find_similaron that frame, or afind_by_craftwith attributes adjusted. - Repeat until it's right.
Every result keeps a link back to FrameThrower, because inline image rendering in chat is unreliable and the gallery is where the frames look like themselves.
See examples/prompts.md for conversations that work.
What it costs
$2 of credits free on signup, no card. Then $1 = 1,000 credits, and each tool call costs 2 — so $1 covers 500 calls. Credits never expire. There are no rate limits.
Run out and the tool replies with a message saying so, including your balance and where to top up, so the agent can explain itself rather than failing silently.
What it returns — and what it doesn't
Tools return metadata, a thumbnail URL, colour palettes and a deep link back to FrameThrower. Never raw image bytes.
This is a discovery and reference tool, not an image-delivery pipe. The frames are not ours to license — they are shown at reduced resolution as references for commentary, education and study, and rights remain with their owners. See intended use.
Why there's no server code here
The FrameThrower MCP server is remote and hosted — you connect to it, you don't run it. So this repo is the connector: manifests, per-client setup, tool signatures and worked examples. Nothing to install, nothing to keep running, and no API key to manage — OAuth means the agent acts as your signed-in FrameThrower account.
Also available
- REST API — 11 endpoints, no rate limits. Machine-readable spec · docs
- npm SDK —
npm install framethrower-ai(source)
Same account, same credits.
About
FrameThrower is the reference app for the future creative: one of the largest film still libraries on the internet, callable from a REST API, an MCP server and an npm SDK. Built by senior filmmakers and ads creatives, for working film professionals.
MIT licensed.
Tools it offers (4)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
search_framesfind_by_craftfind_similarget_frame_details
Signals
- GitHub stars
- 1
- Last commit
- Aug 2026
Advanced
- Delivery
- framethrower MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
ai-framethrower-framethrower- Source
- github.com/framethrower-ai/framethrower-mcp
- Hosted endpoint
https://framethrower.ai/api/mcp
github.com/framethrower-ai/framethrower-mcp