Skip to main content
Glama
PlanPost MCP Server
by lukBB

get_best_times

Read-onlyIdempotent

Identify high-performing posting times per platform from your engagement history. Use this before setting scheduledFor in create_post to align schedules with past audience activity.

Instructions

Get the best times to post per platform, based on the user's engagement history. Use before picking scheduledFor in create_post.

Input Schema

NameRequiredDescriptionDefault
platformNoLimit to one platform (e.g. 'instagram')

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine value by disclosing the data source (the user's engagement history), but it says nothing about what happens when history is sparse or absent, or how fresh the data is — a meaningful gap for a recommendation tool.

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

Conciseness5/5

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

Two short sentences with zero waste: purpose first, then the usage rule. The most decision-relevant information (call before create_post) is front-loaded after the core statement.

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

Completeness3/5

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 the burden of explaining what comes back, and 'best times' is underspecified — it is unclear whether the result is a list of hour slots, weekday recommendations, or per-platform objects. For a low-complexity single-parameter read tool this is tolerable, but an agent cannot anticipate the response shape.

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

Parameters3/5

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

Schema description coverage is 100%, so the single 'platform' parameter is already documented in the schema, making 3 the baseline. The phrase 'per platform' implies that omitting the parameter returns results for all platforms and that supplying it narrows to one, which is a small addition beyond the schema but not a substantive one.

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?

States a specific verb and resource ('Get the best times to post') and adds the derivation basis ('based on the user's engagement history') plus per-platform scope. It is clear on its own, but it does not differentiate itself from nearby scheduling siblings such as suggest_schedule or get_posting_schedule, so an agent must infer the boundary.

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?

Explicitly tells the agent when to call it: 'Use before picking scheduledFor in create_post,' which ties the output directly to a downstream parameter. There are no when-not-to-use rules and no mention of the overlapping suggest_schedule tool, so the routing guidance is clear but not exhaustive.

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