OwlStat: Instagram & TikTok Analytics
Server Details
Instagram and TikTok analytics for many accounts: reach, views, saves, shares, competitors, reports.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 27 tools
Several tools overlap heavily: get_account_stats, get_growth_summary, and get_audience_insights all cover growth/engagement/performance for Instagram, with similar TikTok equivalents. list_monitored_accounts and manage_workspace both list accounts, and get_tiktok_top_videos overlaps with get_tiktok_video_analytics. Descriptions provide some differentiation, but an agent can still misselect for broad questions like 'how is this account doing?'
Names follow a mostly consistent snake_case verb_noun pattern: get_*, list_*, manage_*, compare_*, generate_*, analyze_*. TikTok-specific tools use a predictable tiktok_ prefix while Instagram tools are unprefixed, though minor deviations like list_monitored_accounts vs manage_workspace (which also lists) slightly weaken symmetry.
At 27 tools, the surface is heavy for an Instagram/TikTok analytics server and includes many near-duplicate platform pairs plus overlapping analytics operations. The count exceeds the typical well-scoped range and several tools could be consolidated without losing capability.
The set covers core lifecycle needs: workspace management, account stats, growth, content breakdown, top content, posting times, comparisons, reports, alerts, and post/video deep dives for both Instagram and TikTok. Minor gaps remain, such as TikTok hashtag analytics and deeper YouTube Shorts tooling despite Viral Studio referencing it, but agents can work around these.
Available Tools
27 toolsanalyze_hashtagsARead-onlyInspect
Analyze hashtag performance for an Instagram account, showing which hashtags drive the most engagement. Use this when someone asks about hashtag strategy, which hashtags to use, or which tags are working best.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Time period: 30d or 90d | 30d |
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds that results are ranked by engagement contribution, but says nothing about the data window defaulting to 30d, whether the account must be monitored, or any limits on result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the capability stated first and the usage triggers second. Nothing repeats the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, two-parameter analytics tool with annotations and no output schema, the description covers what it does and when to call it. The main residual gap is the return shape (list of hashtags with metrics?) and whether the account must be in the monitored list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both username and the period enum are fully documented in the schema. The description adds no meaning beyond that — no note on how period affects ranking or what happens if the account is private.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Analyze hashtag performance for an Instagram account') and adds the output angle ('which hashtags drive the most engagement'). The Instagram scoping implicitly separates it from the many TikTok siblings, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete invocation triggers: hashtag strategy, which hashtags to use, which tags work best. It does not say when NOT to use it or point to an alternative tool (e.g., get_content_breakdown for non-hashtag content analysis).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_accountsARead-onlyInspect
Compare 2-5 Instagram accounts side by side on key metrics like engagement rate, follower growth, reach, and posting frequency. Use this when someone wants to benchmark accounts against each other, compare competitors, or see which account is performing best.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | No | Primary metric to compare: engagement_rate, followers_growth, reach, or posts_count | engagement_rate |
| period | No | Time period: 7d, 30d, or 90d | 30d |
| usernames | Yes | Array of 2-5 Instagram usernames to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds the 2-5 account bound and metric scope, but says nothing about return shape, whether missing/private accounts cause errors, or data freshness — modest added value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: capability first, usage triggers second. No filler, no repetition of schema details beyond what a reader needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so a note about what the comparison returns (per-metric ranking? side-by-side table?) would help. Otherwise the definition covers inputs, scope, and intent adequately for a read-only analytics tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with enums and defaults documented for both metric and period, so the schema carries the load. The description's metric list roughly mirrors the enum (though 'posting frequency' does not match the actual enum value 'posts_count'), adding little beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Compare') plus resource ('2-5 Instagram accounts side by side') and an enumerated metric set. The Instagram scoping and multi-account comparison framing separate it cleanly from get_account_stats and compare_tiktok_accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use triggers: benchmarking, competitor comparison, ranking best performer. It stops short of naming alternatives or exclusion conditions (e.g., use get_account_stats for a single account), so it is strong but not fully routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_tiktok_accountsARead-onlyInspect
Compare 2-5 TikTok accounts side by side on key metrics like engagement rate, follower growth, total plays, and posting frequency. Use this when someone wants to benchmark TikTok accounts against each other, compare TikTok competitors, or see which TikTok account is performing best.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | No | Primary metric to compare: engagement_rate, followers_growth, total_plays, or posts_count | engagement_rate |
| period | No | Time period: 7d, 30d, or 90d | 30d |
| usernames | Yes | Array of 2-5 TikTok usernames to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the side-by-side comparison framing but says nothing about output shape, limits, or how missing/private accounts are handled, so it clears only the lower annotated bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the action and scope front-loaded before the usage triggers. Every clause adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three fully documented params, annotations covering the safety profile, and no output schema to explain, the description covers what an agent needs to select and invoke it. A brief note on result shape or handling of fewer than 2 usernames would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both enums are fully documented in the schema, so parameter meaning is already carried by structured data. The description names the same metrics as the enum, adding no format, default, or interaction guidance (e.g., how 'metric' affects the output), which lands at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Compare 2-5 TikTok accounts side by side') and enumerates the metrics compared (engagement rate, follower growth, total plays, posting frequency), so the agent knows exactly what the tool returns. It does not, however, distinguish itself from the sibling 'compare_accounts', leaving ambiguity about which comparison tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear positive triggers: benchmarking accounts against each other, comparing TikTok competitors, or identifying the best-performing account. There are no exclusions or named alternatives, so the agent must infer when to prefer the generic 'compare_accounts' sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_reportARead-onlyInspect
Generate a comprehensive Instagram analytics report for an account with executive summary, growth analysis, engagement metrics, top posts, and recommendations. Use this when someone asks for a report, performance review, client summary, or account audit.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Report format: summary (key highlights) or detailed (full breakdown) | summary |
| period | No | Report period: weekly (7d) or monthly (30d) | monthly |
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context by listing the sections the generated report will contain, telling the agent what it is actually producing. It omits cost/latency expectations, which matter for a 'comprehensive' generation call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and the deliverables, followed by the usage trigger. The content enumeration in sentence one is long but each item tells the agent what the output contains, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully compensates by naming the report's sections, which is exactly the return-value detail an agent needs here. The remaining gap is the absence of any note about the report's cost or whether the account must be monitored first, which the sibling tools suggest may be a prerequisite.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both optional parameters have enums with self-explanatory values (summary/detailed, weekly/monthly). The description adds nothing about format or period beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (generate) plus resource (Instagram analytics report) and enumerates the report's contents: executive summary, growth analysis, engagement metrics, top posts, recommendations. The word "Instagram" implicitly separates it from generate_tiktok_report, but it never names that sibling explicitly even though the unprefixed tool name invites confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this when someone asks for a report, performance review, client summary, or account audit" gives concrete, recognizable request triggers. It provides no negative guidance, however, and never routes the agent away from granular siblings such as get_account_stats or get_growth_summary when the user only wants a single metric.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_tiktok_reportARead-onlyInspect
Generate a comprehensive TikTok analytics report for an account with executive summary, growth analysis, engagement metrics, top videos, and recommendations. Use this when someone asks for a TikTok report, performance review, client TikTok summary, or TikTok account audit.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Report format: summary (key highlights) or detailed (full breakdown) | summary |
| period | No | Report period: weekly (7d) or monthly (30d) | monthly |
| username | Yes | TikTok username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered; the description adds that the output is an assembled multi-section report rather than raw data. It does not disclose latency/cost of analysis, whether data is fetched live, or how recommendations are produced, which is meaningful for a synthesis tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource, then the section inventory, then the trigger conditions. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the report's sections, and the schema covers format/period/username fully. The remaining gap is sibling disambiguation against generate_report, which an agent would need to pick the right report tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with enums and defaults for 'format' and 'period', and a clear 'username (without @)' description, so the schema fully documents the inputs. The description adds no parameter-level meaning beyond that, which is the correct baseline 3 when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Generate a comprehensive TikTok analytics report') and enumerates the sections it contains (executive summary, growth, engagement, top videos, recommendations). It is clearly a TikTok-scoped report builder rather than a raw data getter, so it separates from the get_tiktok_* siblings, though it never names the generic 'generate_report' sibling it most overlaps with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly lists trigger scenarios: 'TikTok report, performance review, client TikTok summary, or TikTok account audit', which gives an agent a clear use context. It offers no exclusions or routing guidance versus the generic generate_report or versus assembling the report from individual get_tiktok_* calls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_statsARead-onlyInspect
Get Instagram account statistics including followers, engagement rate, reach, and growth metrics for a specific account over a given time period. Use this when someone asks about an account's performance, how an account is doing, or wants a stats overview. Call get_alerts for the same account too, so a falling account is flagged.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Time period: 7d, 30d, or 90d | 30d |
| username | Yes | Instagram username (without @) | |
| metric_focus | No | Focus area: overview (all metrics), engagement, reach, or growth | overview |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered structurally. The description adds the useful workflow rule of pairing the call with get_alerts, but says nothing about data freshness, whether the account must be monitored/connected first, or limits on historical depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, purpose first, then trigger conditions, then the chained-call advice. No filler or restated title, and each sentence contributes something actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, 3-parameter tool with no output schema, the description tells the agent what metrics come back and when to call it, which is close to sufficient. The main omission is a prerequisite (e.g., whether the account must already be tracked via list_monitored_accounts) or any caveat on data availability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both enum parameters are fully documented with defaults, so the schema carries the load. The description mentions the time-period concept and metric areas only at a high level, adding no syntax or behavioral detail beyond what the schema states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get Instagram account statistics') and enumerates the metrics returned (followers, engagement rate, reach, growth) plus the time dimension. The 'Instagram' qualifier cleanly separates it from the sibling get_tiktok_account_stats, so an agent can route 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete triggering conditions ('when someone asks about an account's performance, how an account is doing, or wants a stats overview') and even prescribes a companion call to get_alerts so declining accounts are flagged. It stops short of disambiguating against close siblings like get_growth_summary, compare_accounts, or get_audience_insights, which also cover performance questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alertsARead-onlyInspect
Which tracked accounts need a look right now, and why: followers falling, engagement falling (judged on posts old enough to have settled, so one viral post or a post published an hour ago does not trigger it), or no new post for a while. Call this whenever the user asks how an account is doing, how their accounts or clients are doing, what needs attention, or for a check-up or weekly review, together with the stats tools: pass the username when they ask about one account. If the account is in the list, open the answer with the alert and its numbers, then give the rest. Also returns the user's alert rules and how often the alert email is sent.
| Name | Required | Description | Default |
|---|---|---|---|
| username | No | Instagram or TikTok username (without @) to check one account. Omit to list every account that needs a look. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and closed-world, and the description adds genuine behavioral nuance: engagement is judged only on posts old enough to have settled, so a viral post or a fresh post won't trigger. It also discloses a secondary return payload (alert rules and email cadence). Missing only things like whether per-account data is scoped to the authenticated user.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the answer to 'what does this return', and every clause carries information. The second sentence is long and multi-clausal, slightly run-on, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must cover return values, and it does: the alert list with its numbers, the user's alert rules, and email frequency. Combined with the alert-condition definitions and usage triggers, an agent has enough to call it and to format the answer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is already documented, but the description adds the decision rule ('pass the username when they ask about one account') that tells the agent how the optionality maps to conversation context, which the schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific question the tool answers ('which tracked accounts need a look right now, and why') and enumerates the exact alert conditions: followers falling, engagement falling, or inactivity. An agent can distinguish it from the stats siblings and from manage_alerts without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the triggering user intents (how an account is doing, what needs attention, check-up, weekly review) and instructs pairing with the stats tools plus the conditional username behavior for single-account questions. This is close to an ideal when-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_audience_insightsARead-onlyInspect
Get audience and growth insights for an Instagram account including follower growth trajectory, engagement health, and projected growth. Use this when someone asks about their audience, who follows them, growth trends, or account health.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. Without an output schema, the description's enumeration of what the insights contain (growth trajectory, engagement health, projected growth) does real work. It says nothing about data freshness, whether projected growth is modeled, or what happens for private/small accounts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the capability and followed by trigger conditions. No filler and nothing that could be cut without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly spends its words describing return contents, and a single-parameter read-only tool needs little else. The remaining gap is ambiguity versus look-alike siblings (get_growth_summary, get_account_stats) rather than missing invocation detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema fully documents it ("Instagram username (without @)") at 100% coverage, so the baseline is 3. The description adds no semantics about the identifier, such as whether it must be a monitored account or what happens on an unknown handle.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ("Get audience and growth insights for an Instagram account") and enumerates the content: follower growth trajectory, engagement health, projected growth. It is clear, but it does not distinguish itself from siblings like get_growth_summary or get_account_stats that appear to overlap substantially.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this when someone asks about their audience, who follows them, growth trends, or account health" gives concrete trigger phrasing an agent can match on. It stops short of exclusions or alternatives, and notably does not resolve the apparent overlap with get_growth_summary and get_account_stats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_best_posting_timesARead-onlyInspect
Find the best days and times to post on Instagram based on historical engagement data. Returns a heatmap showing when posts get the most engagement. Use this when someone asks when to post, what the best posting schedule is, or how to optimize their posting times.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and closed-world safety, so the bar is lower; the description still adds that results derive from historical engagement and arrive as a heatmap, which is the key behavioral detail given there is no output schema. It omits the lookback window and what happens when an account has too little data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it does, what it returns, when to call it. No filler and the core action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description supplies the return format and the data source, which is most of what an agent needs. Minor gaps remain around data window and empty/insufficient-data behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'username' parameter is fully documented in the schema including the 'without @' convention. The description adds no parameter-level meaning beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find the best days and times to post on Instagram') plus the data basis ('historical engagement data') and the return shape ('heatmap'). The platform qualifier cleanly separates it from get_tiktok_best_posting_times without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates trigger phrasings: 'when someone asks when to post, what the best posting schedule is, or how to optimize their posting times.' No explicit when-not or named alternative, though the Instagram framing implicitly excludes the TikTok sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_content_breakdownARead-onlyInspect
Analyze content performance by media type (Image, Video, Reel, Carousel) showing which format drives the most engagement. Use this when someone asks which content type works best, what kind of posts to focus on, or wants a content strategy recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered structurally. The description adds the analytical output gist ('which format drives the most engagement'), but says nothing about row granularity, date-range behavior, or what happens for accounts with too few posts in a format — a real edge case for a breakdown tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the analytical scope is front-loaded and the usage triggers follow immediately. Nothing is repeated from the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only analytics tool with no output schema, the description conveys both what is measured and what conclusion it supports. A brief note on how the breakdown is grouped (per post vs. aggregated per format) would close the last gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter that the schema itself documents as 'Instagram username (without @)'. The description contributes no additional parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a specific verb ('Analyze') and resource ('content performance by media type') and enumerates the exact formats (Image, Video, Reel, Carousel), so the agent knows precisely what dimension is being broken down. It does not explicitly stake out its boundary against the sibling get_tiktok_content_breakdown — platform is only inferable from the schema's 'Instagram username' and the annotation title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives three concrete trigger phrasings ('which content type works best', 'what kind of posts to focus on', 'content strategy recommendation'), which is strong positive routing. It stops short of naming an alternative or an exclusion (e.g. when to prefer get_post_insights or get_reels_analytics instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_growth_summaryARead-onlyInspect
Get a computed growth summary with follower projections, engagement trends, and posting frequency. Use this when someone asks about growth trajectory, future follower estimates, or overall account health. Call get_alerts for the same account too, so a falling account is flagged.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Time period: 7d, 30d, or 90d | 30d |
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful context beyond that: the output is "computed"/derived rather than raw, and best practice is to pair it with get_alerts in the same session. No rate limits, cost, or data freshness window disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, and the deliverable is front-loaded before the usage trigger. The trailing rationale ("so a falling account is flagged") justifies the companion call rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description enumerates the return components well enough to set expectations. Combined with only two parameters (one required) and full annotation coverage, an agent has what it needs to call it correctly. A note on the projection horizon or period-dependent behavior would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the period enum and username format fully documented in the schema itself (including "without @"). The description adds no parameter-level detail such as how the chosen period affects projection confidence or output granularity. Baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ("Get a computed growth summary") followed by the three content components it returns: follower projections, engagement trends, posting frequency. That distinguishes it from raw-stats siblings like get_account_stats. It never explicitly names sibling alternatives (e.g., get_tiktok_growth_summary for the TikTok variant), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete triggering questions ("growth trajectory, future follower estimates, or overall account health"), which is real when-to-use guidance rather than vague targeting. It also prescribes a companion call — "Call get_alerts for the same account too" — a genuine cross-tool workflow instruction. It lacks explicit when-not guidance or a named alternative to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_insightsARead-onlyInspect
Track how a specific post's reach, views, saves, and shares change over time. Use this when someone asks about a post's performance trend, whether a post is still gaining traction, or wants post lifecycle analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Time period: 7d, 30d, or 90d | 30d |
| post_id | Yes | The post ID or shortcode | |
| username | Yes | Instagram username (without @) — needed to resolve the account |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered elsewhere. The description adds useful behavioral context by implying a time-series/comparative-over-time result and listing which metrics are observed, but it says nothing about granularity (daily points?), how the comparison baseline is computed, or account-resolution requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the capability statement comes first, then the usage triggers. Every sentence earns its place and there is no restating of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter read-only tool with full schema coverage and no output schema, the description covers purpose, metrics, and invocation context adequately. The remaining gap is the shape of the returned trend (period comparison vs. raw time series), which matters for how an agent reports results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the period enum (7d/30d/90d) is fully documented in the schema, so the baseline is 3. The description adds no parameter-level meaning beyond the schema — it doesn't explain the interaction between 'period' and the trend, or note that post_id accepts a shortcode as well as an ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Track'), a specific resource scope ('a specific post'), and enumerates the metrics tracked (reach, views, saves, shares) plus the temporal dimension. It implicitly separates itself from list-level siblings like get_top_posts or get_content_breakdown by scoping to one post, but it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives three concrete trigger scenarios: performance trend questions, 'still gaining traction' checks, and lifecycle analysis. That is clear when-to-use guidance, but there are no exclusions or named alternatives (e.g., use get_top_posts for ranking many posts), so the routing logic is only half-specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reels_analyticsARead-onlyInspect
Analyze Instagram Reels performance with viral velocity, engagement rates, and view metrics. Use this when someone asks about Reels performance, video strategy, viral content, or which Reels are performing best.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort by: recent, most_viewed, most_engaging, or viral_velocity | recent |
| limit | No | Number of reels to analyze (1-50, default 10) | |
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that the tool computes viral velocity and engagement metrics, but it does not describe return shape, limits, or any behavioral caveats beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences, front-loaded with the core purpose and followed by concrete usage triggers. No wasted words or redundant restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given complete schema coverage and annotations, the description supplies enough context to call the tool correctly. It could do slightly more to clarify what kind of result set comes back, since there is no output schema, but the gaps are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sort enum, default, and limit bounds are fully documented in the schema. The description adds no parameter-level guidance beyond echoing viral velocity as a metric, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: analyze Instagram Reels performance, with named metrics (viral velocity, engagement rates, view metrics). It is clearly Reels-specific, though it does not explicitly distinguish itself from related siblings like get_post_insights or get_top_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage triggers: Reels performance, video strategy, viral content, or which Reels perform best. It does not name exclusions or alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tiktok_account_statsARead-onlyInspect
Get TikTok account statistics including followers, total likes, posts count, and growth metrics for a specific account over a given time period. Use this when someone asks about a TikTok account's performance, how a TikTok account is doing, or wants a TikTok stats overview.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Time period: 7d, 30d, or 90d | 30d |
| username | Yes | TikTok username (without @) | |
| metric_focus | No | Focus area: overview (all metrics), engagement, reach, or growth | overview |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds that results are scoped to a time period, but says nothing about failure modes (private/nonexistent accounts), data freshness, or return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core capability followed by usage triggers. No filler, though the second sentence slightly repeats the first's subject.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only stat fetcher with fully documented parameters, this is nearly complete; the metric list and period scoping cover what the agent needs. With no output schema, a brief note on response structure or account-not-found behavior would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with enum values and defaults documented for period and metric_focus, so the schema does the heavy lifting. The description mentions time period and growth metrics but adds no syntax or behavioral detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get TikTok account statistics') and enumerates the metrics returned (followers, likes, posts, growth). The 'TikTok' qualifier distinguishes it from the generic get_account_stats, but it does not differentiate from close siblings like get_tiktok_growth_summary or get_tiktok_content_breakdown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: when someone asks about a TikTok account's performance or wants a stats overview. It stops short of stating when to prefer a sibling tool (e.g. growth-only or content-specific queries) or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tiktok_best_posting_timesARead-onlyInspect
Find the best days and times to post on TikTok based on historical play and engagement data. Returns a heatmap showing when videos get the most plays. Use this when someone asks when to post on TikTok, what the best TikTok schedule is, or how to optimize TikTok posting times.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | TikTok username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish that this is a read-only, closed-world operation. The description adds useful behavioral context by noting the historical play/engagement basis and heatmap output, but it omits any prerequisites, such as whether the account must be monitored, or data recency limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary purpose and output, followed by concrete use cases. Every sentence adds value, and there is no redundant or wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool, the description provides the data basis, return type, and usage contexts. It does not detail heatmap granularity or account prerequisites, but this is a minor gap given the annotations and fully described schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter is username, and the input schema fully documents it as the TikTok username without @. The description does not add meaning beyond the schema, but with 100% schema coverage the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: finding best TikTok posting days/times based on historical play and engagement data. It also says the result is a heatmap, so the purpose is clear. However, it does not explicitly differentiate this from the sibling get_best_posting_times, leaving some ambiguity about which tool to choose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage contexts: when someone asks when to post on TikTok, what the best schedule is, or how to optimize posting times. It does not provide when-not conditions or explicitly name alternatives such as get_best_posting_times, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tiktok_content_breakdownARead-onlyInspect
Analyze TikTok content performance broken down by format (video vs slideshow), sponsorship, and duration buckets, showing which type drives the most engagement. Use this when someone asks which TikTok content type works best, what kind of TikTok videos to focus on, or wants a TikTok content strategy recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | TikTok username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful context about the analysis dimensions and engagement comparison, but it does not disclose account prerequisites, limitations, or return format. For a read-only analytics tool with annotations present, this is adequate but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no wasted wording. The purpose and breakdown dimensions are front-loaded, followed immediately by concrete usage scenarios.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only analytics tool with no output schema, the description gives enough context to understand what is analyzed and when to invoke it. It could be slightly more complete by noting any account connection requirements or summarized return shape, but the core selection information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, username, and the schema description coverage is 100% with clear guidance that it should be provided without '@'. The description adds no parameter-specific meaning beyond what the schema already states, which is acceptable given the high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: analyze TikTok content performance. It also names the breakdown dimensions (format, sponsorship, duration) and the engagement outcome, making the tool's purpose clear. However, it does not explicitly distinguish itself from similar siblings such as get_content_breakdown or get_tiktok_video_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives clear use cases: questions about which TikTok content type works best, what videos to focus on, or content strategy recommendations. It does not mention when not to use the tool or name an alternative, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tiktok_growth_summaryARead-onlyInspect
Get a computed TikTok growth summary with follower projections, engagement trends, total likes change, and posting frequency. Use this when someone asks about TikTok growth trajectory, future TikTok follower estimates, or overall TikTok account health.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Time period: 7d, 30d, or 90d | 30d |
| username | Yes | TikTok username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits about the output content, such as it being a 'computed' summary with 'projections' and 'trends,' which is functional context not covered by the annotations. Since annotations already confirm it is read-only, the description adds valuable behavioral context about the data itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is concise, using two well-structured sentences. It front-loads the functional description before providing the usage context, maximizing clarity with minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the relative simplicity of the schema (only two parameters), the detailed description of the output content and specific use cases provides maximum contextual completeness for a reasoning agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for both parameters. The description does not add any necessary meaning or syntax clarification to the inputs themselves, relying instead on the schema for parameter definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states that it gets a computed summary including follower projections and engagement trends, distinguishing it from simple static stats retrieval. Although the sibling 'get_growth_summary' exists, the detailed contents make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage guideline is highly explicit, telling the AI exactly when to select this tool (e.g., when asking about 'growth trajectory' or 'future estimates'). This is the strongest part of the definition and eliminates ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tiktok_top_videosARead-onlyInspect
Get the top performing TikTok videos for an account, ranked by engagement rate, plays, diggs (likes), comments, or shares. Use this when someone asks about best TikTok videos, top TikTok content, viral videos, or highest performing TikTok content.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of videos to return (1-20, default 5) | |
| period | No | Time period: 7d, 30d, or 90d | 30d |
| sort_by | No | Sort by: engagement_rate, plays, diggs, comments, or shares | engagement_rate |
| username | Yes | TikTok username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that results are ranked by a chosen metric, but says nothing about whether the account must already be monitored/tracked, how large the returned set can be, or what happens when an account has no data in the period — gaps that matter given the presence of list_tiktok_monitored_accounts siblings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose then usage, no filler. The trigger list is slightly redundant ('best TikTok videos' / 'top TikTok content' / 'highest performing TikTok content' are near-synonyms), which costs a little density but not clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter, read-only analytical tool with no output schema and full schema coverage, the description covers what the tool does and when to reach for it. The main unaddressed item is the prerequisite that the username correspond to a monitored account, which the agent would have to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the enums are self-documenting, so the schema does the heavy lifting. The description only restates the sort_by options and implies the account scoping; it adds no meaning for period or limit (1-20, default 5) beyond the schema text, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Get the top performing TikTok videos for an account') and enumerates the ranking dimensions (engagement rate, plays, diggs, comments, shares). It is clearly distinguishable from generic siblings like get_top_posts or get_tiktok_video_analytics by the 'top performing / ranked' framing, though it never explicitly contrasts itself with those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives concrete invocation triggers: 'best TikTok videos, top TikTok content, viral videos, or highest performing TikTok content.' That is strong positive guidance, but it offers no exclusions or pointers to alternatives (e.g., when to prefer get_tiktok_video_analytics or get_content_breakdown instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tiktok_video_analyticsARead-onlyInspect
Analyze TikTok video performance with viral velocity, engagement rates, and play metrics. Use this when someone asks about TikTok video performance, video strategy, viral TikTok content, or which TikTok videos are performing best.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort by: recent, most_played, most_engaging, or viral_velocity | recent |
| limit | No | Number of videos to analyze (1-50, default 10) | |
| username | Yes | TikTok username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety and scope profile is covered structurally. The description adds partial context about what the output contains (viral velocity, engagement, plays), but says nothing about ranking behavior, aggregation scope, or what happens when a username has too few videos.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the capability statement front-loaded and the usage cue following; nothing is wasted. It could be marginally tighter, but every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries more of the burden of explaining return values, and it only lists metrics in passing without describing their structure. For a simple read-only analytics tool with fully documented params this is adequate, but not complete enough to guide an agent choosing among several TikTok analytics siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (username, limit, sort) are fully documented in the schema and baseline is 3. The description's mention of 'viral velocity' loosely mirrors the sort enum's viral_velocity option but adds no syntax, format, or default information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Analyze TikTok video performance') and names the concrete metrics produced (viral velocity, engagement rates, play metrics). It does not differentiate itself from the very close sibling get_tiktok_top_videos, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit trigger conditions: questions about TikTok video performance, video strategy, viral TikTok content, or which videos perform best. That is clear usage context, but it names no alternative tool and gives no when-not-to-use guidance, so the agent must infer when get_tiktok_top_videos is the better choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_postsARead-onlyInspect
Get the top performing Instagram posts for an account, ranked by engagement rate, likes, comments, or reach. Use this when someone asks about best posts, top content, viral posts, or highest performing content.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of posts to return (1-50, default 5) | |
| period | No | Time period: 7d, 30d, or 90d | 30d |
| sort_by | No | Sort by: engagement_rate, likes, comments, or reach | engagement_rate |
| username | Yes | Instagram username (without @) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that results are ranked and that ranking is selectable, but it doesn't disclose edge-case behavior such as what happens for private or unknown accounts, or whether post-level metrics accompany each result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler: the capability and its ranking axes come first, then the usage triggers. Nothing is redundant with the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All four params are documented and annotations cover the read-only nature, so an agent can call this correctly. With no output schema, a brief hint about what each returned post contains would have closed the last gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (username, limit, period, sort_by) are already fully documented with enums, defaults, and bounds. The description echoes the sort criteria but adds no syntax, default, or interpretation detail beyond the schema — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get), resource (top performing Instagram posts for an account), and the ranking dimensions used. It also implicitly disambiguates from siblings by naming the platform and the 'top posts' concept, distinguishing it from get_post_insights or the TikTok variant get_tiktok_top_videos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives explicit intake triggers — 'best posts', 'top content', 'viral posts', 'highest performing content' — which maps cleanly to user phrasing. It stops short of naming alternatives or when-not-to-use cases (e.g., single-post analysis belongs to get_post_insights).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_viral_studio_overviewARead-onlyInspect
Get a cross-platform Viral Studio overview for short-form videos across Instagram Reels, YouTube Shorts, and TikTok. Use this when someone asks for an overview of short-form performance, what is working across platforms, or wants the top short videos in their workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Platform filter: all, instagram, youtube, or tiktok | all |
| top_videos_limit | No | How many top videos to include from Viral Studio (1-12, default 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are covered. The description adds that results span a workspace across three networks and include top videos, but says nothing about aggregation period, ranking logic, or what happens when a platform has no data. Some added context, but thin for a no-output-schema tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource scope, and the usage trigger follows naturally. No filler, though the platform list in sentence one partly duplicates the enum in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two optional parameters, full schema coverage, and annotations covering the safety profile, the definition supplies enough to call it correctly. The missing piece is any hint about the shape of the returned overview (no output schema exists), which would have helped an agent interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both the platform enum and the 1-12 top_videos_limit bound fully documented in the schema. The description adds no parameter guidance beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get a cross-platform Viral Studio overview for short-form videos') and enumerates the three covered platforms, which implicitly separates it from single-platform siblings like get_tiktok_top_videos or get_reels_analytics. It stops short of naming an alternative explicitly, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives concrete triggering conditions: overview of short-form performance, what is working across platforms, or wanting top short videos. That is clear when-to-use guidance, but there is no when-not or named alternative (e.g. versus get_top_posts or get_reels_analytics), so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_viral_studio_recommendationsARead-onlyInspect
Get Viral Studio recommendations for short-form videos across Instagram Reels, YouTube Shorts, and TikTok. Use this when someone asks what to do next, wants coaching on short-form strategy, or wants cross-platform recommendations based on recent video performance.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Recommendation mode: rules for standard recommendations, or working/slump/idea/all for Viral Studio coach cards | rules |
| platform | No | Platform filter: all, instagram, youtube, or tiktok | all |
| include_deep_dive | No | When mode=rules, request the AI strategic deep dive text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that recommendations are grounded in recent video performance, which is useful context, but says nothing about response shape or what the modes return. With annotations carrying the behavioral load, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first defines the resource and scope, the second lists usage triggers. Nothing is wasted and the purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only recommendation tool with full schema coverage and no output schema, the description covers purpose, scope, and when to invoke. A brief note on what the recommendations look like or how modes differ would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are documented in the schema itself. The description only indirectly hints at the mode semantics through the word 'coaching' and does not clarify the cryptic 'working/slump/idea' coach-card modes, so it adds little beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get Viral Studio recommendations for short-form videos') and names the three platforms covered. It is clearly distinguishable from data-retrieval siblings like get_account_stats, though it does not explicitly differentiate itself from get_viral_studio_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete usage triggers: 'when someone asks what to do next,' 'wants coaching on short-form strategy,' or 'wants cross-platform recommendations based on recent video performance.' It lacks an explicit 'do not use when...' or a named alternative such as get_viral_studio_overview, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_monitored_accountsARead-onlyInspect
List all Instagram accounts currently being monitored in your OwlStat workspace. Use this when someone asks what accounts are tracked, wants to see their monitored accounts, or needs to know which accounts are in their workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds only the workspace scoping; it says nothing about ordering, result size, or what an empty result means for a tool whose whole job is enumerating accounts. Useful but thin beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the purpose front-loaded, but the usage sentence restates the same idea three times ('what accounts are tracked', 'see their monitored accounts', 'which accounts are in their workspace'). It is padded rather than dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read-only list with no output schema, the description tells the agent enough to call it and interpret the result as 'the monitored Instagram accounts.' Minor gaps (ordering, whether empty means nothing is connected) do not block correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to disambiguate; the baseline applies. No parameter text is needed and none is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (Instagram accounts currently being monitored) plus the scope ('in your OwlStat workspace'). The Instagram qualifier cleanly separates it from the sibling list_tiktok_monitored_accounts, so an agent can pick the right one without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear triggering conditions: 'when someone asks what accounts are tracked, wants to see their monitored accounts, or needs to know which accounts are in their workspace.' It stops short of naming alternatives or exclusions—it never points at list_tiktok_monitored_accounts or the stats tools for follow-up—so the routing is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tiktok_monitored_accountsBRead-onlyInspect
List all TikTok accounts currently being monitored in your OwlStat workspace. Use this when someone asks what TikTok accounts are tracked, wants to see their monitored TikTok accounts, or needs to know which TikTok accounts are in their workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered structurally. The description adds only 'currently being monitored in your OwlStat workspace' — no return shape, ordering, or completeness notes beyond what the annotations already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and earns its place. The second sentence says the same thing three ways ('what accounts are tracked', 'see their monitored accounts', 'which accounts are in their workspace'), which is padding rather than added information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only zero-parameter list call with annotations covering safety, the description is close to sufficient. It still leaves open what the result contains and whether it is workspace-scoped or user-scoped, which matters for a tool whose sibling set includes both TikTok-specific and generic account listings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly avoids inventing filtering options.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (list monitored TikTok accounts) plus the scope (OwlStat workspace). It is reasonably distinguishable from the generic sibling list_monitored_accounts by the repeated 'TikTok' qualifier, though it never explicitly contrasts with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear triggering context ('when someone asks what TikTok accounts are tracked'), so use conditions are implied and usable. However, it offers no exclusions and never names the obvious alternative (list_monitored_accounts / compare_tiktok_accounts), leaving the agent to infer which sibling to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_alertsAInspect
Change the user's alerts: tune or switch off a rule (followers drop, engagement drop, no new posts), set how often the alert email comes (every day, every Monday, or never), or hide an account from alerts and show it again. Use this when the user asks to change, mute, or stop alerts, e.g. "only email me on Mondays", "warn me at a 5% follower drop", "stop alerting me about @x". Call get_alerts first if you need the current settings.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | What to change | |
| metric | No | set_rule: which rule | |
| enabled | No | set_rule: switch the rule on or off | |
| username | No | hide_account / show_account: the account (without @) | |
| frequency | No | set_email_frequency: daily, weekly (Monday) or never | |
| threshold | No | set_rule: percent drop for followers (1-50) and engagement (10-90), days without a post for posts (3-60) | |
| window_days | No | set_rule: period the drop is measured over, followers and engagement only |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds meaningful context beyond that: hide_account is reversible via show_account, and the current state should be read via get_alerts before mutating. It does not say what the call returns or whether rule changes take effect immediately, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the capability list, then usage triggers, then the get_alerts prerequisite. The quoted examples are compact and each one disambiguates a different action, so every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters (1 required), full schema coverage, no output schema and clear annotations, the description covers action selection and the read-before-write pattern. It leaves unstated what a successful mutation returns and any limits on which accounts can be hidden, minor gaps for a settings tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter is already tagged with its owning action (e.g. "set_rule: which rule"), so the schema carries the semantics. The description's prose maps user intents to actions but adds no constraint detail beyond the schema, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Change the user's alerts") and then enumerates the three concrete capability groups: rule tuning/disable, email frequency, and account hide/show. The sibling get_alerts is named and its read-only role is made distinct from this mutation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the trigger conditions with user-utterance examples ("only email me on Mondays", "warn me at a 5% follower drop", "stop alerting me about @x") and adds a prerequisite routing rule: "Call get_alerts first if you need the current settings." No inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_tiktok_workspaceADestructiveInspect
Add, remove, or list TikTok accounts in your tracked workspace. Use this when someone wants to start tracking a new TikTok account, stop tracking a TikTok account, or see all monitored TikTok accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: add, remove, or list | |
| username | No | TikTok username (without @). Required for add/remove actions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already disclose that the tool is not read-only and is destructive, so the description does not need to repeat that safety profile. It adds useful intent mapping (add = start tracking, remove = stop tracking), but does not explain permissions, confirmation behavior, data retention after removal, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with the main action and usage situation front-loaded. Every sentence contributes to understanding what the tool does and when to call it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity two-parameter tool with annotations and no output schema, the description covers the core actions and usage context adequately. The main remaining gap is explicit routing guidance versus overlapping siblings like list_tiktok_monitored_accounts and manage_workspace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the schema already documents the action and username parameters, making 3 the baseline. The description adds semantic meaning to the action values by mapping them to user intents, but does not add syntax or conditional details for username beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific verbs (add, remove, list) and the resource (TikTok accounts in the tracked workspace), so the tool's purpose is immediately clear. It does not explicitly differentiate this from close siblings such as list_tiktok_monitored_accounts or manage_workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear when-to-use guidance for each action: starting tracking, stopping tracking, or viewing monitored accounts. It does not state when not to use it or name alternative sibling tools for overlapping cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_workspaceADestructiveInspect
Add, remove, or list Instagram accounts in your tracked workspace. Use this when someone wants to start tracking a new account, stop tracking an account, or see all monitored accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: add, remove, or list | |
| username | No | Instagram username (without @). Required for add/remove actions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows removal is a mutating, potentially destructive operation. The description adds no context beyond that — it does not say whether removal deletes historical data, whether it is reversible, or what happens when adding an already-tracked or private account. With annotations carrying the safety profile, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, with the operation set front-loaded before the usage guidance. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should ideally indicate what 'list' returns and what a successful add/remove yields, plus failure modes such as unknown usernames. It covers the intent but leaves the return shape and error behavior unspecified for a tool that mixes reads and destructive writes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the action enum and the username field (with the 'without @' and 'required for add/remove' notes) are fully documented in the schema. The description adds no format or validation detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Instagram accounts in the tracked workspace) and enumerates the three operations (add, remove, list), which clearly separates it from analytics siblings like get_account_stats. It does not, however, distinguish itself from the overlapping sibling list_monitored_accounts or from manage_tiktok_workspace, leaving a small ambiguity for the 'list' case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit triggering conditions: start tracking a new account, stop tracking an account, or see all monitored accounts. That maps cleanly onto the three enum actions. It stops short of naming alternatives or exclusions, so an agent must still infer whether list_monitored_accounts is the better choice for read-only listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
27 tool updates
- First observed
analyze_hashtags - First observed
compare_accounts - First observed
compare_tiktok_accounts - First observed
generate_report - First observed
generate_tiktok_report - First observed
get_account_stats - First observed
get_alerts - First observed
get_audience_insights - First observed
get_best_posting_times - First observed
get_content_breakdown - First observed
get_growth_summary - First observed
get_post_insights - First observed
get_reels_analytics - First observed
get_tiktok_account_stats - First observed
get_tiktok_best_posting_times - First observed
get_tiktok_content_breakdown - First observed
get_tiktok_growth_summary - First observed
get_tiktok_top_videos - First observed
get_tiktok_video_analytics - First observed
get_top_posts - First observed
get_viral_studio_overview - First observed
get_viral_studio_recommendations - First observed
list_monitored_accounts - First observed
list_tiktok_monitored_accounts - First observed
manage_alerts - First observed
manage_tiktok_workspace - First observed
manage_workspace
Related MCP Connectors
Video analytics for TikTok, Instagram, and YouTube. Track, analyze, and discover content.
Instagram & TikTok data tools: demographic user search, analytics, posts, comments, hashtags.
Track TikTok, Instagram Reels and YouTube Shorts accounts and videos: views, growth and analytics.
UGC analytics and Creator Hub for TikTok, Instagram and YouTube: tracking, campaigns, jobs, events.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables Instagram and Facebook analytics via the Meta Graph API, offering account insights, media analytics, and post engagement data.197MIT
- AlicenseBqualityDmaintenanceProvides tools for analyzing Instagram engagement metrics, extracting demographic insights, and identifying potential leads from Instagram posts and accounts.557 npm46MIT
- AlicenseNot gradedqualityCmaintenanceSocial media analytics toolkit that analyzes profiles, scores engagement, detects trending topics, researches hashtags, generates content calendars, and benchmarks against competitors. 6 tools across all major platforms.MIT

Sociality MCPofficial
AlicenseNot gradedqualityCmaintenanceSocial media analytics, post insights, and competitor benchmarking for AI agents.6MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.