MCP Tools Reference
Complete reference for all MCP server tools and their parameters
MCP Tools Reference
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.
Composition & Publishing
compose
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
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"]
}Schedule Management
scheduled_list
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
}scheduled_edit
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"
}scheduled_delete
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
}Calendar Tools
calendar_open
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"
}Account Management
accounts_list
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?"
accounts_add
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
}accounts_remove
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"
}accounts_edit
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"
}accounts_setDefault
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"
}Settings Tools
settings_open
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"
}settings_platform
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
}settings_list_platforms
List all platforms and their enabled/disabled status.
Parameters: None
Returns: Array of platform objects with enabled status.
Example Usage:
"Which platforms are enabled?"
Other Tools
open
Bring Statuz to foreground.
Parameters: None
Example Usage:
"Open Statuz"
license_open
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"
}Resource Tools
resources_list
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?"
resources_read
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.
Common Patterns
Schedule a Simple Post
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"
})
Query and Edit Posts
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"
})
Batch Schedule Posts
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
Account Context Switching
You: "Switch to my work accounts"
AI:
1. accounts_list() to find work accounts
2. accounts_setDefault() for each platform with work account
Best Practices
1. Use Natural Language
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"
2. Check Before Editing
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 edit3. Use Stealth Mode
For automation, stealth mode prevents UI interruptions:
{
"id": "post-id",
"text": "Updated content",
"stealthMode": true
}4. Leverage Filtering
Use advanced filters for precise queries:
{
"status": ["queued", "draft"],
"dateFrom": "2025-01-20",
"platforms": ["x"],
"textContains": "announcement"
}Error Handling
The AI assistant will receive error messages for:
Security Notes
What Can Be Accessed
✅ Can:
❌ Cannot:
Local-Only Operation
Related Documentation
Support
Need help with MCP tools?