Plug Quiki into your agent.
Hoard videos programmatically. Pull transcripts. Brief models. We expose an MCP server so any AI assistant can search, read and organize your hoard.
What is MCP?
MCP is the Model Context Protocol. It lets AI assistants like Claude, Cursor, or your own agent connect to data sources through a standard interface. We are an MCP-aware service: an agent that speaks MCP can scan videos, search your library, retrieve transcripts, file videos into folders, and analyze content as part of its working context.
Tools we expose
whoamiReturn your account, plan and credit balance. On the free plan it also shows how many scans you have left today. Use it to check your token works before you scan.
scan_urlSubmit a TikTok, YouTube, or Instagram URL for scanning. Returns a scan ID immediately, or waits up to 90 s for a completed result when wait=true.
get_scanRetrieve the status and result of a previously submitted scan by ID. Poll until status is "completed" or "failed".
search_videosSearch your library with the same search as the web app. Matches titles, descriptions, hashtags, authors, AI summaries, notes, transcripts and AI analysis. Results say which fields matched.
list_recent_videosList the videos you scanned or changed most recently, newest first, page by page. Returns a short shape without transcripts so your agent can skim quickly.
get_videoFetch one video from your library: metadata, AI summary, transcript, and AI analysis for deep scans. Your agent can ask for only the sections it needs.
list_foldersList your folders and how many videos each one holds. Folders can sit inside other folders.
list_folder_videosList the videos in one folder, or the videos in no folder, newest first, page by page.
create_folderCreate a folder. If you already have a folder with that name, your agent gets that one back instead of a duplicate.
add_to_folderFile up to 100 videos into a folder in one call. A video lives in one folder, so a video already filed somewhere else stays put unless your agent asks to move it.
bulk_importSubmit a list of up to 500 video URLs in one call. Returns a bulk import ID. Credits are deducted per job at worker completion.
bulk_import_estimateDry-run a URL list to see the credit cost and whether your balance covers it, without starting an import. Read-only token works.
get_bulk_import_statusPoll the progress of a bulk import: job counts (pending, processing, completed, failed, skipped) and overall status.
list_bulk_importsList your bulk imports, newest first, including the ones you started in the Quiki apps. Useful when your agent no longer has an import ID.
Every tool tells your agent whether it only reads data. Agents that support these hints can run the read-only tools (whoami, get_scan, search_videos, list_recent_videos, get_video, list_folders, list_folder_videos, bulk_import_estimate, get_bulk_import_status and list_bulk_imports) without asking you each time. They still ask before scan_url or bulk_import, which spend credits, and before create_folder or add_to_folder, which change how your library is organized. Nothing in the tool set deletes data.
Every tool also returns structured output with a published schema, so agents that support it can read the result directly instead of parsing text.
Search and folders
search_videos uses the same search as the Quiki web app. Results come back newest first by publish date, and each one says which fields matched. The search box rules work here too:
pasta sauce | both words must match |
"tomato sauce" | the exact phrase |
-vegan | leave out videos that match |
pasta OR risotto | either word (OR in capitals) |
platform:tiktok author:name | only one platform or one author |
folder:"Weeknight dinners" folder:unfiled | one folder, or videos in no folder |
has:transcript | only videos with a transcript |
A video lives in one folder. When your agent files videos with add_to_folder, a video that is already in another folder stays there unless the agent asks to move it. Filing a video counts as a change, so it moves to the top of list_recent_videos.
Lists come in pages. search_videos, list_recent_videos, list_folder_videos and list_bulk_imports return a nextCursor; your agent passes it back to get the next page and stops when it is null. The starter videos Quiki adds to a new account are part of your library, so they can show up in results.
Example usage
Scan a TikTok and retrieve the analysis. Responses below are real - queried live against the Quiki MCP server on 2026-05-06.
Step 1 - submit the URL
scan_url({
url: "https://www.tiktok.com/@steven/video/7519614095197277462",
mode: "deep",
wait: true
})With wait: true the connection holds up to 90 s and returns the completed result in one call. For long videos or when latency matters, omit wait and poll with get_scan until status === "completed".
Response
{
"id": "fac33af7-5ba6-4738-8893-797033d2ae1c",
"status": "completed",
"platform": "tiktok",
"mode": "deep",
"created_at": "2026-05-06T21:12:51.416984+00:00",
"completed_at": "2026-05-06T21:14:14.32+00:00",
"video_id": 3585,
"result": {
"platform": "tiktok",
"mode": "deep",
"metadata": {
"title": "This is exactly how to get people to listen to you! Avoid these common mistakes",
"author": "@steven",
"duration_s": null,
"posted_at": null,
"thumbnail_url": "https://p16-common-sign.tiktokcdn-eu.com/..."
},
"transcript": "00:00:00.000 --> 00:00:03.320\nthis is the three step process you have to commit to\n...",
"scanned_at": "2026-05-06T21:14:13.856915",
"ai_analysis": {
"contentType": "ultimate_enhanced",
"analysisDate": "2026-05-06T21:14:12.524Z",
"qualityScore": {
"dataRichness": 30,
"hasTranscript": true,
"hasAudioAnalysis": false,
"hasVisualAnalysis": true
},
"formattedAnalysis": "**What this is**\nA three step method for reviewing your own speaking and fixing filler words.\n\n- Record yourself before editing anything\n- Count fillers rather than judging the delivery\n- Re-record one section only\n\nSpoken walkthrough, you need the audio."
}
}
}Step 2 - fetch when ready
get_scan({ id: "fac33af7-5ba6-4738-8893-797033d2ae1c" })Response
{
"id": "fac33af7-5ba6-4738-8893-797033d2ae1c",
"status": "completed",
"platform": "tiktok",
"mode": "deep",
"created_at": "2026-05-06T21:12:51.416984+00:00",
"completed_at": "2026-05-06T21:14:14.32+00:00",
"video_id": 3585,
"result": {
"platform": "tiktok",
"metadata": {
"title": "This is exactly how to get people to listen to you! Avoid these common mistakes",
"author": "@steven"
},
"transcript": "00:00:00.000 --> 00:00:03.320\nthis is the three step process you have to commit to\n\n00:00:03.380 --> 00:00:06.740\nand just by doing this it's gonna dramatically change the way you talk\n...",
"ai_analysis": {
"formattedAnalysis": "**What this is**\nA three step method for reviewing your own speaking and fixing filler words.\n\n- Record yourself before editing anything\n- Count fillers rather than judging the delivery\n- Re-record one section only\n\nSpoken walkthrough, you need the audio."
}
}
}The video_id from the completed response can be passed to get_video(id) at any time to retrieve the same scan from your library without re-scanning.
What you can build
Build a research pipeline
Chain bulk_import and list_recent_videos to feed a corpus of transcripts to an agent for trend analysis. Pull 200 URLs, wait for completion, then iterate get_video to build a structured JSON dataset your model can reason over.
Train a niche model
Use bulk transcripts to assemble a fine-tune dataset on a specific creator or topic. Export the transcript field from each get_video response, clean the VTT timestamps, and feed the raw text to your training pipeline.
Surface a video Q&A bot
Combine get_video (transcript) with your own RAG layer for an "ask my hoard" agent. Chunk each transcript, embed with your preferred model, index by video metadata, and let users query across hundreds of saved videos in natural language.
Tidy your hoard by topic
Ask your agent to find every video on a topic with search_videos, make a folder for it with create_folder, and file the matches with add_to_folder. Videos you already filed somewhere else stay where they are unless you tell the agent to move them.
Auth and access
MCP requires a Personal Access Token (PAT). Generate yours at Account > API keys.
MCP is included with any PRO (credit) plan. Keys you create in Account > API keys can both read and write. Four tools need write access: scan_url, bulk_import, create_folder and add_to_folder. Every other tool works with a read-only token.
Reading your library (search_videos, list_recent_videos, get_video and the folder tools) needs PRO, which any credit pack unlocks.
Connect your agent
The Quiki MCP server ships as the @quiki/mcp npm package. Your agent launches it over stdio using your API token. No additional server to run or maintain.
MCP server config
{
"mcpServers": {
"quiki": {
"command": "npx",
"args": ["-y", "@quiki/mcp"],
"env": { "QUIKI_API_TOKEN": "qk_live_..." }
}
}
}Replace qk_live_... with your token from Account > API keys. Write access is needed for scan_url, bulk_import, create_folder and add_to_folder. Read-only tokens work for every other tool.
Where to put it
- Claude Desktop Add the block to
claude_desktop_config.json(open it via Claude Desktop > Settings > Developer). - Claude Code Run
claude mcp addin your project directory, or add the block to.mcp.jsonat the project root. - Any MCP-capable agent (ChatGPT, Gemini, OpenClaw, or your own): add the block to wherever that agent reads its stdio MCP server list. The command and env shape are standard MCP and work with any compliant host.
Rate limits and cost
Credits are deducted per scan via the same pipeline as the web app. The mode argument on scan_url controls how much the agent gets back and how much it costs. The bulk_import_estimate tool lets you preview cost before committing.
- Fast scan (metadata only): 1 credit per video
- Transcript: 5 credits on top of the scan. A YouTube transcript_only scan is 6 credits in all, and only the 1-credit scan is charged when there is no transcript
- Deep scan (transcript + AI analysis): 10 credits per video
- Bulk import cap: 500 URLs per call
- Waiting for a result: up to 90 s per call with wait=true
- Search: 30 searches a minute per API key, up to 50 results per page
- Reading and organizing your library: no credits
Daily limits follow your plan, the same as in the web app. PRO users buy credits as needed via packs; credits never expire. Use bulk_import_estimate to preview cost before committing.
whoami returns your credit balance, so your agent can check it before it spends. On the free plan it also returns your daily scan allowance: the limit, how many you have used, how many are left and when it resets.
Plug Quiki into your agent today.
PRO users generate a Personal Access Token in Account > API keys, point an MCP-aware agent at it, and start scanning videos, searching and organizing their hoard, pulling transcripts, and building research pipelines.
Get PRO →