You're viewing a demo portfolio

Join the waitlist
PRSM

schedule_content

Active

Tool of SendIt

declared in 0.1.0

Schedule content for future publishing. Same media rules as publish_content apply. • mediaUrl must be a public HTTPS URL — call create_upload_session if user shares a file in chat. • Content is validated at schedule time, not publish time.

Parameters schema

{
  "type": "object",
  "required": [
    "platforms",
    "content",
    "scheduledTime"
  ],
  "properties": {
    "content": {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "link": {
          "type": "string",
          "description": "Pinterest source URL for the pin"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "YouTube video tags"
        },
        "text": {
          "type": "string",
          "description": "Post caption/text. Required for all platforms."
        },
        "title": {
          "type": "string",
          "description": "YouTube video title, Pinterest pin title"
        },
        "boardId": {
          "type": "string",
          "description": "Pinterest only: Board ID to pin to. If not specified, uses first available board."
        },
        "mediaUrl": {
          "type": "string",
          "description": "Public HTTPS media URL. Do NOT pass local file paths — use create_upload_session to get a public URL first."
        },
        "boardName": {
          "type": "string",
          "description": "Pinterest only: Board name (alternative to boardId). Searches for matching board."
        },
        "mediaType": {
          "enum": [
            "image",
            "video",
            "auto"
          ],
          "type": "string",
          "description": "Media type hint: 'image' for photos, 'video' for Reels/TikTok"
        },
        "mediaUrls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Carousel: Instagram (2-10 images), Threads (2-20 mixed), X (2-4 images)"
        },
        "description": {
          "type": "string",
          "description": "YouTube video description"
        },
        "youtubeMode": {
          "enum": [
            "auto",
            "short",
            "standard"
          ],
          "type": "string",
          "deprecated": true,
          "description": "Deprecated compatibility alias for YouTube mode. Preferred: content.platformSettings.youtube.youtubeMode"
        },
        "facebookMode": {
          "enum": [
            "auto",
            "reel",
            "feed"
          ],
          "type": "string",
          "deprecated": true,
          "description": "Deprecated compatibility alias for Facebook mode. Preferred: content.platformSettings.facebook.facebookMode"
        },
        "firstComment": {
          "type": "string",
          "description": "Instagram first comment text (often used for hashtags)"
        },
        "threadTweets": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "text"
            ],
            "properties": {
              "text": {
                "type": "string",
                "description": "Tweet text (max 280 chars)"
              },
              "mediaUrl": {
                "type": "string",
                "description": "Optional public HTTPS image or video URL for this tweet"
              },
              "mediaType": {
                "enum": [
                  "image",
                  "video",
                  "auto"
                ],
                "type": "string",
                "description": "Media type hint"
              },
              "mediaUrls": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Optional multiple images for this tweet (max 4)"
              }
            }
          },
          "description": "X (Twitter) only: additional tweets in the thread after the main text. The main text is always the first tweet. Each item here becomes a subsequent reply in the thread."
        },
        "privacyStatus": {
          "enum": [
            "public",
            "unlisted",
            "private"
          ],
          "type": "string",
          "description": "YouTube video privacy: public, unlisted, or private"
        },
        "pinterestBoardId": {
          "type": "string",
          "deprecated": true,
          "description": "Deprecated compatibility alias for Pinterest board targeting. Preferred: content.platformSettings.pinterest.boardId"
        },
        "platformSettings": {
          "type": "object",
          "description": "Optional advanced per-platform settings map. Key by platform ID and use it for platform-specific publish options plus per-platform text/title/description overrides.",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    },
    "team_id": {
      "type": "string",
      "description": "Team ID to schedule as team. Get available teams with list_teams. If omitted, schedules from personal accounts."
    },
    "timezone": {
      "type": "string",
      "description": "Optional IANA timezone for queue scheduling and recurring series metadata."
    },
    "platforms": {
      "type": "array",
      "items": {
        "enum": [
          "x",
          "linkedin",
          "linkedin-page",
          "facebook",
          "instagram",
          "threads",
          "bluesky",
          "mastodon",
          "nostr",
          "youtube",
          "tiktok",
          "lemmy",
          "discord",
          "slack",
          "telegram",
          "pinterest",
          "dribbble",
          "devto",
          "hashnode",
          "gmb",
          "whop",
          "producthunt"
        ],
        "type": "string"
      },
      "description": "Target platforms - ensure content matches each platform's requirements"
    },
    "scoreGate": {
      "type": "number",
      "maximum": 100,
      "minimum": 1,
      "description": "Optional forward-compatible minimum content score threshold for advanced scheduling flows."
    },
    "recurrence": {
      "type": "object",
      "required": [
        "frequency"
      ],
      "properties": {
        "count": {
          "type": "number",
          "maximum": 52,
          "minimum": 1
        },
        "until": {
          "type": "string",
          "format": "date-time"
        },
        "interval": {
          "type": "number",
          "minimum": 1
        },
        "frequency": {
          "enum": [
            "daily",
            "weekly",
            "monthly"
          ],
          "type": "string"
        }
      },
      "description": "Optional forward-compatible structured recurrence definition."
    },
    "bypassToken": {
      "type": "string",
      "description": "Optional forward-compatible bypass token returned by advanced scheduling score-gate checks."
    },
    "scheduleMode": {
      "enum": [
        "exact",
        "queue"
      ],
      "type": "string",
      "description": "Optional forward-compatible scheduling mode. 'queue' asks SendIt to place the post in the next available queue slot."
    },
    "scheduledTime": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 datetime in UTC (e.g., 2025-01-15T14:30:00Z)"
    },
    "recurrenceRule": {
      "type": "string",
      "description": "Optional forward-compatible RRULE string for recurring schedules."
    },
    "targetAccounts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional advanced scheduling target account IDs. Legacy handlers may ignore this until advanced scheduling is enabled."
    },
    "mediaAttachments": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "altText": {
            "type": "string"
          },
          "saveToLibrary": {
            "type": "boolean"
          }
        }
      },
      "description": "Optional forward-compatible media asset attachments to associate with the scheduled post."
    },
    "platformOverrides": {
      "type": "object",
      "description": "Optional forward-compatible per-platform overrides keyed by platform ID.",
      "additionalProperties": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "recurrenceEndDate": {
      "type": "string",
      "format": "date-time",
      "description": "Optional forward-compatible ISO 8601 end date for recurrence."
    }
  }
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.70.

Parent server

SendIt

https://github.com/Shree-git/sendit

1/7 registries
View full server →
schedule_content — SendIt — PRSM MCP