Skip to main content
Glama
B2B Social Video Transcripts MCP Server

B2B Social Video Transcripts MCP Server

B2B Social Video Transcripts

b2b_social_video_transcripts
Read-only

Transcribe public TikTok, Instagram Reels, Facebook Reels, X, Threads, podcast, and Wistia videos, then extract pain points, buying signals, competitor mentions, and icebreakers with timestamps.

Instructions

Get transcripts of public TikTok, Instagram Reels, Facebook Reels, X, Threads, podcast, and Wistia videos, and in outbound mode pull pain points, buying signals, competitor mentions, and icebreakers with timestamps. Speech-to-text and AI calls run on the buyer's own API keys.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "b2b_social_video_transcripts"
  }
}

Input Schema

NameRequiredDescriptionDefault
modeNotranscript (default): transcript, caption, creator, and counts for each video given. outbound: the same plus pain points, buying signals, competitor mentions, and icebreakers on your AI key. watch_list: checks creators, podcast feeds, podcast keywords, and Threads hashtags for videos earlier runs have not seen, and transcribes only those.
ai_modelNoOptional override. Defaults: gpt-4.1-mini (openai), claude-haiku-4-5 (anthropic), gemini-2.5-flash (gemini).
creatorsNowatch_list mode: profile URLs or platform:handle, for example instagram:hubspot, x:gong_io, facebook:HubSpot, threads:hubspot. TikTok has no creator feed without a login, so TikTok creators are refused with a free row.
hashtagsNowatch_list mode: Threads hashtags, without #. Hashtag pages on TikTok, Instagram, X, and Facebook need a login or do not list newest first, so only Threads is read.
stt_modelNoOptional. With openai the default is gpt-4o-mini-transcribe in transcript mode and whisper-1 when timestamps are needed (outbound mode or include_segments yes), because only whisper-1 returns timestamps among OpenAI models.
ai_api_keyNoYour own key for the AI provider. Without it, outbound mode returns transcripts only and charges no outbound-insights. Never stored or logged.
my_companyNoYour company name, so pain points and icebreakers fit your offer.
my_productNoWhat you sell, in one line.
since_daysNoSkips videos older than this many days. Default 30.
video_urlsNoTikTok video, Instagram reel, Facebook reel, X post, Threads post, podcast episode or RSS feed, Wistia page, or YouTube video URLs. A podcast feed URL reads its latest episodes, up to max_videos_per_creator.
wistia_idsNoWistia media IDs, or company page URLs that embed Wistia videos; the page is scanned for embedded media IDs.
ai_providerNoopenai (default), anthropic, or gemini. Used by outbound mode and for translation.
competitorsNoBrand names to flag when spoken. Each is matched exactly in the transcript and by the AI call.
stt_api_keyNoYour own key for the provider above. Without a key, only videos with native subtitles or transcripts are transcribed; the rest return a free no_speech_track row. Never stored or logged.
webhook_urlNoOptional. Each new video row with buying_signal_score at or above webhook_min_score is sent here as a POST with a Slack compatible text field.
stt_providerNoopenai (default), groq, deepgram, or assemblyai. Used for videos with no native subtitle or transcript.
topic_filterNoKeywords. A video whose caption, hashtags, and title match none of them is skipped before any speech-to-text call, as a free skipped_off_topic row.
podcast_feedsNoPodcast RSS feed URLs. In watch_list mode each feed is watched for new episodes; in the other modes the latest episodes are read.
max_charge_usdNoOptional. The run stops before a charge that would pass this amount. Summary rows are always returned.
watch_list_nameNoNames the stored watch list. Rows are also appended to a named dataset b2b-social-video-transcripts-<name>, and seen video IDs are kept in a named key-value store b2b-social-video-transcripts-<name>-state. Letters, numbers, and dashes; up to 28 characters. Default default.
include_segmentsNoyes or no (default no). Adds transcript_segments to each row. Outbound mode always fills them when the source gives timestamps.
podcast_keywordsNowatch_list mode: search terms for finding podcast feeds through the iTunes search API; each feed found is watched.
watch_list_depthNotranscript (default) or outbound: what runs on each new video in watch_list mode.
transcript_filterNoKeywords matched against the spoken words. Rows are kept, with transcript_match true or false.
webhook_min_scoreNo0 to 100. Default 0 sends every video row.
include_commentersNoyes or no (default no). On TikTok videos at or above webhook_min_score, adds one row per commenter: handle, name, profile URL, comment, time, likes.
stt_fallback_api_keyNoYour own key for the fallback provider.
translate_to_englishNoyes or no. Default yes in outbound mode, no in the other modes. Needs the AI key.
stt_fallback_providerNoOptional second provider, tried when the first refuses or fails.
max_videos_per_creatorNoMost videos read per creator, feed, keyword result, or hashtag in one run. Default 10, up to 100.
youtube_transcript_api_keyNoYour own key for the YouTube transcript provider above. Without it, YouTube URLs return a free row.
youtube_transcript_providerNoscrapecreators, searchapi, or supadata. YouTube videos are transcribed only through your own key with one of these services.
youtube_transcript_fallback_api_keyNoYour own key for the fallback YouTube provider.
youtube_transcript_fallback_providerNoOptional second YouTube transcript provider.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, and the description usefully adds that speech-to-text and AI calls run on the buyer's own API keys. However, it does not disclose webhook POSTs, watch-list state storage, charge limits, or other side effects present in the schema, so the behavioral picture remains partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences are front-loaded with the core capability and platform scope, with no filler or repeated annotations. It is compact and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 34-parameter tool with webhook delivery, stored watch lists, charge limits, and multiple modes, the description covers only the transcript and outbound paths and says nothing about watch_list, row shapes, or side effects. The rich schema helps, but the description leaves major operational behavior underexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for all 34 parameters, so the schema carries the parameter documentation burden. The description only gestures at modes and API-key ownership, adding no syntax, constraints, or defaults beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb and resource ('Get transcripts'), enumerates supported platforms, and distinguishes the outbound mode's added outputs with timestamps. An agent can identify what the tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It signals that outbound mode is for pain points, buying signals, competitor mentions, and icebreakers, but it omits the watch_list mode entirely and gives no explicit when-to-use or when-not guidance. With no sibling tools there is no alternative to route to, but mode-selection guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools