Tools
Nội dung này hiện chưa có sẵn bằng ngôn ngữ của bạn.
Each action has two names: the dotted one for the REST API (posts.create) and the MCP tool name
(posts_create). Both take the same JSON input.
- Read-only actions change nothing. MCP clients see
readOnlyHint: true. - Needs approval actions never run from MCP or the REST API. MCP turns them into an approval card
in the app; the REST API answers
403withApprovalRequired. See Approvals.
| Action | MCP tool | Kind |
|---|---|---|
accounts.list |
accounts_list |
Read-only |
providers.limits |
providers_limits |
Read-only |
posts.list |
posts_list |
Read-only |
posts.get |
posts_get |
Read-only |
posts.create |
posts_create |
Write |
posts.update |
posts_update |
Write |
posts.setVersionText |
posts_setVersionText |
Write |
posts.setOption |
posts_setOption |
Write |
posts.validate |
posts_validate |
Read-only |
posts.schedule |
posts_schedule |
Needs approval |
posts.publishNow |
posts_publishNow |
Needs approval |
posts.delete |
posts_delete |
Needs approval |
providers.list |
providers_list |
Read-only |
accounts.delete |
accounts_delete |
Needs approval |
media.list |
media_list |
Read-only |
posts.metrics |
posts_metrics |
Read-only |
analytics.summary |
analytics_summary |
Read-only |
ui.getContext |
ui_getContext |
Read-only |
accounts.list
Section titled “accounts.list”List connected social accounts.
- MCP tool:
accounts_list - REST:
POST /api/agent/tools/accounts.list - Kind: read-only
No input. Send {}.
providers.limits
Section titled “providers.limits”Character, media and thread limits of every provider. Respect them when writing posts.
- MCP tool:
providers_limits - REST:
POST /api/agent/tools/providers.limits - Kind: read-only
No input. Send {}.
posts.list
Section titled “posts.list”List posts, newest first.
- MCP tool:
posts_list - REST:
POST /api/agent/tools/posts.list - Kind: read-only
| Field | Type | Required | Description |
|---|---|---|---|
status |
"Draft" | "Scheduled" | "Publishing" | "Published" | "Failed" |
Minimal input:
{}posts.get
Section titled “posts.get”Get one post with all its versions.
- MCP tool:
posts_get - REST:
POST /api/agent/tools/posts.get - Kind: read-only
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Minimal input:
{"id":"…"}posts.create
Section titled “posts.create”Create a draft post. Passing scheduledAt from the agent still needs approval via posts.schedule.
- MCP tool:
posts_create - REST:
POST /api/agent/tools/posts.create - Kind: write, runs directly
| Field | Type | Required | Description |
|---|---|---|---|
accountIds |
string[] | Default: []. |
|
body |
string | Text of the original version. Default: "". |
|
scheduledAt |
string | ISO-8601 instant. Empty = save as draft. |
Minimal input:
{}posts.update
Section titled “posts.update”Replace accounts, versions and time of an editable post. On a scheduled post it needs the user’s approval.
- MCP tool:
posts_update - REST:
POST /api/agent/tools/posts.update - Kind: write, runs directly
| Field | Type | Required | Description |
|---|---|---|---|
scheduledAt |
string | ||
baseUpdatedAt |
string | The post’s updatedAt this change is based on. When set and the post changed since, nothing is saved (Conflict). | |
versions |
object[] | yes | |
versions[].accountId |
string | Account this version overrides, or empty for the original version. | |
versions[].content |
object[] | yes | |
versions[].content[].body |
string | yes | Plain text body. No HTML. |
versions[].content[].media |
string[] | Media ids from the media library, in display order. Default: []. |
|
versions[].options |
object | Network options of this account’s version, by key (see providers.limits): a YouTube title, TikTok privacy, a Pinterest board. Default: {}. |
|
id |
string | yes | |
accountIds |
string[] | yes |
Minimal input:
{"versions":[],"id":"…","accountIds":[]}posts.setVersionText
Section titled “posts.setVersionText”Rewrite the text of one version of a post (original or a specific account). On a scheduled post it needs the user’s approval.
- MCP tool:
posts_setVersionText - REST:
POST /api/agent/tools/posts.setVersionText - Kind: write, runs directly
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
accountId |
string | Account whose version to edit. Empty = the original version. Editing an account that has no override creates one from the original. | |
body |
string | yes | |
itemIndex |
integer | Default: 0. |
Minimal input:
{"id":"…","body":"…"}posts.setOption
Section titled “posts.setOption”Set a network option of a post (a YouTube title, TikTok privacy, a Pinterest board). Keys and choices are in providers.limits. On a scheduled post it needs the user’s approval.
- MCP tool:
posts_setOption - REST:
POST /api/agent/tools/posts.setOption - Kind: write, runs directly
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
accountId |
string | Account whose version to set it on. Empty = the original version, which applies to every account of the network. | |
key |
string | yes | The option’s key from providers.limits, e.g. youtube.title, tiktok.privacy, pinterest.board. |
value |
string | The value; empty removes it (the default applies). |
Minimal input:
{"id":"…","key":"…"}posts.validate
Section titled “posts.validate”Check a post against every selected provider’s limits.
- MCP tool:
posts_validate - REST:
POST /api/agent/tools/posts.validate - Kind: read-only
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Minimal input:
{"id":"…"}posts.schedule
Section titled “posts.schedule”Schedule a post for publishing. Public and irreversible once published.
- MCP tool:
posts_schedule - REST:
POST /api/agent/tools/posts.schedule - Kind: needs approval
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | |
at |
string | yes | ISO-8601 instant in the future. |
Minimal input:
{"id":"…","at":"…"}posts.publishNow
Section titled “posts.publishNow”Publish a post immediately to all its accounts. Public and irreversible.
- MCP tool:
posts_publishNow - REST:
POST /api/agent/tools/posts.publishNow - Kind: needs approval
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Minimal input:
{"id":"…"}posts.delete
Section titled “posts.delete”Delete a post that is not published.
- MCP tool:
posts_delete - REST:
POST /api/agent/tools/posts.delete - Kind: needs approval
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Minimal input:
{"id":"…"}providers.list
Section titled “providers.list”Providers this server can connect to. Connecting needs the user’s browser (OAuth); give them connectUrl.
- MCP tool:
providers_list - REST:
POST /api/agent/tools/providers.list - Kind: read-only
No input. Send {}.
accounts.delete
Section titled “accounts.delete”Disconnect an account. Its scheduled posts will fail for that account.
- MCP tool:
accounts_delete - REST:
POST /api/agent/tools/accounts.delete - Kind: needs approval
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Minimal input:
{"id":"…"}media.list
Section titled “media.list”The user’s image library. Put media ids into a content item’s media list to attach images to a post.
- MCP tool:
media_list - REST:
POST /api/agent/tools/media.list - Kind: read-only
No input. Send {}.
posts.metrics
Section titled “posts.metrics”Statistics of a published post, per account: views, likes, comments, shares and what else each network reports (providers.limits lists them). Read about an hour after publishing, then at 6 h, 24 h, 3, 7 and 30 days.
- MCP tool:
posts_metrics - REST:
POST /api/agent/tools/posts.metrics - Kind: read-only
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes |
Minimal input:
{"id":"…"}analytics.summary
Section titled “analytics.summary”How published posts did in a time range: totals per account and per network, the 10 posts with the most engagement (likes, comments, shares, quotes, saves), and bestTimes: engagement per weekday and hour in timeZone, with the number of posts behind each (lowConfidence under 3 posts).
- MCP tool:
analytics_summary - REST:
POST /api/agent/tools/analytics.summary - Kind: read-only
| Field | Type | Required | Description |
|---|---|---|---|
from |
string | yes | ISO-8601 instant, start of the range (inclusive), e.g. 2026-09-01T00:00:00Z. |
to |
string | yes | ISO-8601 instant, end of the range (exclusive). At most 400 days after from. |
accountIds |
string[] | Only posts published to these accounts. Empty = every account. Default: []. |
|
timeZone |
string | IANA time zone for bestTimes, e.g. Europe/Paris: the user’s. Unknown names count as UTC. Default: "UTC". |
Minimal input:
{"from":"…","to":"…"}ui.getContext
Section titled “ui.getContext”What the user is looking at: page, open post and version tab. Use it to resolve ‘this post’ or ‘this version’.
- MCP tool:
ui_getContext - REST:
POST /api/agent/tools/ui.getContext - Kind: read-only
No input. Send {}.