Skip to main content
Glama

vadyu_get_outreach_ledger

Retrieve the Vadyu Outbound Prospecting & Agency Campaign Ledger of QA-passed video ads (quality_status === 'passed' or coherence_score >= 85), enriched with extracted brand name, product headline, detected commercial vertical, recommended 3-stage campaign funnel preset, personalized /share/<slug>?brand=...&product=... screening-room URL, /try?brand=...&product=... interactive studio link, and one-click /api/v3/videos/<id>/expand-funnel endpoint. Supports JSON or outbound CRM CSV (export_format='csv').

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": "vadyu_get_outreach_ledger"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoOptional 1-indexed page number (e.g. 1, 2, 3) when offset is omitted.
limitNoMaximum number of QA-passed ad entries to return (1-100, default 25).
brandsNoOptional multi-brand filter (comma-separated string or array of brand names/domains, e.g. 'autodromo,brightland,fishwife' or ['Autodromo', 'Brightland', 'Fishwife']).
offsetNoOptional 0-indexed pagination offset to skip already-exported ledger entries (e.g. 0, 25, 50).
searchNoOptional keyword filter across brand_name, brand_domain, product_headline, detected_vertical, recipe_id, or video_id (e.g. 'autodromo', 'softservices.com', 'turbo sport').
domainsNoOptional exact or substring brand domain filter (comma-separated string or array of domains, e.g. 'brightland.co,fishwife.co' or ['brightland.co', 'autodromo.com']).
recipesNoOptional recipe ID filter (comma-separated string or array of recipe IDs, e.g. 'spanish_cedar_humidor_specs,nyc_luxury' or ['spanish_cedar_humidor_specs', 'solid_stick_umbrella_specs']).
sort_byNoOptional sort order: 'recent' (default, newest video_id first), 'oldest' (chronological oldest video_id first), 'brand_asc' (alphabetical A-Z by brand_name), 'brand_ads_desc' (brands with the most completed spec ads first), 'coherence_desc' (highest visual QA score first), 'coherence_asc' (lowest visual QA score first), 'duration_desc' (longest commercial first), 'duration_asc' (shortest commercial first), or 'cuts_desc' (most multi-angle cuts first).recent
cta_textNoOptional endcard CTA button copy filter (comma-separated string or array of CTA substrings, e.g. 'SHOP,DISCOVER,EXPLORE').
headlineNoOptional primary brand/product headline copy filter (comma-separated string or array of headline substrings, e.g. 'SERUM,CHRONOGRAPH,CHAWAN').
max_cutsNoOptional maximum number of AI camera cuts (e.g. 1 or 2) allowed per ledger entry.
min_cutsNoOptional minimum number of AI camera cuts (e.g. 2 or 3) required per ledger entry.
verticalNoOptional commercial vertical filter (or comma-separated list of verticals, e.g. 'luxury_oral_care', 'luxury_bedding', 'fine_cycling', 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch', 'sporting_field_atelier').
has_emailNoWhen true, filters the ledger to entries that have a verified decision-maker contact_email ready for outbound cold email.
has_promoNoWhen true, filters the ledger exclusively to entries that include a promo_code or discount_badge offer.
max_scoreNoOptional maximum visual coherence QA score (e.g. 95) to isolate non-100/100 renders within a [min_score, max_score] score band.
min_scoreNoMinimum visual coherence QA score (0-100, default 85).
verticalsNoOptional multi-vertical inclusion filter (comma-separated string or array of vertical IDs/shorthands, e.g. 'horology_watch,skincare_beauty,fine_spirits' or ['watch', 'skincare', 'spirits']).
video_idsNoOptional comma-separated string or array of exact positive integer video IDs (e.g. '1216,1212,1184' or [1216, 1212, 1184]) to export a curated cohort of commercial renders.
audio_moodNoOptional audio mood filter ('nyc_dusk', 'luxury_ambient', 'modern_pulse', 'none', or comma-separated list/array).
has_agencyNoWhen true, filters the ledger to entries that have a verified retained growth agency_partner (e.g. Metric Digital, Homestead Studio, Structured, Biddyco, Digitox, Pilothouse Digital).
promo_codeNoOptional promo code / discount badge substring filter (comma-separated string or array of promo codes, e.g. 'VIP,AUBRAC100,COMPACT2X').
contact_roleNoOptional decision-maker role filter ('founder', 'ceo', 'marketing', 'creative', or comma-separated list/array) to segment founder-led vs. CEO/CMO-led outreach.
funnel_stageNoOptional funnel stage filter ('tof' / 'top_of_funnel_awareness', 'mof' / 'mid_funnel_consideration', 'bof' / 'bottom_of_funnel_conversion', or comma-separated list).
has_no_promoNoWhen true (or when has_promo=false), filters the ledger exclusively to pure brand/editorial entries without a promo_code or discount_badge.
max_durationNoOptional maximum commercial duration in seconds (e.g. 15 for Meta/TikTok sub-15s Reels/Stories placement caps).
max_video_idNoOptional inclusive maximum video ID cursor (e.g. 1260) to slice historical QA-passed render cohorts.
min_durationNoOptional minimum commercial duration in seconds (e.g. 15 or 18) required per ledger entry.
min_video_idNoOptional inclusive minimum video ID cursor (e.g. 1200) to slice only newer QA-passed renders.
perfect_onlyNoWhen true, filters the ledger exclusively to 100/100 visual coherence QA renders (`coherence_score === 100`).
created_afterNoOptional inclusive ISO date/timestamp lower bound (e.g. '2026-04-08' or '2026-04-08T00:00:00Z') to filter renders created on or after that date.
duration_tierNoOptional placement duration tier filter ('under_10s', '10s_to_15s', 'over_15s', or comma-separated list/array).
export_formatNoOutput format: 'json' (default structured ledger with outreach_email_subject, outreach_email_body, and outreach_dm_snippet), 'csv' (ready for outbound CRM / cold-email sequences), 'markdown' (Agency Pitch Deck & Outbound Portfolio Brief), or 'jsonl' (JSON Lines / NDJSON for Clay, Instantly, Smartlead, and Apollo sequence ingestion).json
has_no_agencyNoWhen true (or when has_agency=false), filters the ledger to in-house DTC brands that do not yet have an external retained growth agency partner.
max_brand_adsNoOptional maximum number of passing ads per brand (e.g. 1 or 2) allowed to include that brand's entries in the ledger.
min_brand_adsNoOptional minimum number of passing ads per brand (e.g. 2 or 3) required to include that brand's entries in the ledger.
agency_partnerNoOptional named agency partner filter (comma-separated string or array of agency names, e.g. 'biddyco,structured,pennock').
created_beforeNoOptional inclusive ISO date/timestamp upper bound (e.g. '2026-04-10' or '2026-04-10T23:59:59Z') to filter renders created on or before that date.
discount_badgeNoOptional discount/offer badge substring filter (comma-separated string or array of offer badges, e.g. 'FREE,20% OFF,STRIKE-OFF').
exclude_brandsNoOptional CRM suppression filter for already-contacted brands (comma-separated string or array of brand names/domains to exclude from the ledger).
has_storefrontNoWhen true, filters the ledger exclusively to entries with a verified live brand_storefront_url / brand_domain ready for 1-click website audit and outbound outreach.
multi_cut_onlyNoWhen true, filters the ledger exclusively to multi-cut (2 to 4 cuts, 15s-22s) flagship commercials.
campaign_presetNoOptional recommended 3-stage campaign funnel preset filter (comma-separated string or array of funnel preset IDs, e.g. 'horology_funnel_3x,skincare_funnel_3x,millinery_hatmaking_funnel_3x').
dedupe_by_brandNoWhen true, deduplicates multiple renders of the same brand and keeps only the highest-coherence (and latest) video ad per unique brand.
exclude_domainsNoOptional CRM suppression filter for already-contacted brand domains (comma-separated string or array of domains to exclude from the ledger).
exclude_recipesNoOptional recipe ID suppression filter (comma-separated string or array of recipe IDs to exclude from the ledger, e.g. 'nyc_luxury,minimal_cinema' or ['nyc_luxury']).
exclude_cta_textNoOptional endcard CTA button copy suppression filter (comma-separated string or array of CTA substrings to exclude).
exclude_headlineNoOptional primary brand/product headline copy suppression filter (comma-separated string or array of headline substrings to exclude).
has_review_quoteNoWhen true, filters the ledger exclusively to entries that include a customer/critic review_quote.
exclude_cut_countNoOptional AI camera cut count suppression filter (comma-separated string or array of cut counts to exclude, e.g. '1' or [1, 2]).
exclude_verticalsNoOptional vertical suppression filter (comma-separated string or array of vertical IDs/shorthands to exclude from the ledger, e.g. 'fashion_runway,skincare_beauty').
exclude_video_idsNoOptional comma-separated string or array of positive integer video IDs (e.g. '1253,1252' or [1253, 1252]) to exclude specific already-sent renders from the ledger.
has_no_storefrontNoWhen true (or when has_storefront=false), filters the ledger to entries missing a brand_storefront_url so domain enrichment gaps can be audited.
exclude_audio_moodNoOptional audio mood suppression filter (comma-separated string or array of audio moods to exclude from the ledger, e.g. 'none,modern_pulse').
exclude_promo_codeNoOptional promo code / discount badge suppression filter (comma-separated string or array of promo codes to exclude).
has_agency_contactNoWhen true, filters the ledger exclusively to entries with a direct agency_contact email or handle.
has_decision_makerNoWhen true, filters the ledger to entries with a named personal decision_maker_name (excluding generic 'Team' fallbacks).
repeat_brands_onlyNoWhen true, filters the ledger exclusively to repeat / multi-ad accounts that have 2+ passing video ads in the catalog.
has_no_review_quoteNoWhen true (or when has_review_quote=false), filters the ledger to entries without a review_quote.
exclude_contact_roleNoOptional decision-maker role suppression filter (comma-separated string or array of contact roles to exclude from the ledger, e.g. 'creative,marketing').
exclude_funnel_stageNoOptional funnel stage suppression filter (comma-separated string or array of funnel stages to exclude from the ledger, e.g. 'bof,mof').
exclude_duration_tierNoOptional placement duration tier suppression filter (comma-separated string or array of duration tiers to exclude from the ledger, e.g. 'under_10s,over_15s').
has_no_agency_contactNoWhen true (or when has_agency_contact=false), filters the ledger to entries without a direct agency_contact.
has_no_decision_makerNoWhen true (or when has_decision_maker=false), filters the ledger to entries without a named personal decision_maker_name.
single_ad_brands_onlyNoWhen true, filters the ledger exclusively to single-ad prospect accounts that have exactly 1 passing video ad in the catalog.
exclude_agency_partnerNoOptional agency partner suppression filter (comma-separated string or array of agency partner names to exclude from the ledger, e.g. 'biddyco,metric digital').
exclude_discount_badgeNoOptional discount/offer badge suppression filter (comma-separated string or array of offer badges to exclude).
exclude_campaign_presetNoOptional recommended campaign funnel preset suppression filter (comma-separated string or array of funnel preset IDs to exclude from the ledger, e.g. 'conversion_trifecta').

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / discount_badge
      Added value: +{
      +  "description": "Optional discount/offer badge substring filter (comma-separated string or array of offer badges, e.g. 'FREE,20% OFF,STRIKE-OFF')."
      +}
    • addedInput schema / properties / exclude_discount_badge
      Added value: +{
      +  "description": "Optional discount/offer badge suppression filter (comma-separated string or array of offer badges to exclude)."
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / exclude_promo_code
      Added value: +{
      +  "description": "Optional promo code / discount badge suppression filter (comma-separated string or array of promo codes to exclude)."
      +}
    • addedInput schema / properties / promo_code
      Added value: +{
      +  "description": "Optional promo code / discount badge substring filter (comma-separated string or array of promo codes, e.g. 'VIP,AUBRAC100,COMPACT2X')."
      +}
  3. Changed2 schema fields changed
    • addedInput schema / properties / exclude_headline
      Added value: +{
      +  "description": "Optional primary brand/product headline copy suppression filter (comma-separated string or array of headline substrings to exclude)."
      +}
    • addedInput schema / properties / headline
      Added value: +{
      +  "description": "Optional primary brand/product headline copy filter (comma-separated string or array of headline substrings, e.g. 'SERUM,CHRONOGRAPH,CHAWAN')."
      +}
  4. Changed4 schema fields changed
    • addedInput schema / properties / cta_text
      Added value: +{
      +  "description": "Optional endcard CTA button copy filter (comma-separated string or array of CTA substrings, e.g. 'SHOP,DISCOVER,EXPLORE')."
      +}
    • addedInput schema / properties / exclude_cta_text
      Added value: +{
      +  "description": "Optional endcard CTA button copy suppression filter (comma-separated string or array of CTA substrings to exclude)."
      +}
    • changedInput schema / properties / sort_by / description
      Previous value: -"Optional sort order: 'recent' (default, newest video_id first), 'brand_ads_desc' (brands with the most completed spec ads first), 'coherence_desc' (highest visual QA score first), 'duration_desc' (longest commercial first), or 'cuts_desc' (most multi-angle cuts first)."New value: +"Optional sort order: 'recent' (default, newest video_id first), 'oldest' (chronological oldest video_id first), 'brand_asc' (alphabetical A-Z by brand_name), 'brand_ads_desc' (brands with the most completed spec ads first), 'coherence_desc' (highest visual QA score first), 'coherence_asc' (lowest visual QA score first), 'duration_desc' (longest commercial first), 'duration_asc' (shortest commercial first), or 'cuts_desc' (most multi-angle cuts first)."
    • changedInput schema / properties / sort_by / enum
      Previous value: -[
      -  "recent",
      -  "brand_ads_desc",
      -  "coherence_desc",
      -  "duration_desc",
      -  "cuts_desc"
      -]New value: +[
      +  "recent",
      +  "oldest",
      +  "brand_asc",
      +  "brand_ads_desc",
      +  "coherence_desc",
      +  "coherence_asc",
      +  "duration_desc",
      +  "duration_asc",
      +  "cuts_desc"
      +]
  5. Changed4 schema fields changed
    • addedInput schema / properties / has_agency_contact
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to entries with a direct agency_contact email or handle.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / has_decision_maker
      Added value: +{
      +  "description": "When true, filters the ledger to entries with a named personal decision_maker_name (excluding generic 'Team' fallbacks).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / has_no_agency_contact
      Added value: +{
      +  "description": "When true (or when has_agency_contact=false), filters the ledger to entries without a direct agency_contact.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / has_no_decision_maker
      Added value: +{
      +  "description": "When true (or when has_decision_maker=false), filters the ledger to entries without a named personal decision_maker_name.",
      +  "type": "boolean"
      +}
  6. Changed4 schema fields changed
    • addedInput schema / properties / has_no_promo
      Added value: +{
      +  "description": "When true (or when has_promo=false), filters the ledger exclusively to pure brand/editorial entries without a promo_code or discount_badge.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / has_no_review_quote
      Added value: +{
      +  "description": "When true (or when has_review_quote=false), filters the ledger to entries without a review_quote.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / has_promo
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to entries that include a promo_code or discount_badge offer.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / has_review_quote
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to entries that include a customer/critic review_quote.",
      +  "type": "boolean"
      +}
  7. Changed6 schema fields changed
    • addedInput schema / properties / created_after
      Added value: +{
      +  "description": "Optional inclusive ISO date/timestamp lower bound (e.g. '2026-04-08' or '2026-04-08T00:00:00Z') to filter renders created on or after that date.",
      +  "type": "string"
      +}
    • addedInput schema / properties / created_before
      Added value: +{
      +  "description": "Optional inclusive ISO date/timestamp upper bound (e.g. '2026-04-10' or '2026-04-10T23:59:59Z') to filter renders created on or before that date.",
      +  "type": "string"
      +}
    • addedInput schema / properties / max_video_id
      Added value: +{
      +  "description": "Optional inclusive maximum video ID cursor (e.g. 1260) to slice historical QA-passed render cohorts.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / min_video_id
      Added value: +{
      +  "description": "Optional inclusive minimum video ID cursor (e.g. 1200) to slice only newer QA-passed renders.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Optional 0-indexed pagination offset to skip already-exported ledger entries (e.g. 0, 25, 50).",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / page
      Added value: +{
      +  "default": 1,
      +  "description": "Optional 1-indexed page number (e.g. 1, 2, 3) when offset is omitted.",
      +  "minimum": 1,
      +  "type": "integer"
      +}
  8. Changed2 schema fields changed
    • addedInput schema / properties / campaign_preset
      Added value: +{
      +  "description": "Optional recommended 3-stage campaign funnel preset filter (comma-separated string or array of funnel preset IDs, e.g. 'horology_funnel_3x,skincare_funnel_3x,millinery_hatmaking_funnel_3x')."
      +}
    • addedInput schema / properties / exclude_campaign_preset
      Added value: +{
      +  "description": "Optional recommended campaign funnel preset suppression filter (comma-separated string or array of funnel preset IDs to exclude from the ledger, e.g. 'conversion_trifecta')."
      +}
  9. Changed1 schema field changed
    • addedInput schema / properties / max_score
      Added value: +{
      +  "description": "Optional maximum visual coherence QA score (e.g. 95) to isolate non-100/100 renders within a [min_score, max_score] score band.",
      +  "maximum": 100,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  10. Changed3 schema fields changed
    • addedInput schema / properties / max_brand_ads
      Added value: +{
      +  "description": "Optional maximum number of passing ads per brand (e.g. 1 or 2) allowed to include that brand's entries in the ledger.",
      +  "maximum": 50,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / max_cuts
      Added value: +{
      +  "description": "Optional maximum number of AI camera cuts (e.g. 1 or 2) allowed per ledger entry.",
      +  "maximum": 6,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / single_ad_brands_only
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to single-ad prospect accounts that have exactly 1 passing video ad in the catalog.",
      +  "type": "boolean"
      +}
  11. Changed1 schema field changed
    • addedInput schema / properties / exclude_cut_count
      Added value: +{
      +  "description": "Optional AI camera cut count suppression filter (comma-separated string or array of cut counts to exclude, e.g. '1' or [1, 2])."
      +}
  12. Changed3 schema fields changed
    • addedInput schema / properties / exclude_agency_partner
      Added value: +{
      +  "description": "Optional agency partner suppression filter (comma-separated string or array of agency partner names to exclude from the ledger, e.g. 'biddyco,metric digital')."
      +}
    • addedInput schema / properties / exclude_contact_role
      Added value: +{
      +  "description": "Optional decision-maker role suppression filter (comma-separated string or array of contact roles to exclude from the ledger, e.g. 'creative,marketing')."
      +}
    • addedInput schema / properties / exclude_duration_tier
      Added value: +{
      +  "description": "Optional placement duration tier suppression filter (comma-separated string or array of duration tiers to exclude from the ledger, e.g. 'under_10s,over_15s')."
      +}
  13. Changed2 schema fields changed
    • addedInput schema / properties / exclude_audio_mood
      Added value: +{
      +  "description": "Optional audio mood suppression filter (comma-separated string or array of audio moods to exclude from the ledger, e.g. 'none,modern_pulse')."
      +}
    • addedInput schema / properties / exclude_funnel_stage
      Added value: +{
      +  "description": "Optional funnel stage suppression filter (comma-separated string or array of funnel stages to exclude from the ledger, e.g. 'bof,mof')."
      +}
  14. Changed1 schema field changed
    • addedInput schema / properties / exclude_recipes
      Added value: +{
      +  "description": "Optional recipe ID suppression filter (comma-separated string or array of recipe IDs to exclude from the ledger, e.g. 'nyc_luxury,minimal_cinema' or ['nyc_luxury'])."
      +}
  15. Changed3 schema fields changed
    • addedInput schema / properties / exclude_verticals
      Added value: +{
      +  "description": "Optional vertical suppression filter (comma-separated string or array of vertical IDs/shorthands to exclude from the ledger, e.g. 'fashion_runway,skincare_beauty')."
      +}
    • changedInput schema / properties / vertical / description
      Previous value: -"Optional commercial vertical filter (e.g. 'luxury_oral_care', 'luxury_bedding', 'fine_cycling', 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch')."New value: +"Optional commercial vertical filter (or comma-separated list of verticals, e.g. 'luxury_oral_care', 'luxury_bedding', 'fine_cycling', 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch', 'sporting_field_atelier')."
    • addedInput schema / properties / verticals
      Added value: +{
      +  "description": "Optional multi-vertical inclusion filter (comma-separated string or array of vertical IDs/shorthands, e.g. 'horology_watch,skincare_beauty,fine_spirits' or ['watch', 'skincare', 'spirits'])."
      +}
  16. Changed1 schema field changed
    • addedInput schema / properties / exclude_video_ids
      Added value: +{
      +  "description": "Optional comma-separated string or array of positive integer video IDs (e.g. '1253,1252' or [1253, 1252]) to exclude specific already-sent renders from the ledger."
      +}
  17. Changed2 schema fields changed
    • addedInput schema / properties / exclude_brands
      Added value: +{
      +  "description": "Optional CRM suppression filter for already-contacted brands (comma-separated string or array of brand names/domains to exclude from the ledger)."
      +}
    • addedInput schema / properties / exclude_domains
      Added value: +{
      +  "description": "Optional CRM suppression filter for already-contacted brand domains (comma-separated string or array of domains to exclude from the ledger)."
      +}
  18. Changed1 schema field changed
    • addedInput schema / properties / video_ids
      Added value: +{
      +  "description": "Optional comma-separated string or array of exact positive integer video IDs (e.g. '1216,1212,1184' or [1216, 1212, 1184]) to export a curated cohort of commercial renders."
      +}
  19. Changed2 schema fields changed
    • changedInput schema / properties / export_format / description
      Previous value: -"Output format: 'json' (default structured ledger with outreach_email_subject, outreach_email_body, and outreach_dm_snippet), 'csv' (ready for outbound CRM / cold-email sequences), or 'markdown' (Agency Pitch Deck & Outbound Portfolio Brief)."New value: +"Output format: 'json' (default structured ledger with outreach_email_subject, outreach_email_body, and outreach_dm_snippet), 'csv' (ready for outbound CRM / cold-email sequences), 'markdown' (Agency Pitch Deck & Outbound Portfolio Brief), or 'jsonl' (JSON Lines / NDJSON for Clay, Instantly, Smartlead, and Apollo sequence ingestion)."
    • changedInput schema / properties / export_format / enum
      Previous value: -[
      -  "json",
      -  "csv",
      -  "markdown"
      -]New value: +[
      +  "json",
      +  "csv",
      +  "markdown",
      +  "jsonl"
      +]
  20. Changed1 schema field changed
    • addedInput schema / properties / contact_role
      Added value: +{
      +  "description": "Optional decision-maker role filter ('founder', 'ceo', 'marketing', 'creative', or comma-separated list/array) to segment founder-led vs. CEO/CMO-led outreach."
      +}
  21. Changed1 schema field changed
    • addedInput schema / properties / sort_by
      Added value: +{
      +  "default": "recent",
      +  "description": "Optional sort order: 'recent' (default, newest video_id first), 'brand_ads_desc' (brands with the most completed spec ads first), 'coherence_desc' (highest visual QA score first), 'duration_desc' (longest commercial first), or 'cuts_desc' (most multi-angle cuts first).",
      +  "enum": [
      +    "recent",
      +    "brand_ads_desc",
      +    "coherence_desc",
      +    "duration_desc",
      +    "cuts_desc"
      +  ],
      +  "type": "string"
      +}
  22. Changed3 schema fields changed
    • addedInput schema / properties / has_no_storefront
      Added value: +{
      +  "description": "When true (or when has_storefront=false), filters the ledger to entries missing a brand_storefront_url so domain enrichment gaps can be audited.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / min_brand_ads
      Added value: +{
      +  "description": "Optional minimum number of passing ads per brand (e.g. 2 or 3) required to include that brand's entries in the ledger.",
      +  "maximum": 50,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / repeat_brands_only
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to repeat / multi-ad accounts that have 2+ passing video ads in the catalog.",
      +  "type": "boolean"
      +}
  23. Changed1 schema field changed
    • addedInput schema / properties / has_storefront
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to entries with a verified live brand_storefront_url / brand_domain ready for 1-click website audit and outbound outreach.",
      +  "type": "boolean"
      +}
  24. Changed1 schema field changed
    • addedInput schema / properties / duration_tier
      Added value: +{
      +  "description": "Optional placement duration tier filter ('under_10s', '10s_to_15s', 'over_15s', or comma-separated list/array)."
      +}
  25. Changed1 schema field changed
    • addedInput schema / properties / has_no_agency
      Added value: +{
      +  "description": "When true (or when has_agency=false), filters the ledger to in-house DTC brands that do not yet have an external retained growth agency partner.",
      +  "type": "boolean"
      +}
  26. Changed1 schema field changed
    • addedInput schema / properties / audio_mood
      Added value: +{
      +  "description": "Optional audio mood filter ('nyc_dusk', 'luxury_ambient', 'modern_pulse', 'none', or comma-separated list/array)."
      +}
  27. Changed1 schema field changed
    • addedInput schema / properties / domains
      Added value: +{
      +  "description": "Optional exact or substring brand domain filter (comma-separated string or array of domains, e.g. 'brightland.co,fishwife.co' or ['brightland.co', 'autodromo.com'])."
      +}
  28. Changed2 schema fields changed
    • addedInput schema / properties / max_duration
      Added value: +{
      +  "description": "Optional maximum commercial duration in seconds (e.g. 15 for Meta/TikTok sub-15s Reels/Stories placement caps).",
      +  "maximum": 60,
      +  "minimum": 1,
      +  "type": "number"
      +}
    • addedInput schema / properties / perfect_only
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to 100/100 visual coherence QA renders (`coherence_score === 100`).",
      +  "type": "boolean"
      +}
  29. Changed1 schema field changed
    • addedInput schema / properties / agency_partner
      Added value: +{
      +  "description": "Optional named agency partner filter (comma-separated string or array of agency names, e.g. 'biddyco,structured,pennock')."
      +}
  30. Changed1 schema field changed
    • addedInput schema / properties / funnel_stage
      Added value: +{
      +  "description": "Optional funnel stage filter ('tof' / 'top_of_funnel_awareness', 'mof' / 'mid_funnel_consideration', 'bof' / 'bottom_of_funnel_conversion', or comma-separated list)."
      +}
  31. Changed1 schema field changed
    • addedInput schema / properties / recipes
      Added value: +{
      +  "description": "Optional recipe ID filter (comma-separated string or array of recipe IDs, e.g. 'spanish_cedar_humidor_specs,nyc_luxury' or ['spanish_cedar_humidor_specs', 'solid_stick_umbrella_specs'])."
      +}
  32. Changed1 schema field changed
    • addedInput schema / properties / min_duration
      Added value: +{
      +  "description": "Optional minimum commercial duration in seconds (e.g. 15 or 18) required per ledger entry.",
      +  "maximum": 60,
      +  "minimum": 1,
      +  "type": "number"
      +}
  33. Changed1 schema field changed
    • addedInput schema / properties / min_cuts
      Added value: +{
      +  "description": "Optional minimum number of AI camera cuts (e.g. 2 or 3) required per ledger entry.",
      +  "maximum": 6,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  34. Changed1 schema field changed
    • addedInput schema / properties / multi_cut_only
      Added value: +{
      +  "description": "When true, filters the ledger exclusively to multi-cut (2 to 4 cuts, 15s-22s) flagship commercials.",
      +  "type": "boolean"
      +}
  35. Changed2 schema fields changed
    • addedInput schema / properties / has_agency
      Added value: +{
      +  "description": "When true, filters the ledger to entries that have a verified retained growth agency_partner (e.g. Metric Digital, Homestead Studio, Structured, Biddyco, Digitox, Pilothouse Digital).",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / has_email
      Added value: +{
      +  "description": "When true, filters the ledger to entries that have a verified decision-maker contact_email ready for outbound cold email.",
      +  "type": "boolean"
      +}
  36. Changed4 schema fields changed
    • addedInput schema / properties / brands
      Added value: +{
      +  "description": "Optional multi-brand filter (comma-separated string or array of brand names/domains, e.g. 'autodromo,brightland,fishwife' or ['Autodromo', 'Brightland', 'Fishwife'])."
      +}
    • changedInput schema / properties / export_format / description
      Previous value: -"Output format: 'json' (default structured ledger with outreach_email_subject, outreach_email_body, and outreach_dm_snippet) or 'csv' (ready for outbound CRM / cold-email sequences)."New value: +"Output format: 'json' (default structured ledger with outreach_email_subject, outreach_email_body, and outreach_dm_snippet), 'csv' (ready for outbound CRM / cold-email sequences), or 'markdown' (Agency Pitch Deck & Outbound Portfolio Brief)."
    • changedInput schema / properties / export_format / enum
      Previous value: -[
      -  "json",
      -  "csv"
      -]New value: +[
      +  "json",
      +  "csv",
      +  "markdown"
      +]
    • changedInput schema / properties / vertical / description
      Previous value: -"Optional commercial vertical filter (e.g. 'luxury_bedding', 'fine_cycling', 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch')."New value: +"Optional commercial vertical filter (e.g. 'luxury_oral_care', 'luxury_bedding', 'fine_cycling', 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch')."
  37. Changed2 schema fields changed
    • addedInput schema / properties / search
      Added value: +{
      +  "description": "Optional keyword filter across brand_name, brand_domain, product_headline, detected_vertical, recipe_id, or video_id (e.g. 'autodromo', 'softservices.com', 'turbo sport').",
      +  "type": "string"
      +}
    • changedInput schema / properties / vertical / description
      Previous value: -"Optional commercial vertical filter (e.g. 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch')."New value: +"Optional commercial vertical filter (e.g. 'luxury_bedding', 'fine_cycling', 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch')."
  38. Changed3 schema fields changed
    • addedInput schema / properties / dedupe_by_brand
      Added value: +{
      +  "description": "When true, deduplicates multiple renders of the same brand and keeps only the highest-coherence (and latest) video ad per unique brand.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / export_format / description
      Previous value: -"Output format: 'json' (default structured ledger) or 'csv' (ready for outbound CRM / cold-email sequences)."New value: +"Output format: 'json' (default structured ledger with outreach_email_subject, outreach_email_body, and outreach_dm_snippet) or 'csv' (ready for outbound CRM / cold-email sequences)."
    • changedInput schema / properties / vertical / description
      Previous value: -"Optional commercial vertical filter (e.g. 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch')."New value: +"Optional commercial vertical filter (e.g. 'architectural_lighting', 'longevity_supplement', 'fine_spirits', 'luxury_knitwear', 'skincare_beauty', 'horology_watch')."
  39. Added

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It does disclose the inclusion predicate (quality_status === 'passed' or coherence_score >= 85) and the four output formats, which is real behavioral information. It omits pagination semantics (page vs offset interplay), any permission or rate-limit notes, and whether the call has side effects, leaving gaps for a read tool with no annotation coverage.

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

Conciseness3/5

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

It is a single front-loaded sentence with the resource named first, and it wastes little space relative to the tool's surface. However, it is a dense run-on packed with backticked jargon that reads as a feature dump rather than a structured brief, making it harder to scan than it needs to be.

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 tool with 68 parameters, no annotations, and no output schema, one paragraph is thin. Nothing explains how page/offset interact, what the response rows look like beyond the enrichment list, or how the many suppression filters relate to the include filters, so an agent is under-equipped for anything beyond a default call.

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 description coverage is 100% across 68 parameters, so the baseline is 3. The description adds only two things beyond the schema: the default QA-pass filter and the export_format='csv' outbound variant. It says nothing about how the large families of include/exclude filters compose or interact with min_score.

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

Purpose4/5

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

The description states a specific verb ('Retrieve') and a named resource ('Vadyu Outbound Prospecting & Agency Campaign Ledger'), then enumerates the enrichment fields (brand name, headline, vertical, funnel preset, share URL, /try link, expand-funnel endpoint). That is concrete and distinguishable from a plain listing. It never names a sibling such as vadyu_list_videos or vadyu_expand_video_funnel to say how this differs, so it stops short of a 5.

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?

The outbound/CRM framing and the export_format notes imply the use case (prospecting lists, cold-email sequences), but there is no explicit 'use this when X, use sibling Y when Z'. With eight sibling tools and no routing guidance, the agent must infer selection from the ledger framing alone.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.