Skip to main content
Glama
fav-devs

Sociona MCP Server

by fav-devs

schedule_post

Schedule social media posts for future publication on X, Instagram, or Threads. Set content, media, and timing to automate posting.

Instructions

Schedule a post for future publication

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
platformYes
contentYesPost content
scheduledForYesISO 8601 datetime (e.g., 2025-10-14T10:00:00Z)
mediaUrlsNoOptional media URLs to attach

Implementation Reference

  • The main handler function for the 'schedule_post' tool. It retrieves connected accounts, validates the platform account exists, schedules the post via the Sociona API /schedule endpoint, and returns a success message with the scheduled post ID.
    private async schedulePost(args: any) {
      const { accounts } = await this.apiRequest('GET', '/accounts');
      const account = accounts.find((a: any) => a.provider === args.platform);
    
      if (!account) {
        throw new Error(`No ${args.platform} account connected. Available accounts: ${accounts.map((a: any) => a.provider).join(', ')}`);
      }
    
      const result = await this.apiRequest('POST', '/schedule', {
        accountId: account.id,
        platform: args.platform,
        content: args.content,
        scheduledFor: args.scheduledFor,
        mediaUrls: args.mediaUrls || [],
      });
    
      return {
        content: [
          {
            type: 'text',
            text: `✅ Post scheduled for ${args.scheduledFor} on ${args.platform}!\nScheduled Post ID: ${result.scheduledPost.id}`,
          },
        ],
      };
    }
  • Input schema definition for the 'schedule_post' tool, specifying required fields like platform, content, scheduledFor, and optional mediaUrls.
    inputSchema: {
      type: 'object',
      properties: {
        platform: {
          type: 'string',
          enum: ['X', 'INSTAGRAM', 'THREADS'],
        },
        content: {
          type: 'string',
          description: 'Post content',
        },
        scheduledFor: {
          type: 'string',
          description: 'ISO 8601 datetime (e.g., 2025-10-14T10:00:00Z)',
        },
        mediaUrls: {
          type: 'array',
          items: { type: 'string' },
          description: 'Optional media URLs to attach',
        },
      },
      required: ['platform', 'content', 'scheduledFor'],
    },
  • src/index.ts:56-82 (registration)
    Registration of the 'schedule_post' tool in the list of available tools returned by ListToolsRequestSchema handler.
    {
      name: 'schedule_post',
      description: 'Schedule a post for future publication',
      inputSchema: {
        type: 'object',
        properties: {
          platform: {
            type: 'string',
            enum: ['X', 'INSTAGRAM', 'THREADS'],
          },
          content: {
            type: 'string',
            description: 'Post content',
          },
          scheduledFor: {
            type: 'string',
            description: 'ISO 8601 datetime (e.g., 2025-10-14T10:00:00Z)',
          },
          mediaUrls: {
            type: 'array',
            items: { type: 'string' },
            description: 'Optional media URLs to attach',
          },
        },
        required: ['platform', 'content', 'scheduledFor'],
      },
    },
  • src/index.ts:140-141 (registration)
    Dispatcher case in the CallToolRequestSchema handler that routes 'schedule_post' calls to the schedulePost method.
    case 'schedule_post':
      return await this.schedulePost(args);

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fav-devs/sociona-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server