Skip to main content
Glama

Best times to post

best_times
Read-onlyIdempotent

When this brand's posts get the most engagement, by weekday and hour in the workspace's time zone, best first: slots of {day, hour, minute, local_label, posts, avg_engagement} (likes + comments + shares + saves per post). source says where it came from: 'zernio' (our posting service's best-time analysis of every published post on the brand's accounts, asked at most once an hour; computed_at says when) or 'history' (Yaybird's own stored numbers for the last 90 days, used when that is not available). Few posts behind a slot means a weak signal; posts says how many. grid is the whole week from Yaybird's own numbers (last 90 days): cells of {day (mon to sun, as posting_week), hour, posts, avg_engagement, posting_time} for every hour that had a measured post, posting_time true where the brand posts now, which shows whether the posting times match when people engage; enough is false below min_posts. It is advice from past results and does not change the posting times next_slot uses: a best time can go in scheduled_at, or the person can add it to the posting times in Settings.

Input Schema

NameRequiredDescriptionDefault
brandNoBrand id from get_workspace. Optional when the workspace has one brand.
platformNo

Output Schema

NameRequiredDescriptionDefault
slotsYes
sourceYes
timezoneYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / platform / enum
      Previous value: -[
      -  "instagram",
      -  "facebook",
      -  "threads",
      -  "tiktok",
      -  "linkedin",
      -  "youtube",
      -  "x",
      -  "bluesky",
      -  "pinterest"
      -]New value: +[
      +  "instagram",
      +  "facebook",
      +  "threads",
      +  "tiktok",
      +  "linkedin",
      +  "youtube",
      +  "x",
      +  "bluesky",
      +  "pinterest",
      +  "googlebusiness"
      +]
  2. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/non-destructive, so the bar is lower, yet the description adds real behavioral context on top: a 'zernio' source queried 'at most once an hour' with a computed_at timestamp, a 'history' fallback limited to 90 days, a min_posts threshold before 'enough' is false, and the crucial caveat that this is advisory and 'does not change the posting times next_slot uses.' That is substantive transparency 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.

Conciseness3/5

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

It is front-loaded with the core purpose, but a large share of the text enumerates return fields ('slots of {day, hour, minute, local_label, posts, avg_engagement}' and the whole grid cell shape) that an output schema already carries. The run-on density and redundant payload description dilute an otherwise informative opening.

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

Completeness4/5

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

For a zero-required-parameter read tool with annotations covering the safety profile and an output schema covering the return shape, the description supplies more than enough to call it correctly, including source/caching and advisory semantics. Its only real gap is the undocumented platform parameter.

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

Parameters2/5

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

Schema description coverage is 50% (brand is documented, platform is an undescribed enum). The description adds no meaning about what brand or platform do, how omission of brand is resolved, or how platform scopes the analysis, so it fails to compensate for the coverage gap.

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

Purpose4/5

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

The description clearly identifies the resource: 'When this brand's posts get the most engagement, by weekday and hour in the workspace's time zone.' That is a specific, unambiguous statement of what the tool returns. It does not, however, explicitly differentiate itself from analytics siblings like get_analytics or open_week.

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

Usage Guidelines4/5

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

It gives concrete downstream usage: 'a best time can go in scheduled_at, or the person can add it to the posting times in Settings,' and notes a free-form caveat about weak signals when 'Few posts behind a slot.' It stops short of naming an alternative tool for when this is the wrong choice, so it is clear context rather than 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources