Plug Quiki into your agent.
Hoard videos programmatically. Pull transcripts. Brief models. We expose an MCP server so any AI assistant can read 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, retrieve transcripts, and analyze content as part of its working context.
Tools we expose
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".
get_videoFetch the full record for one video from your library: metadata, timestamped transcript, and AI analysis for deep scans.
list_recent_videosList the most recently scanned videos in your library, newest first. Returns a trimmed shape without transcripts so your agent can skim quickly.
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.
whoamiReturn the identity and subscription tier of the authenticated account. Use this to verify your token is valid before issuing scan calls.
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": "Content Type: Self-Improvement / Communication Skills Tutorial..."
}
}
}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": "Content Type: Self-Improvement / Communication Skills Tutorial\n\nComprehensive Overview\nThis video is a detailed, step-by-step tutorial on improving public speaking and communication skills, delivered by creator @steven. The transcript reveals a structured three-step process for self-reviewing one's speaking performance..."
}
}
}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.
Auth and access
MCP requires a Personal Access Token (PAT). Generate yours at Account > API keys.
MCP is included with any PRO (credit) plan. Write-scope tools (scan_url, bulk_import) require a write-scoped token. Read-only tokens work for bulk_import_estimate, list_recent_videos, and get_video.
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-scope tokens are required for scan_url and bulk_import. Read-only tokens work for estimate, list, and get calls.
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 scan (transcript only): 5 credits per video
- Deep scan (transcript + AI analysis): 10 credits per video
- Bulk import cap: 500 URLs per call
- HTTP idle timeout: 90 s max for wait=true calls (Cloudflare free tier cap)
Daily rate limits mirror your subscription tier. PRO users buy credits as needed via packs; credits never expire. Use bulk_import_estimate to preview cost before committing.
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, pulling transcripts, and building research pipelines against their hoard.
Get PRO →