Agents
Tool reference
The six MCP tools, their arguments and the scope each one needs. Tools outside the token's scopes are not advertised to the client at all.
| Tool | Scope | Acts publicly |
|---|---|---|
list_accounts | read | No |
list_posts | read | No |
get_post_stats | read | No |
list_comments | read | No |
create_post | write | Only with publishNow |
reply_to_comment | engage | Yes, immediately |
list_accounts
Connected accounts with follower counts. Usually the agent's first call — the id it returns is what other tools accept.
Takes no arguments.
list_posts
Posts in the workspace, newest first.
Parameters
statusstringoptionaldraft, scheduled, publishing, published, partial, failed.limitnumberoptionalget_post_stats
Daily performance snapshots for one post, per platform.
Parameters
postIdstringrequiredlist_posts.list_comments
Recent comments with sentiment and tags.
Parameters
platformstringoptionalsentimentstringoptionalpositive, negative or neutral.unrepliedOnlybooleanoptionallimitnumberoptionalEach comment carries a platformCommentId, which is what reply_to_comment expects.
create_post
Drafts by default. Schedules with scheduledAt. Publishes immediately with publishNow — which additionally requires the publish scope.
Parameters
contentstringrequiredaccountsstring[]requiredinstagram:@acme, a bare @acme when it is connected on one platform only, or an id from list_accounts.platformsstring[]optionalscheduledAtstringoptionalpublishNowbooleanoptionalpublish scope.mediaUrlsstring[]optionalfirstCommentsstring[]optionalThe result tells the agent what happened
reply_to_comment
Posts a public reply as one of your accounts, immediately. The highest-impact tool in the set.
Parameters
platformstringrequiredcommentIdstringrequiredplatformCommentId from list_comments.messagestringrequiredaccountIdstringoptionalThe comment must be one this workspace actually received, the account must match the comment's platform, and replies are capped at 20 per minute.
How failures reach the agent
Tool failures come back as results marked isError rather than protocol errors, so the model reads the message and adapts. Messages are written to be acted on:
This API token is missing the "engage" scope required by reply_to_comment.
Not connected in this workspace: tiktok. Use list_accounts to see what's available.
Scheduled time is in the past — pick a future time.
Reply rate limit reached (20 replies/min per token).Unexpected internal failures return a generic message instead — details stay in our logs rather than being handed to a client.