MCP

Tool reference

Every tool the Zilfu MCP server exposes, and the parameters that aren't obvious.

Updated Jul 27, 2026

The server exposes fifteen tools.

Tool What it does
ping-tool Health check — confirms the connection is live
get-session-tool Returns the authenticated session's user
list-spaces-tool Lists every workspace you have access to
list-accounts-tool Lists connected social accounts in a space
list-slots-tool Lists the recurring weekly posting slots in a space
create-slots-tool Creates one or more recurring slots
delete-slot-tool Deletes a recurring slot
list-posts-tool Lists posts in a space, with status, account, and date filters
get-post-tool Returns a single post with its account, replies, and media
create-posts-tool Creates posts — draft, scheduled, or published immediately
request-upload-tool Returns a one-time URL the user opens to upload media
get-upload-tool Fetches the media uploaded against a session token
list-account-analytics-tool One analytics summary row per account in a space — the discovery call
get-account-analytics-tool Returns one account's analytics report for a date range
list-account-posts-tool Lists an account's posts in a range, sorted by any metric it reports

Start with list-spaces-tool. Almost everything else needs a space_id, and most account-level calls need an account_id you get from list-accounts-tool or list-account-analytics-tool.

Creating posts

create-posts-tool takes a space_id and an items array — one entry per account, each carrying its account_id, its social network, and its main.content. A five-account post is one call with five items, grouped into a cluster at creation and published independently from then on.

Timing is decided by two fields:

Fields Result
is_draft: true Saved as a draft. Nothing publishes.
at set Scheduled for that moment.
Neither Published immediately.

at is a Unix timestamp in milliseconds, not an ISO 8601 string. 1785312000000, not 2026-07-28T09:00:00Z.

Optional per item: children for thread replies, media for attachments, and metadata for platform-specific fields like a Threads topic tag, a TikTok privacy level, or comment and duet permissions.

A comment object on the request schedules a follow-up first comment — content up to 500 characters and delay_minutes between 1 and 10080 (one week). Availability is per platform.

Captions are validated against the target platform's own length limit, so a caption that's fine on one network can be rejected for another in the same call. Creating a non-draft post also counts against the space owner's plan quota; if the whole batch doesn't fit, none of it is created.

Attaching media

Media can't be streamed through the conversation. The flow is:

  1. Call request-upload-tool. It returns a token, a url, and an expires_at.
  2. Share the URL with the user. They open it in a browser and drop their files in.
  3. Call get-upload-tool with the token to retrieve what they uploaded.
  4. Pass those media references into create-posts-tool.

Upload sessions expire one hour after they're created. If the user takes longer, request a new one.

Managing slots

create-slots-tool takes days_of_week — an array of integers from 1 (Monday) to 7 (Sunday) — and a single time in HH:MM. One call creates the same time across several days; call it again for a different time.

Listing posts

list-posts-tool filters by status, account_id, and a from/to range, paginated with page and per_page (default 15, capped at 200).

The post tools take from and to as millisecond timestamps. The analytics tools take them as date strings like 2026-07-01. They are not interchangeable.