Foxli
Log inStart free
Developers / AI apps (MCP) / Tool Reference

MCP Tool Reference

The Foxli Model Context Protocol server exposes 13 tools covering workspace discovery, channel enumeration, post creation, approval submissions, emergency actions, and analytics queries.

Format JSON SchemaTransport Streamable HTTPServer URL https://mcp.foxli.app/mcp
1

list_workspaces

Lists all Foxli workspaces the authenticated user belongs to, including active membership roles and connected channel counts.

OAuth Scope readAPI Key Scope workspaces:readRole Any active member
Input Parameters
cursorstring

Optional pagination cursor from a previous page of results.

Example Call & Result
{}
2

list_channels

Returns the connected social channels for a workspace, including platform type, handle, and connection status.

OAuth Scope readAPI Key Scope channels:readRole Any active member
Input Parameters
workspace_idstring

Target workspace identifier. Required if user belongs to more than one workspace.

Example Call & Result
{
  "workspace_id": "ws_bloom"
}
3

get_platform_rules

Returns validation rules, character limits, media caps, and platform quirks for the 7 supported social platforms.

Scope None (Public)Resource foxli://platform-rules
Input Parameters
platformstring

Optional filter for a specific platform: x, linkedin, instagram, facebook, threads, youtube, pinterest.

Example Call & Result
{
  "platform": "instagram"
}
4

list_posts

Retrieves a list of posts filtered by status, channel, or date in a workspace.

OAuth Scope readAPI Key Scope posts:read
Input Parameters
workspace_idstring

Target workspace ID.

statusenum

Filter by post lifecycle: draft, queued, scheduled, published, failed, pending_approval.

channel_idstring

Filter posts associated with a specific channel.

limitnumber

Max records to return (1–50, default 20).

Example Call & Result
{
  "workspace_id": "ws_bloom",
  "status": "scheduled"
}
5

get_post

Fetches full metadata for a single post, including per-channel publishing states, provider post URLs, and error details if failed.

OAuth Scope readAPI Key Scope posts:read
Input Parameters
post_idstringREQUIRED

Unique identifier of the post.

workspace_idstring

Target workspace ID.

Example Call & Result
{
  "post_id": "post_9a1f",
  "workspace_id": "ws_bloom"
}
6

create_post

Creates a new social post as a draft, adds it to the workspace publishing queue, or schedules it for a future timestamp. Direct publishing (“now”) is disallowed in create_post to prevent accidental live broadcasts.

OAuth Scope write (owner, admin, editor)API Key Scope posts:write
Input Parameters
channel_idsstring[]REQUIRED

Array of channel IDs to publish this post to.

modeenumREQUIRED
draftqueueschedule
contentstring

Primary post body text.

scheduled_atISO-8601 UTC

Required when mode is schedule. Must be in the future (at least +2 minutes, max 1 year).

media_urlsstring[]

Public image or video URLs to download and attach.

channel_overridesobject

Custom content or media per channel ID (e.g. shorter copy for X, YouTube title).

first_commentstring

First comment text (Instagram and LinkedIn only).

Example Call & Result
{
  "workspace_id": "ws_bloom",
  "channel_ids": ["ch_ig_01", "ch_li_02"],
  "content": "Our weekend special menu is here ✨",
  "mode": "schedule",
  "scheduled_at": "2026-11-08T04:30:00Z",
  "media_urls": ["https://images.unsplash.com/photo-coldbrew.jpg"]
}
7

update_post

Updates content, scheduled time, media attachments, or channel overrides for an existing draft, queued, or scheduled post.

OAuth Scope writeAPI Key Scope posts:write
Input Parameters
post_idstringREQUIRED

Target post ID.

contentstring

Updated text content.

scheduled_atISO-8601 UTC

Reschedule post to a new timestamp.

Example Call & Result
{
  "post_id": "post_7c3b",
  "workspace_id": "ws_bloom",
  "scheduled_at": "2026-11-08T06:30:00Z"
}
8

submit_for_approval

Transitions a draft post into the pending approval workflow (Team plan or client workspace). Dispatches notifications to workspace approvers.

OAuth Scope writePlan Team or Client Workspace
Input Parameters
post_idstringREQUIRED

Draft post ID to submit.

notestring

Optional message or context for the reviewer.

Example Call & Result
{
  "post_id": "post_7c3b",
  "workspace_id": "ws_bloom",
  "note": "Ready for client sign-off on weekend campaign copy."
}
9

publish_post_now

Immediately dispatches an existing post to target social networks. Because this action is irreversible, the server strictly mandates explicit human agreement via confirm: true.

OAuth Scope writeConfirmation Strictly Required
Input Parameters
post_idstringREQUIRED

The post to publish immediately.

confirmbooleanREQUIRED

Must be true. The agent MUST ask the user in chat and obtain explicit consent before passing this flag.

Example Call & Result
{
  "post_id": "post_7c3b",
  "workspace_id": "ws_bloom",
  "confirm": true
}
10

delete_post

Permanently deletes a draft, queued, or scheduled post. Requires explicit user consent via confirm: true.

OAuth Scope writeConfirmation Strictly Required
Input Parameters
post_idstringREQUIRED

Post to delete.

confirmbooleanREQUIRED

Must be true following user sign-off.

Example Call & Result
{
  "post_id": "post_7c3b",
  "workspace_id": "ws_bloom",
  "confirm": true
}
11

import_media

Asynchronously imports media from a public URL, verifies format and size limits, and returns an internal media object for reuse across posts.

OAuth Scope writeAPI Key Scope posts:write
Input Parameters
urlstringREQUIRED

Public HTTP/HTTPS media link (images up to 10 MB, videos up to 100 MB).

workspace_idstring

Target workspace ID.

Example Call & Result
{
  "workspace_id": "ws_bloom",
  "url": "https://images.unsplash.com/photo-coldbrew.jpg"
}
12

get_analytics_overview

Fetches aggregate performance metrics (impressions, reach, engagements, follower change) and daily time series for a date range.

OAuth Scope readAPI Key Scope analytics:read
Input Parameters
start_datestring (YYYY-MM-DD)REQUIRED

Start of the analytics reporting window.

end_datestring (YYYY-MM-DD)REQUIRED

End of the analytics reporting window.

channel_idstring

Optional channel filter (omitting queries workspace-wide aggregate).

Example Call & Result
{
  "workspace_id": "ws_bloom",
  "start_date": "2026-10-01",
  "end_date": "2026-10-31"
}
13

get_account

Queries account details, subscription tier (Creator, Team), today's API/MCP rate limit budget, and remaining calls.

Scope Authenticated
Input Parameters

None required.

Example Call & Result
{}
!

Errors & Status Codes

When a tool invocation fails, the MCP server returns a standard error object with a typed error code and actionable guidance:

400workspace_requiredAccount belongs to multiple workspaces. Supply workspace_id parameter.
400confirm_requiredThe action is irreversible (publish_post_now or delete_post). Seek explicit user agreement in chat, then retry with confirm: true.
400validation_failedContent exceeds platform limit or lacks mandatory fields (e.g. YouTube title, Instagram media, Pinterest board).
403plan_requiredMCP integration requires a Creator or Team subscription. Inform user to upgrade at https://web.foxli.app/settings/billing.
403role_not_authorizedUser's workspace role is read-only (viewer, analyst, client) and cannot perform write operations.
403insufficient_scopeThe supplied API key or OAuth token lacks the required scope (e.g. posts:write).
429rate_limitedExceeded 120 requests/minute or 10,000 requests/day. Wait for the duration specified in Retry-After.

Build on Foxli.

Publish posts, sync social channels, stream analytics, and get instant webhooks.

No card for month one · Cancel anytime