MCP
MCP server documentation
Connect veridive to any MCP-compatible AI client and call your library and YouTube research pipelines through natural conversation.
Overview
The veridive MCP server speaks the Model Context Protocol over Streamable HTTP. Point a client at the endpoint below, authenticate, and your assistant can search and import library content, run YouTube tools, and run agentic research that returns grounded, citation-backed answers.
https://mcp.veridive.com/mcpAvailable on every plan, including Free — usage is credit-metered, so all you need is credits in your wallet.
Get Started
Web clients (Claude, ChatGPT) connect by URL and sign in — no key. Desktop and CLI clients use an API key you generate in Settings → Integrations.
- 1Open Settings → Connectors → Add Custom Connector
- 2Paste this URL:
https://mcp.veridive.com/mcp - 3Sign in with your veridive account — no key needed.
Authentication
Web connectors authenticate via sign-in. Desktop / CLI clients send a bearer API key on every request:
Authorization: Bearer vd_mcp_...
Generate, name, and revoke keys in Settings → Integrations. A key is shown only once at creation — store it somewhere safe.
Rate Limits & Quotas
Catalog tool runs (run_youtube_tool) draw from a per-account daily free credit budget that resets each day; once it's used up, runs fall back to your wallet. Other credit-bearing tools (the Deep tools, chat, imports) bill the wallet directly. Check your balance and remaining budget at any time withget_credit_status.
Fair-use rate limits apply per account across a per-tool-per-minute window, a global per-minute window, and a short burst window. Exceeding them returns a rate-limit error — back off and retry.
Tools Reference
Deep Tools
deep_querycreditsstreamsAgentic YouTube research — runs the full DeepQuery pipeline (search → select → transcribe → retrieve → generate) and synthesizes a grounded answer.
promptrequiredResearch question or instruction.
intelligenceoptionaldefaultthinkingproQuality dial / model bundle. Omit to use your tier default.
depthoptionalstandardextendedRetrieval breadth. standard hones in on the most relevant videos; extended searches wider across more of YouTube. Only applies when intelligence is pro; coerced to standard otherwise.
channeloptionalChannel filter — accepts a channel id, URL, or @handle. When set, search is restricted to that channel.
chat_idoptionalExisting MCP chat id to continue. Omit to start fresh — the new id is returned so you can resume next turn.
A grounded answer with inline timestamp citations. For purely conversational prompts use chat instead — deep_query detects non-research prompts and refunds the reservation.
deep_contextcreditsstreamsChat over a selection of videos already in your library. Same pipeline as deep_query, but scoped to the items you provide.
promptrequiredQuestion or instruction to ground against the chosen library items.
library_item_idsrequired1–20 library item IDs (from library_search / library_list) to scope the chat against.
intelligenceoptionaldefaultthinkingproQuality dial / model bundle. Omit to use your tier default.
depthoptionalstandardextendedRetrieval breadth over the chosen items. standard hones in on the most relevant chunks; extended casts a wider net. Only applies when intelligence is pro.
chat_idoptionalExisting MCP chat id to continue; new id is returned to resume.
A grounded answer with citations back to specific transcript chunks of the provided items.
deep_searchcreditsstreamsTranscript-aware YouTube video search — find the videos that actually answer a query (not just the most-viewed). Runs search → filter → transcript deep-read → classify → rank. Videos that fail an active filter are dropped (no greyed pool).
queryrequiredWhat to search YouTube for (1–500 chars).
typeoptionaldefault allallvideosshortsVideo kind. all = videos and shorts; videos = exclude Shorts (<60s); shorts = only Shorts.
upload_dateoptionalhourtodaythis_weekthis_monththis_yearRecency filter — only videos uploaded within this window. Omit for no recency limit.
sort_byoptionalrelevanceupload_dateview_countratingResult ordering. Omit for the transcript-aware blended rank (relevance); upload_date = newest first; view_count = most-viewed; rating = top rated.
lengthoptionalshortmediumlongDuration — short (<4 min), medium (4–20 min), long (>20 min). Omit for any length.
reachoptionalnichebalancedverifiedChannel-reach preference. balanced (default) mixes popular + niche; niche surfaces hidden gems from smaller channels; verified restricts to verified channels. Affects ranking, so set it here rather than post-filtering.
content_typesoptionaltutorialreviewopinioninterviewnewsdocumentaryexplainervlogpodcastlectureentertainmentgameplaymusicsportsreactioncompilationList — keep only videos whose transcript-classified content type is one of these (e.g. [review, opinion]). Non-matching videos are dropped. Omit for any type.
leveloptionalbeginnerintermediateadvancedKeep only videos at this expertise level. Non-matching videos are dropped. Omit for any level.
fastoptionaldefault falseFast mode — skip the transcript deep-read (metadata-only, cheaper, ~10-credit floor), but the result cards then carry NO transcript labels / evidence / summary. Leave false for the transcript-aware analysis.
limitoptionalReturn only the top N ranked videos (e.g. 5). Omit for the whole analyzed pool. NOTE: this only trims the response — it does NOT reduce credits (cost is by videos analyzed, not returned).
Ranked video cards, each with descriptive labels (content_type, level, a short summary), boolean quality verdicts (high_density, ad_free, clear_title, actionable, original, factual), and an evidence snippet + timestamp.
Library Tools
library_searchfreeFull-text search across the titles of videos in your library.
queryrequiredFree-text query matched against library item titles.
item_typeoptionalFilter to a single content type. Omit to search all types.
tag_namesoptionalList — items tagged with ANY of these tag names. Unknown tags are dropped silently and reported in warnings.
pageoptionaldefault 11-indexed page number.
per_pageoptionaldefault 20Items per page (max 50). Prefer narrowing the query over fetching more.
Matching library items with metadata.
library_listfreeBrowse and filter your saved content with sorting.
item_typeoptionalFilter to a single content type. Omit to include all types.
tag_namesoptionalList — items tagged with ANY of these tag names. Unknown tags dropped (reported in warnings).
is_favoriteoptionalWhen true, return only favorites. Omit for no favorite filter.
sort_byoptionaldefault created_atField to sort by.
sort_orderoptionaldefault descascdescSort direction.
pageoptionaldefault 11-indexed page number.
per_pageoptionaldefault 20Items per page (max 50).
A page of library items.
library_import_youtube_videocreditsstreamsImport a single YouTube video into your library.
urlrequiredYouTube video URL (youtube.com/watch?v=… or youtu.be/…).
tag_idsoptionalOptional tags to apply to the imported item (up to 20 tag UUIDs).
Resolves when the video reaches a terminal status (COMPLETED / FAILED / NO_TRANSCRIPT). Idempotent. Charged per transcript size.
library_import_youtube_channelcreditsstreamsImport a whole channel (or playlist) into your library.
urlrequiredChannel URL (youtube.com/@channel) or playlist URL (youtube.com/playlist?list=…).
idempotency_keyoptionalRepeating the same key with identical input returns the same parent without re-importing. Auto-generated if omitted, but persisted callers should supply their own so retries dedup.
tag_idsoptionalOptional tags applied to all imported items.
include_shortsoptionaldefault falseChannel only — include YouTube Shorts. Ignored for playlists.
include_livesoptionaldefault falseChannel only — include Live streams. Ignored for playlists.
Resolves when all children reach terminal status; streams per-child updates. Charged per imported video.
YouTube Tools
get_youtube_transcriptfreeFetch the stored transcript + metadata for a video already imported into your library. Provide exactly one of the three inputs.
library_item_idoptionalLibraryItem id from library_search / library_list. Fastest path — resolves directly.
video_urloptionalFull YouTube URL — parsed and resolved to your library item.
video_idoptionalBare 11-char YouTube video id — resolved to your library item.
Timestamped transcript segments + video metadata.
run_youtube_toolcreditsOne generic entry point over the whole YouTube tool catalog — pick a tool by slug and run it on a video.
toolrequiredWhich catalog tool to run — one of the 32 slugs in the catalog below.
urlrequiredFull YouTube URL or bare 11-char video id.
optionsoptionalPer-tool knobs as a string→string dict (e.g. { summary_length: brief }). Only 7 tools take options — see the catalog below. Unknown / missing keys fall back to the tool's defaults.
Segments, markdown, or structured json_data depending on the tool. Covered by the daily free budget up to its limit.
transcriptsegmentssummarizermarkdownsummary_length=brief|standard|detailed · summary_type=insightful|actionable|educational|funnychapter-generatormarkdownkey-quotesjsonhow-to-extractormarkdownmeeting-notesmarkdownpodcast-notesmarkdownaction-itemsjsonstudy-notesmarkdownflashcardsjsoncount=8|12|16 · difficulty=easy|medium|hardquiz-generatorjsoncount=5|8|10 · difficulty=easy|medium|hardmindmapjsondepth=brief|standard|detaileddocumentjsonlength=short|standard|long · style=analytical|educational|narrativepresentationjsonslide_count=6|10|15 · detail_level=minimal|standard|detailedinfographicjsoncolor_scheme=blue|green|purple|orange|redvocabulary-builderjsontitle-generatorjsondescription-generatormarkdowntag-extractorjsonhashtag-generatorjsonhook-gradermarkdownshorts-scriptmarkdownblog-postmarkdownx-postjsonlinkedin-postjsonnewsletterjsonslidesmarkdownmost-replayedjsoncomment-summarizermarkdowncomment-sentimentjsonsrt-vtt-downloadersegmentsstt-transcriptionsegmentsConversational & Utility
chatcreditsstreamsPlain conversational chat with no YouTube retrieval — follow-ups, clarifications, brainstorming.
promptrequiredThe user's message or question.
intelligenceoptionalinstantthinkingpropro_extendedQuality dial. instant = fastest / cheapest (simple replies); thinking adds a reasoning pass; pro / pro_extended route to the deepest model for complex, multi-step questions. Omit to use your tier default.
chat_idoptionalExisting MCP chat id to continue; new id is returned to resume.
An assistant reply. Available on every plan — usage is credit-metered.
pingfreeHealth check — verify your client can reach veridive.
messageoptionaldefault pongEchoed back verbatim. Useful for debugging client serialization.
The server version + your echoed message.
get_credit_statusfreeRead your current credit state. Takes no inputs.
Wallet balance, plan tier, and today's free-budget remaining / limit / used.