Skip to main content
Requires the Publish permission. Tools in this group are hidden from tools/list and refused on call when your plan does not grant it.

post_generate

Read-only Generate LinkedIn post copy from a prompt using a connected AI provider. Returns text only and stores nothing — save it with post_upsert, or the copy is lost when the conversation moves on. Requires an AI provider connected in the web app under Settings - Integrations. Requires the “Publish” permission on the plan.

Parameters

OPENAI | ANTHROPIC | GEMINI | GROK | DEEPSEEK
required
Which connected AI provider to use. Providers are connected in the web app.
string
required
What the post should be about, and in what voice.

post_list

Read-only Posts drafted, scheduled or published from a LinkedIn account, with their engagement numbers. Includes per-status counts. Posts published to the account’s own feed — unrelated to campaign outreach, which is campaign_list and analytics_campaign. Read this before post_upsert to avoid creating a near-duplicate of something already queued. Requires the “Publish” permission on the plan.

Parameters

string
required
LinkedIn account id, from linkedin_account_list.
PENDING | DRAFTED | PUBLISHED | REQUIRE_APPROVAL | APPROVED | REJECTED
Filter by status.

post_schedule_get

Read-only The recurring weekly slots at which queued posts are published for an account. The repeating timetable, not the queue: for the posts themselves use post_list. Change the slots with post_schedule_set and the timezone or approval rules with post_schedule_settings. Requires the “Publish” permission on the plan.

Parameters

string
required
LinkedIn account id, from linkedin_account_list.

post_schedule_set

Write Destructive
Marked destructive in the protocol — your MCP client asks for confirmation before running it.
Define the publishing times for one weekday. Queued posts are released into these slots. One weekday per call, and it replaces that day’s times rather than adding to them — read post_schedule_get first. It does not schedule any particular post; that is post_upsert with scheduledAt. Requires the “Publish” permission on the plan.

Parameters

string
Omit to create a new slot.
string
required
LinkedIn account id, from linkedin_account_list.
string
required
Weekday, e.g. “monday”.
string[]
required
Publish times as 24-hour “HH:MM”, e.g. [“09:00”,“17:30”].
string
IANA timezone for these times.
string
CONTENT agent that fills empty slots automatically.
boolean
Require human approval before an auto-generated post publishes.
boolean
Whether this is live. Keep false while drafting.

post_schedule_settings

Write Set the timezone, the auto-drafting CONTENT agent, and whether posts need approval before publishing. Account-wide publishing policy, not times — the times are post_schedule_set. Attaching a CONTENT agent here lets it draft posts on its own, so confirm with the user first; the agent is configured in agent_upsert. Requires the “Publish” permission on the plan.

Parameters

string
required
LinkedIn account id, from linkedin_account_list.
string
AI agent id, from agent_list.
string
IANA timezone, e.g. “America/New_York”.
boolean
Require human approval before anything auto-generated goes out.

post_upsert

Write Destructive
Marked destructive in the protocol — your MCP client asks for confirmation before running it.
Draft or schedule a LinkedIn post. status: "DRAFTED" keeps it private; "PENDING" with a scheduledAt queues it for publishing; "REQUIRE_APPROVAL" routes it to a reviewer. A PENDING post with a past or imminent scheduledAt will go live publicly — confirm the copy with the user first. This is the only tool that saves a post. post_generate writes copy but stores nothing, and post_schedule_set defines the weekly slots a PENDING post is released into, not this post’s own time. Requires the “Publish” permission on the plan.

Parameters

string
Omit to create a new post.
string
required
Account that will publish it.
string
required
Post body.
string
Comment auto-posted underneath, e.g. a link.
object
Image, video or document to attach.
string | number
When to publish, as epoch milliseconds or ISO 8601.
PENDING | DRAFTED | PUBLISHED | REQUIRE_APPROVAL | APPROVED | REJECTED
DRAFTED keeps it private; PENDING queues it for publishing.