Complete reference for all MCP server tools and their parameters
Complete reference documentation for all tools exposed by the Statuz MCP server. Use these tools through your AI assistant for natural language control of Statuz.
Open the Statuz composer with pre-filled content.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
text | string | No | Post content to prefill |
thread | boolean | No | Enable thread mode |
autosplit | boolean | No | Auto-split long posts |
media | string[] | No | Local file paths or remote URLs |
files | string[] | No | Alias for media when providing raw file paths |
quote | string | No | URL of post to quote |
platforms | string[] | No | Target platforms: x, bluesky, mastodon |
Example Usage:
"Open composer with text 'Hello World' and attach ~/Desktop/image.png"
AI Tool Call:
{
"text": "Hello World",
"media": ["/Users/me/Desktop/image.png"]
}Schedule a post for future publication.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
text | string | No | Post content (optional when you want a blank draft) |
date | string (ISO8601) | No | Schedule date/time (defaults to 1h from now with status: queued) |
timezone | string | No | Timezone (IANA format) |
platforms | string[] | No | Target platforms |
status | string | No | draft or queued (default: draft) |
thread | boolean | No | Post as thread |
autosplit | boolean | No | Auto-split long posts |
media | string[] | No | Local file paths or remote URLs |
files | string[] | No | Alias for media when passing raw file paths |
quote | string | No | URL of post to quote |
postingMode | string | No | defaults, allEnabled, or specific |
xMode | string | No | X-specific posting mode |
blueskyMode | string | No | BlueSky-specific posting mode |
mastodonMode | string | No | Mastodon-specific posting mode |
xAccounts | string[] | No | X account identifiers |
blueskyAccounts | string[] | No | BlueSky account identifiers |
mastodonAccounts | string[] | No | Mastodon account identifiers |
xShareWithFollowers | string | No | X follower visibility |
stealthMode | boolean | No | Schedule without UI (default: true for MCP calls) |
Example Usage:
"Schedule a post saying 'Big announcement tomorrow!' for tomorrow at 2pm EST"
AI Tool Call:
{
"text": "Big announcement tomorrow!",
"date": "2025-01-21T14:00:00",
"timezone": "America/New_York",
"status": "queued",
"platforms": ["x", "bluesky"]
}Query and filter scheduled posts.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
status | string or string[] | No | Filter by status: draft, queued, processing, published, failed |
platforms | string[] | No | Filter by platforms |
dateFrom | string (ISO8601) | No | Start date range |
dateTo | string (ISO8601) | No | End date range |
id | string or string[] | No | Filter by post ID(s) |
hasMedia | boolean | No | Filter posts with media |
textContains | string | No | Search text content |
postingMode | string | No | Filter by posting mode |
accountId | string or string[] | No | Filter by account ID(s) |
includeContent | boolean | No | Include full content (default: true) |
includeAccounts | boolean | No | Include account details (default: true) |
includeError | boolean | No | Include error messages (default: false) |
includeShare | boolean | No | Include share settings (default: false) |
sortBy | string | No | Sort field: date/scheduledDate, createdAt, or status |
sortOrder | string | No | asc or desc (default: asc) |
offset | integer | No | Pagination offset (default: 0) |
limit | integer | No | Max results to return (default: all matching posts) |
Example Usage:
"Show me all queued posts for next week"
AI Tool Call:
{
"status": "queued",
"dateFrom": "2025-01-20T00:00:00Z",
"dateTo": "2025-01-27T00:00:00Z",
"sortBy": "date",
"limit": 50
}Edit an existing scheduled post.
Important: Published posts cannot be edited. Only draft, queued, processing, or failed posts.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Post UUID |
text | string | No | New text content (single posts) |
thread | string[] | No | Replace entire thread |
threadOps | object[] | No | Granular thread operations |
date | string (ISO8601) | No | New schedule date/time |
timezone | string | No | New timezone |
platforms | string[] | No | New target platforms |
status | string | No | New status: draft or queued only |
accounts | string or object | No | Account selection |
autosplit | boolean | No | Auto-split long posts |
media | string[] | No | New local file paths or remote URLs |
files | string[] | No | Alias for media when supplying raw file paths |
stealthMode | boolean | No | Edit without UI (default: true) |
Thread Operations:
Each operation object has:
Example Usage:
"Add '#launch' to the post scheduled for Monday"
AI Tool Call:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"text": "Exciting announcement coming soon! 🚀 #launch"
}Delete a scheduled post permanently.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Post UUID |
stealthMode | boolean | No | Delete without confirmation (default: true) |
Example Usage:
"Delete the post scheduled for Friday"
AI Tool Call:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"stealthMode": true
}Open the Statuz calendar view.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
view | string | No | View type: day, week, month, year |
date | string (ISO8601) | No | Navigate to specific date |
status | string | No | Reserved for future use (currently ignored by the UI) |
Example Usage:
"Show me the calendar in week view"
AI Tool Call:
{
"view": "week"
}List all connected social media accounts.
Parameters: None
Returns: Array of account objects with platform, username, nickname, enabled status, and default flag.
Note: Does not return authentication tokens or secrets.
Example Usage:
"What accounts do I have connected?"
Open account connection flow to add a new social media account.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | x, bluesky, or mastodon |
instance | string | No | Mastodon instance URL (default: mastodon.social) |
autoConnect | boolean | No | Auto-trigger OAuth (default: true) |
Example Usage:
"Add my Mastodon account on fosstodon.org"
AI Tool Call:
{
"platform": "mastodon",
"instance": "fosstodon.org",
"autoConnect": true
}Disconnect and remove a social media account.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | Platform identifier |
id | string | One of* | Account ID |
name | string | One of* | Account username/handle |
nickname | string | One of* | Account nickname |
*Provide at least one of id, name, or nickname.
Example Usage:
"Remove my X account @johndoe"
AI Tool Call:
{
"platform": "x",
"name": "johndoe"
}Edit account settings (nickname, enabled status).
Note: Credentials cannot be modified for security.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | Platform identifier |
id | string | One of* | Account identifier |
name | string | One of* | Account identifier |
nickname | string | One of* | Account identifier |
setNickname | string | No | New nickname to set |
setEnabled | boolean | No | Enable/disable account |
*Provide at least one of id, name, or nickname.
Example Usage:
"Rename my X account to 'Work Twitter'"
AI Tool Call:
{
"platform": "x",
"name": "johndoe",
"setNickname": "Work Twitter"
}Set which account should be the default for a platform.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | Platform identifier |
id | string | One of* | Account identifier |
name | string | One of* | Account identifier |
nickname | string | One of* | Account identifier |
*Provide at least one of id, name, or nickname.
Example Usage:
"Make my personal BlueSky account the default"
AI Tool Call:
{
"platform": "bluesky",
"nickname": "Personal Account"
}Open Statuz settings/preferences window.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
section | string | No | Section: general, composer, social, bluesky, mastodon, x, shortcuts, data, ai |
Example Usage:
"Open the account settings"
AI Tool Call:
{
"section": "social"
}Enable or disable entire platforms globally.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | x, bluesky, or mastodon |
set-enabled | boolean | Yes | Enable/disable platform |
Example Usage:
"Disable the Mastodon platform"
AI Tool Call:
{
"platform": "mastodon",
"set-enabled": false
}List all platforms and their enabled/disabled status.
Parameters: None
Returns: Array of platform objects with enabled status.
Example Usage:
"Which platforms are enabled?"
Bring Statuz to foreground.
Parameters: None
Example Usage:
"Open Statuz"
Open license management interface.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
action | string | No | view, activate/register, verify, refresh, purchase/buy |
Example Usage:
"Open license settings"
AI Tool Call:
{
"action": "view"
}List all MCP resources exposed by Statuz.
Parameters: None
Returns: Array of resource descriptors with uri and metadata.
Example Usage:
"What MCP resources are available?"
Read the data for a specific MCP resource URI.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
uri | string | Yes | Resource URI returned by resources_list (e.g., statuz:///accounts) |
Example Usage:
"Fetch the MCP scheduled posts resource"
AI Tool Call:
{
"uri": "statuz:///scheduled"
}Note: Statuz currently exposes statuz:///accounts and statuz:///scheduled. Both respect the same permission checks as their corresponding tools and require the MCP toggle to be enabled.
You: "Schedule a post saying 'Hello World' for tomorrow at 2pm"
AI uses: schedule({
text: "Hello World",
date: "2025-01-21T14:00:00",
timezone: "America/New_York",
status: "queued"
})
You: "Find the post scheduled for Monday and add #announcement"
AI:
1. scheduled_list({ dateFrom: "2025-01-20", dateTo: "2025-01-21" })
2. scheduled_edit({
id: "found-id",
text: "Original text #announcement"
})
You: "Schedule these posts for the week:
- Monday 9am: Morning motivation
- Wednesday 2pm: Mid-week check-in
- Friday 4pm: Weekend vibes"
AI uses: schedule() three times with appropriate dates
You: "Switch to my work accounts"
AI:
1. accounts_list() to find work accounts
2. accounts_setDefault() for each platform with work account
Let the AI interpret your intent:
✅ "Schedule a post about our launch for tomorrow afternoon"
❌ "Call schedule tool with text parameter and date 2025-01-21T14:00:00Z"
The AI automatically checks post status before editing:
posts = scheduled_list(id="some-id")
if posts[0].status == "published":
# Cannot edit - inform user
else:
# Safe to editFor automation, stealth mode prevents UI interruptions:
{
"id": "post-id",
"text": "Updated content",
"stealthMode": true
}Use advanced filters for precise queries:
{
"status": ["queued", "draft"],
"dateFrom": "2025-01-20",
"platforms": ["x"],
"textContains": "announcement"
}The AI assistant will receive error messages for:
✅ Can:
❌ Cannot:
Need help with MCP tools?