Skip to main content
Glama

analyze_account

Idempotent

Analyze a TikTok, YouTube, or Instagram creator by handle or channel ID. Returns viral DNA scores (viral_dna_score, replicability_score, originality_score, consistency_score, audience_fatigue), content patterns, format fingerprint, top recent videos with transcripts, content gaps, a headline_insight object (the single largest quantified performance gap across length, hook, format, and cadence, plus its so_what), and suggested next research steps. Use when the user asks to analyze a creator, account, channel, or competitor. Supports TikTok (full transcript extraction), YouTube (Shorts and longform analysis with captions when available), and Instagram (Reels with best-effort transcripts).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceNoOptional ISO date (e.g. "2026-04-01"). Filter the candidate video pool to those posted on/after this date. Useful when the user asks "show me what they've done THIS month" — the route returns honest empty + warning when the filter matches 0, no credits charged. Use either `since` or `window`, not both.
handleYesCreator handle (with or without @ prefix) or YouTube channel ID. Examples: "@mrbeast", "mrbeast", "UCX6OQ3DkcsbYNE6H8uQQuVA".
windowNoRecency sugar — same effect as `since` but takes a friendlier bucket. Maps to a since-cutoff at request time. Use either `since` or `window`, not both.
platformNoPlatform to analyze. "tiktok" (default) returns full pipeline with transcripts. "youtube" analyzes recent Shorts via YouTube Data API + Innertube caption extraction — videos with captions disabled or geoblocked resolve to transcript: null. "instagram" (shipped 2026-07-06) fetches the creator's reels via ScrapeCreators Instagram API + best-effort reel transcripts on the top 5 — Instagram data lacks lifetime totalLikes so that field defaults to 0.
recent_onlyNoWhen true, hard-cap the candidate pool to videos posted in the last 90 days. Stricter than `window=90d` because it never falls through to archival data on a thin recent corpus.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
profileNoCreator profile (handle, bio, followers, following, total_likes, total_videos)
from_paygNoWhether credits came from pay-as-you-go balance
steal_mapNoActionable elements to replicate from this creator
viral_dnaNoFive viral DNA scores (0-100 each)
content_gapsNoUntapped content opportunities the creator is missing
recent_videosNoTop recent videos with view counts, transcripts, and engagement
headline_insightNoThe largest quantified performance gap for this creator, plus its implication. Presentation-neutral data — the caller decides whether and how to surface it.
pattern_analysisNoContent pattern breakdown (posting cadence, topic clusters)
credits_remainingNoCredits remaining after this call
from_subscriptionNoWhether credits came from subscription
recommended_chainNoSuggested next tool calls with pre-filled parameters — advisory only, agent decides whether to execute
format_fingerprintNoDominant content format patterns (durations, styles, edit types)

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (idempotent, non-destructive), the description discloses several important behavioral traits: the "honest empty + warning" behavior for zero-matching filters, "no credits charged" on that path, "transcript: null" when captions are disabled/geoblocked, and Instagram's "lifetime totalLikes defaults to 0." This level of edge-case disclosure goes well beyond what annotations provide and helps the agent set accurate user expectations.

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?

The description is information-dense but well organized: action first, outputs second, usage trigger third, platform-specific behavior last. Every sentence contributes unique value, including the credit-charge warning and platform caveats. Despite its length, it is front-loaded and easy to scan, and the complexity of the tool justifies the length.

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

Completeness5/5

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

The description covers the core action, all supported platforms and their transcript availability, key output fields, usage context, and important edge cases (empty results, credit charges, platform data limitations). An output schema exists, so return values don't need to be re-explained. Nothing essential for selecting or invoking this tool is missing.

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%, with each parameter (handle, since, window, platform, recent_only) already thoroughly documented in the schema. The description adds high-level context—like platform transcript expectations and the since vs. window exclusivity—but for the most part it does not need to explain parameters because the schema already carries that burden. Baseline 3 is appropriate.

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 opens with a specific verb and resource: "Analyze a TikTok, YouTube, or Instagram creator by handle or channel ID." It then enumerates a distinctive set of outputs (viral DNA scores, content patterns, headline_insight, etc.) that clearly separates this from sibling tools like watch_account or predict_virality. An agent can confidently identify what this tool does from the first sentence alone.

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

Usage Guidelines4/5

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

The description explicitly states when to use it: "Use when the user asks to analyze a creator, account, channel, or competitor." This is clear and actionable. However, it does not mention when not to use it or point to an alternative sibling (e.g., watch_account for ongoing monitoring), so it stops short of the full when/when-not/alternatives guidance required for a 5.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Each tool targets a distinct purpose: analysis, trend research, scoring, creation, and tracking. The lifecycle tools (analyze_account, watch_account, get_changes) are related but clearly delineated by baseline creation vs. comparison. score_hook and predict_virality could be mildly confused since both score content, though descriptions clarify hook-level vs. full-draft scope.

Naming Consistency4/5

Nine of twelve tools follow the verb_noun pattern (analyze_account, find_viral_template, get_changes, list_watches, match_voice, predict_virality, score_hook, search_videos, watch_account). Three deviate: brief_to_blueprint, trend_pulse, and viral_remix use prepositional or noun-based naming, creating minor inconsistency but not confusion.

Tool Count5/5

Twelve tools for a short-form content intelligence platform feels well-scoped. The surface covers research (4 tools), creation (3), validation (2), and tracking (3), with each tool earning its place. This sits comfortably within the ideal 3-15 range for a domain-specific server.

Completeness3/5

The research, creation, and validation workflows are well-covered, but the tracking lifecycle has a notable gap: watch_account and list_watches exist with no unwatch/remove_watch tool, and get_changes implies persistence without a way to manage it. Also missing is a single-video deep-dive tool (analyze_account only covers videos within full account analysis) and direct creator-to-creator comparison.