framefetch_extractLABSCO SUMMARY
Ask the video a question instead of parsing its transcript.
The answer path is what earns the install: a grounded reply with timestamped quotes, charged only when an answer is actually produced, and cached transcripts so a follow-up question is fast without re-downloading. When there is no transcript at all, the answer is grounded in sampled frames instead — and the response says so, with confidence capped and no quotes to give.
What it is
A hosted video-data API with an MCP server in front of it, plus this open-source client and docs. A model cannot watch a video; this converts one into an answer, text and images first. It covers YouTube, YouTube Shorts, TikTok, Instagram Reels, Pinterest and Reddit.
What you get
framefetch_extract— the main call: metadata, insights, transcript, frames, on-screen text, digest, spoken audio digest, structured chapters and entities, comments and comment sentimentframefetch_searchfor finding a video when you do not have a URL yet,framefetch_platform_capabilitiesfor what each platform supports,framefetch_accountfor your key's state- Question answering that returns a short grounded answer with verbatim timestamped quotes and a confidence level, instead of a transcript you have to parse
- Frames sampled the way you ask — every Nth, one per second, or a time range — at any width, with OCR over them
- Transcript translation into one of 25 languages, and subtitle export as SRT or VTT
- Batch extraction of up to 10 URLs in one call, where a single failing URL carries its own error rather than failing the batch
Requirements
A FrameFetch API key, free to create, or an agent wallet that can pay per call with x402 in USDC on Base — no account in that case. Connect remotely by pointing a client at https://framefetch.net/mcp with the key in an Authorization header, or run the bundled stdio bridge with npx -y framefetch-mcp and FRAMEFETCH_API_KEY set. Node 18+ for the client package. Two details worth knowing: this repo is at 0.4.0 while npm currently serves 0.3.0, where the extra helpers are reached through extract with a fields list; and on-screen text uses text_overlay on the request but comes back as textOverlay in the response. MIT licensed.
Setup effort
One command plus a key — claude mcp add --transport http framefetch https://framefetch.net/mcp --header "Authorization: <YOUR_FRAMEFETCH_KEY>"
USE CASES
Getting one fact out of a long video
Ask the question directly and read the short answer with the timestamps it came from, rather than scanning a transcript.
Reading text that only exists on screen
Sample frames across the video and OCR them, which is how you get captions, price tags and signage that were never spoken.
Researching a topic from video you have not found yet
Search for candidates, then pull metadata and digests for several of them in one batch call.
4 tools
Listed in project docs. Your client may show a different list.
framefetch_platform_capabilitiesframefetch_searchframefetch_accountBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- A client that can reach a remote MCP server over HTTP
- Node 18+
- FRAMEFETCH_API_KEY in your environment
Where it runs
Of the 4 documented clients, 1 runs the server on your machine and 3 connect to a hosted endpoint.
INSTALLATION
Connect your client
Server setup
claude mcp add
Claude Code
claude mcp add --transport http framefetch https://framefetch.net/mcp --header "Authorization: <YOUR_FRAMEFETCH_KEY>"Hosted endpoint
https://framefetch.net/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Cursor, Other MCP clients
{
"mcpServers": {
"framefetch": {
"url": "https://framefetch.net/mcp",
"headers": {
"Authorization": "<YOUR_FRAMEFETCH_KEY>"
}
}
}
}Claude Desktop — stdio
{
"mcpServers": {
"framefetch": {
"command": "npx",
"args": [
"-y",
"framefetch-mcp"
],
"env": {
"FRAMEFETCH_API_KEY": "<YOUR_FRAMEFETCH_KEY>"
}
}
}
}