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.

ToolScopeActs publicly
list_accountsreadNo
list_postsreadNo
get_post_statsreadNo
list_commentsreadNo
create_postwriteOnly with publishNow
reply_to_commentengageYes, 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

statusstringoptional
One of draft, scheduled, publishing, published, partial, failed.
limitnumberoptional
Default 20, maximum 50.

get_post_stats

Daily performance snapshots for one post, per platform.

Parameters

postIdstringrequired
An Echoia post id, as returned by list_posts.

list_comments

Recent comments with sentiment and tags.

Parameters

platformstringoptional
Restrict to one platform.
sentimentstringoptional
positive, negative or neutral.
unrepliedOnlybooleanoptional
Only comments with no reply yet.
limitnumberoptional
Default 20, maximum 50.

Each 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

contentstringrequired
The post text, up to 10,000 characters.
accountsstring[]required
Who publishes: instagram:@acme, a bare @acme when it is connected on one platform only, or an id from list_accounts.
platformsstring[]optional
Shorthand. Resolves only while the platform has exactly one connected account; with several the call is refused and the candidates are listed.
scheduledAtstringoptional
Future ISO 8601 datetime. Mutually exclusive with publishNow.
publishNowbooleanoptional
Publish straight away. Needs the publish scope.
mediaUrlsstring[]optional
Up to 10 absolute https:// URLs.
firstCommentsstring[]optional
Up to 5 follow-up comments, posted in order after publishing.

The result tells the agent what happened

A draft or scheduled post comes back with a note saying it stays editable in the app. A published one comes back with per-platform results, so the agent can report which platforms accepted it rather than assuming all did.

reply_to_comment

Posts a public reply as one of your accounts, immediately. The highest-impact tool in the set.

Parameters

platformstringrequired
The comment's platform.
commentIdstringrequired
A platformCommentId from list_comments.
messagestringrequired
Up to 2,200 characters.
accountIdstringoptional
Which account replies. Defaults to the account that received the comment.

The 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:

examples
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.

Was this page helpful?