Back to workspace
Agent operations

VidTextify MCP guide

Connect compliant AI agents to the same transcript, collection, export, share, search, and AI handoff actions available in the product UI. The surface is intentionally small, typed, and source-aware.

Endpoint

Streamable HTTP for agent actions

Use POST /api/mcp as a Streamable HTTP MCP endpoint. It supports initialize, tools/list, and tools/call.

curl -X POST https://vidtextify.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'
Actions

Tools an agent can call

get_transcript

Fetch a transcript from any YouTube video URL, short link, mobile link, Shorts URL, embed URL, live URL, or raw video ID.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "get_transcript", "arguments": { "url": "https://youtu.be/5aR-5cNABAI" } } }

analyze_channel

Open a channel, handle, username, or playlist and return the same browsable collection data the dashboard uses.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "analyze_channel", "arguments": { "url": "https://www.youtube.com/@WiseSleep/videos" } } }

load_more_collection

Continue from the last loaded channel or playlist page.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "load_more_collection", "arguments": { "token": "...", "apiKey": "...", "clientVersion": "..." } } }

copy_transcript

Return exactly the visible transcript text for No Timestamp, Timestamp, 30-second chunks, or 60-second chunks.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "copy_transcript", "arguments": { "url": "https://youtu.be/5aR-5cNABAI", "mode": "none" } } }

export_transcript

Generate TXT, SRT, VTT, CSV, JSON, or Markdown content with metadata at the top.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "export_transcript", "arguments": { "url": "https://youtu.be/5aR-5cNABAI", "format": "md", "mode": "standard", "metadataFields": ["title", "views", "comments"] } } }

share_transcript

Create the same temporary 7-day share link as the Share button.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "share_transcript", "arguments": { "url": "https://youtu.be/5aR-5cNABAI" } } }

build_ai_handoff

Build the same AI-ready prompt and provider URL used by ChatGPT, Claude, and Gemini buttons.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "build_ai_handoff", "arguments": { "url": "https://youtu.be/5aR-5cNABAI", "provider": "chatgpt" } } }

search_transcript

Search clean transcript text and return timestamped matches.

{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "search_transcript", "arguments": { "url": "https://youtu.be/5aR-5cNABAI", "query": "difference" } } }

Modes and Formats

Timestamp modes: none, standard, chunks30, chunks60.

Export formats: txt, srt, vtt, csv, json, md.

Agent Rules

Fetch one video with get_transcript. Fetch a channel or playlist only when the user provides a channel or playlist URL. Use load_more_collection only after a collection response includes a continuation.

For help, use the in-app chat box or email getaevum@gmail.com.