fetch_platform_posts
Posts read straight from a platform, with metrics and permalinks: the account's own, or other people's public posts.
source="own" (default): the connected accounts' own posts, Antwork's or
not, one entry per account in accounts, so two LinkedIn accounts come
back side by side. It includes posts made on the platform directly, which
get_performance (Antwork-published posts only) does not; a duplicate check
before drafting is create_post's similarRecent. LinkedIn personal profiles cannot be read this way (LinkedIn
closed that API): they come back unsupported: true with a reason.
Antwork-published posts on them still have metrics in get_performance
and get_post.
An account that could not be read has fetchError (reason,
message): its empty posts is not an empty account, so say it could
not be read, never that it has no posts. X answers carrying cachedAt
come from a read kept up to a week (X bills per post read). A post's
mediaUrls (Instagram, Facebook, Threads, Pinterest, Mastodon, Bluesky
images) go to add_media(url=...) to repost the file; they expire.
source="search" (query) or "account" (handle): public posts by
anyone on platform, read with a connected account's sign-in and sorted
by outlierScore, how many times its usual a post did (1 is typical;
scoreBasis says against what: engagement per follower across the
results, or a creator against their own median). Each post has text,
url, author, format, metrics and traits (length bucket, first
line, hashtag count, link, question). X, YouTube, Bluesky and Mastodon,
plus Instagram creators only (source="account", public Business or
Creator accounts, read with a Unified Login account; an Instagram Login one
answers instagram_reconnect_for_discovery with the reconnect link). Any
other platform, or an Instagram search, answers unsupported with the way
around it.
Paid plans; X searches have a weekly limit. A read is reused for a day.
Studying what went viral, in order: get_post_context for the user's account (the voice to write in); this tool for the outliers; the 2 or 3 patterns they share (hook, format, length, angle) named for the user, rather than their topics; a plan of variations on the user's own business, agreed before any create_post. A variation takes the structure, never the source's wording, and a quote names its creator.
Args:
platform: One platform, e.g. "linkedin". Omitted = every connected one (own only; required otherwise).
account_id: One connected account; with search/account, whose sign-in makes the read.
max_posts: Own posts per account (1-25, default 10); with search/account, the same as limit.
workspace_id: Workspace ID or name. Optional if user has only one workspace.
source: "own" (default), "search" or "account".
query: Keywords or a #hashtag, with source="search".
handle: A creator's handle, with source="account" (on Mastodon user@server).
since_days: How far back with search/account, 1-30 (default 7 for search, 30 for account; X search reaches 7).
limit: Posts returned with search/account (1-25, default 10); with own, the same as max_posts.
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": "fetch_platform_posts"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| handle | No | ||
| source | No | own | |
| context | No | The user's underlying goal for this call, in one sentence without personal details. Used for product analytics only. | |
| platform | No | ||
| llm_model | No | The model identifier of the calling assistant, or "unknown". Used for product analytics only. | |
| max_posts | No | ||
| account_id | No | ||
| since_days | 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. |