Skip to main content
Glama

List posts

list_posts
Read-onlyIdempotent

The calendar as data for planning: posts in time order with their targets, approval state and allowed_actions. It draws nothing; show_posts returns the same data drawn as an approval list for the person. Suited to finding free times, avoiding doubled posts, or finding a post to change. status: upcoming (needs approval or approved, still to go out; the default of show_posts), needs_approval, changes_requested (a person sent it back with notes to fix), draft, rejected, scheduled (approved, still to publish), posted, failed (a target failed or needs action), cancelled, or all (list_posts' default: everything not cancelled). from and to (ISO 8601 with an offset, e.g. 2026-10-06T09:00:00-07:00 for 9am in Los Angeles. A time without an offset is read as UTC. The workspace's time zone is in get_workspace.) filter on the post time; each target's own time is in targets[].local_time. A post still waiting for approval after its time has approval.overdue true (due_soon true when its time is under 30 minutes away): it will not go out until approved. Such posts carry suggested_times (the next free posting time, and the brand's best upcoming hours from its own numbers or common good hours without them, each with label and reason): the person picks one when approving in show_posts or the app. Paged: 20 by default, 100 at most; pass next_cursor for more.

Input Schema

NameRequiredDescriptionDefault
toNo
fromNo
brandNoBrand id from get_workspace. Optional when the workspace has one brand.
limitNoPage size, 20 by default, 100 at most.
cursorNonext_cursor from the previous page.
statusNo
post_idsNoOnly these posts, e.g. the ones you just saved. Other filters are then ignored.

Output Schema

NameRequiredDescriptionDefault
postsYes
next_cursorYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description layers on real behavior the annotations can't express: the overdue/due_soon approval logic, that such posts carry suggested_times, and pagination (20 default, 100 max, next_cursor). That is substantial context beyond 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.

Conciseness4/5

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

Front-loads the core purpose and the show_posts routing, and nearly every sentence carries semantics absent from the schema (enums are undocumented otherwise). However it reads as a dense wall of text with the status list and timezone detail packed in, which costs some scannability.

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

Completeness5/5

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

Given an output schema exists, the description needn't explain return shapes, yet it still surfaces the fields an agent must reason about (targets, approval state, allowed_actions, overdue flags, suggested_times). For a filtered, paged list tool this leaves nothing material unaddressed.

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

Parameters5/5

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

At 57% schema coverage the description compensates heavily: it gives ISO 8601-with-offset syntax for from/to and the timezone fallback rule, explains that from/to filter on post time while targets carry their own local_time, and enumerates all ten status values with their semantics. Only 'brand' goes unmentioned, which the schema covers.

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

Purpose5/5

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

States a specific verb+resource with scope: 'posts in time order with their targets, approval state and allowed_actions'. It explicitly routes away from the closest sibling ('It draws nothing; show_posts returns the same data drawn as an approval list'), so an agent can distinguish list_posts from show_posts and get_post 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.

Usage Guidelines5/5

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

Names the alternative (show_posts) and the axis of selection (data vs drawn list), then gives concrete use cases: 'finding free times, avoiding doubled posts, or finding a post to change'. When to reach for this tool is unambiguous.

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