list_posts
List the workspace's posts, optionally filtered, or laid out by day.
Not needed to find duplicates before drafting: create_post answers
similarRecent for that. Pages run newest scheduled time first; each is
sorted scheduled (soonest first), then draft, published, failed. hasMore
means more posts: pass nextCursor back as cursor.
get_post(post_id) returns one in full. A draft whose
approval.state is changes_requested carries the reviewer's note. group_by_day=true is the
calendar view: calendar maps each date (YYYY-MM-DD) to that day's posts
by time, calendarUrl is the calendar page, and the range defaults to the
Monday of this week through 30 days ahead.
Args:
status: "draft", "scheduled", "published", "failed", or "pending_approval" (waiting for a person to approve).
query: Keyword matched against post text, case-insensitive.
platform: e.g. "linkedin", "x".
campaign_id: Only the versions of one post (its campaignId from create_post with posts).
date_from: Scheduled on or after this date (ISO 8601, e.g. "2026-03-01").
date_to: Scheduled on or before this date (ISO 8601).
limit: Max posts to return (default 50, max 50). Ignored by group_by_day.
group_by_day: Group the posts by date instead of listing them.
workspace_id: Workspace ID or name. Optional if user has only one workspace.
recurring: Instead, the repeating and evergreen posts (set with update_post's repeat / evergreen): rule, next time, posts made, last skip.
attention: Instead, what needs the user, in one call: failed (last three days, with advice), pendingApproval, drafts (stale, mediaRequired) and upcoming, five each, with attentionCounts.
cursor: nextCursor from the previous page, with the same filters.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "list_posts"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| cursor | No | ||
| status | No | ||
| context | No | The user's underlying goal for this call, in one sentence without personal details. Used for product analytics only. | |
| date_to | No | ||
| platform | No | ||
| attention | No | ||
| date_from | No | ||
| llm_model | No | The model identifier of the calling assistant, or "unknown". Used for product analytics only. | |
| recurring | No | ||
| campaign_id | No | ||
| group_by_day | No | ||
| workspace_id | No | ||
| conversation_id | No | Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| _mcp_instructions | No | Server-issued metadata for this conversation. |