AutoPoster AI

Multi-platform social media post creation, scheduling, and publishing.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
99%
Vollständigkeit des Schemas
77%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'autoposter_get_media_upload_url' name length outside 3-30 rangein autoposter_get_media_upload_url

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~4,229Tokens (Tool-Definitionen)
~2.9 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.30% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "autoposter": {
      "url": "https://agent.autoposter.ai/mcp"
    }
  }
}

Remote-Endpunkte

https://agent.autoposter.ai/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (14)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢autoposter_list_accounts

Lists all connected social media accounts (X, LinkedIn, Instagram, TikTok, YouTube, Threads, Bluesky, Pinterest, Facebook) in the current Autoposter workspace.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "timezone": {
      "type": "string",
      "description": "Default timezone for the workspace."
    },
    "accounts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Account ID."
          },
          "platform": {
            "type": "string",
            "description": "Platform name (e.g. twitter, linkedin, instagram)."
          },
          "name": {
            "type": "string",
            "description": "Account display name."
          },
          "username": {
            "type": "string",
            "description": "Account username or handle."
          }
        },
        "required": [
          "id",
          "platform",
          "name"
        ]
      },
      "description": "List of active connected accounts in the workspace."
    }
  },
  "required": [
    "accounts"
  ]
}
🟢autoposter_get_rules

Returns platform publishing constraints including character limits, media format requirements, and guidelines.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "captionLimits": {
      "type": "object",
      "description": "Character limits per platform."
    },
    "mediaRequirements": {
      "type": "object",
      "description": "Platform media requirements and constraints."
    },
    "automatedSafeguards": {
      "type": "object",
      "description": "Automated media and caption processing safeguards."
    },
    "postFormats": {
      "type": "object",
      "description": "Supported post format variants per platform (post, reel, story, shorts)."
    },
    "guidelines": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Publishing guidelines and tips."
    }
  },
  "required": [
    "captionLimits",
    "mediaRequirements",
    "guidelines"
  ]
}
🟡autoposter_upload_media(file, url, name)

Uploads an image or video to Auto Poster media library. Accepts files generated in ChatGPT (e.g. DALL-E images in /mnt/data/), uploaded files, or public image URLs. Direct chat download limit is 100MB. For larger videos or files (>100MB), tell the user to provide a direct public file URL or use autoposter_get_media_upload_url for direct S3 upload up to 5GB. If the image exists only in the chat or on the user's device and cannot be sent here, use autoposter_create_upload_link instead.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "file": {
      "$ref": "#/$defs/MediaFile",
      "description": "File object provided by ChatGPT for AI-generated images or uploaded files."
    },
    "url": {
      "type": "string",
      "description": "Optional public image or video URL or data URI to upload into media library."
    },
    "name": {
      "type": "string",
      "description": "Optional display name or title for the media file."
    }
  },
  "$defs": {
    "MediaFile": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string"
        },
        "file_id": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "mediaId": {
      "type": "string",
      "description": "ID of the newly uploaded media item."
    },
    "url": {
      "type": "string",
      "description": "Public URL of the media file."
    },
    "mediaUrl": {
      "type": "string",
      "description": "Public URL of the media file to pass in posts."
    },
    "type": {
      "type": "string",
      "description": "Media type ('image' or 'video')."
    },
    "name": {
      "type": "string",
      "description": "Display name or file name."
    },
    "message": {
      "type": "string",
      "description": "Upload status message."
    },
    "usage": {
      "type": "string",
      "description": "Guidance on using the media item in posts."
    }
  },
  "required": [
    "mediaId",
    "url"
  ]
}
🟡autoposter_get_media_upload_url(fileName, contentType)

Only for clients that can perform an HTTP PUT or multipart POST (not chat-only clients such as Gemini): if you cannot make that request yourself, use autoposter_create_upload_link instead. Generates a presigned S3 upload URL for direct, high-speed upload of videos or images up to 5GB without size limits or timeouts. Returns direct PUT url, POST upload fields, and public CDN URL.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "fileName": {
      "type": "string",
      "description": "Name of the file including extension (e.g. 'promo_video.mp4', 'photo.jpg')."
    },
    "contentType": {
      "type": "string",
      "description": "MIME type of the media (e.g. 'video/mp4', 'image/jpeg', 'image/png')."
    }
  },
  "required": [
    "fileName",
    "contentType"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the upload URL was successfully created."
    },
    "key": {
      "type": "string",
      "description": "S3 object key for the media file."
    },
    "cdnUrl": {
      "type": "string",
      "description": "Public CDN URL after upload."
    },
    "directPutUrl": {
      "type": "string",
      "description": "Presigned S3 PUT URL for direct upload."
    },
    "uploadPost": {
      "type": "object",
      "description": "Presigned POST fields if using multipart upload."
    },
    "instructions": {
      "type": "string",
      "description": "Instructions for completing the direct upload."
    }
  },
  "required": [
    "success",
    "key",
    "cdnUrl",
    "directPutUrl"
  ]
}
🟡autoposter_create_upload_link

Creates a short-lived link where the user can upload images from their device into the Auto Poster media library. Use this when the user wants to attach an image that exists only in the chat or on their device (no public URL) and your client cannot send file contents. Give the link to the user, wait until they say the upload is done, then call autoposter_list_media (newest first) and attach the image with mediaIds in autoposter_draft_post or autoposter_schedule_post.

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "uploadUrl": {
      "type": "string",
      "description": "Link to give to the user."
    },
    "expiresInMinutes": {
      "type": "number",
      "description": "Minutes until the link expires."
    },
    "maxFileSizeMb": {
      "type": "number",
      "description": "Maximum size per image in MB."
    },
    "instructions": {
      "type": "string",
      "description": "What to tell the user and what to do next."
    }
  },
  "required": [
    "uploadUrl",
    "expiresInMinutes",
    "instructions"
  ]
}
🟡autoposter_draft_post(accountIds, content, platformContent, mediaUrls, mediaIds, ...)

Creates a draft post for human review. If API key lacks direct publish, post is saved as pending_approval and notifications are sent to workspace approvers. Accepts mediaUrls (public URLs) or files (AI-generated images or uploaded files from chat up to 100MB). For large video files over 100MB, tell the user to provide a direct public file URL or use autoposter_get_media_upload_url.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "accountIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of account IDs from autoposter_list_accounts."
    },
    "content": {
      "type": "string",
      "description": "Base text content of the post."
    },
    "platformContent": {
      "type": "object",
      "description": "Optional platform-specific content overrides (e.g. twitter, linkedin)."
    },
    "mediaUrls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional public image or video URLs to attach (e.g. from autoposter_upload_media)."
    },
    "mediaIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional list of existing media IDs from workspace media library (from autoposter_list_media)."
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/MediaFile"
      },
      "description": "Optional files generated in chat or uploaded by user to attach to the post."
    },
    "postType": {
      "type": "string",
      "enum": [
        "post",
        "reel",
        "story",
        "shorts"
      ],
      "description": "Optional target format where applicable: 'post' (default feed post/carousel), 'reel' (Instagram or Facebook Reel; requires video), 'story' (Instagram or Facebook 24h Story; requires image or video), or 'shorts' (YouTube Shorts; vertical video under 60s). Ignored on platforms without format variants."
    }
  },
  "required": [
    "accountIds",
    "content"
  ],
  "$defs": {
    "MediaFile": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string"
        },
        "file_id": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "description": "Status message indicating draft creation."
    },
    "draftPosts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Draft post ID."
          },
          "platform": {
            "type": "string",
            "description": "Target social media platform."
          },
          "status": {
            "type": "string",
            "description": "Current post status (drafts or pending_approval)."
          },
          "postType": {
            "type": "string",
            "description": "Target format ('post', 'reel', 'story', or 'shorts')."
          },
          "accountName": {
            "type": "string",
            "description": "Target account name."
          },
          "scheduledAt": {
            "type": "string",
            "description": "Scheduled timestamp if any."
          }
        },
        "required": [
          "id",
          "platform",
          "status"
        ]
      },
      "description": "List of created draft posts per account."
    },
    "instructions": {
      "type": "string",
      "description": "Instructions for approving or viewing the draft."
    }
  },
  "required": [
    "message",
    "draftPosts"
  ]
}
🟡autoposter_schedule_post(accountIds, content, scheduledAt, timezone, platformContent, ...)

Schedules a post for a future date/time. Automatically converts local time using workspace/user timezone into UTC. Accepts mediaUrls (public URLs) or files (AI-generated images or uploaded files from chat up to 100MB). For large video files over 100MB, tell the user to provide a direct public file URL or use autoposter_get_media_upload_url.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "accountIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of account IDs from autoposter_list_accounts."
    },
    "content": {
      "type": "string",
      "description": "Base text content of the post."
    },
    "scheduledAt": {
      "type": "string",
      "description": "Scheduled ISO timestamp or local datetime string, e.g. '2026-10-05T14:00:00'."
    },
    "timezone": {
      "type": "string",
      "description": "Optional IANA timezone (e.g. 'America/New_York'). If omitted, defaults to workspace or user timezone."
    },
    "platformContent": {
      "type": "object",
      "description": "Optional platform-specific content overrides (e.g. twitter, linkedin)."
    },
    "mediaUrls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional public image or video URLs to attach (e.g. from autoposter_upload_media)."
    },
    "mediaIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional list of existing media IDs from workspace media library (from autoposter_list_media)."
    },
    "files": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/MediaFile"
      },
      "description": "Optional files generated in chat or uploaded by user to attach to the post."
    },
    "postType": {
      "type": "string",
      "enum": [
        "post",
        "reel",
        "story",
        "shorts"
      ],
      "description": "Optional target format where applicable: 'post' (default feed post/carousel), 'reel' (Instagram or Facebook Reel; requires video), 'story' (Instagram or Facebook 24h Story; requires image or video), or 'shorts' (YouTube Shorts; vertical video under 60s). Ignored on platforms without format variants."
    }
  },
  "required": [
    "accountIds",
    "content",
    "scheduledAt"
  ],
  "$defs": {
    "MediaFile": {
      "type": "object",
      "properties": {
        "download_url": {
          "type": "string"
        },
        "file_id": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        }
      },
      "required": [
        "download_url",
        "file_id"
      ],
      "additionalProperties": false
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the post was successfully scheduled."
    },
    "status": {
      "type": "string",
      "description": "Status of the scheduled post ('scheduled' or 'pending_approval')."
    },
    "scheduledAt": {
      "type": "string",
      "description": "Scheduled time in UTC."
    },
    "timezone": {
      "type": "string",
      "description": "Timezone applied."
    },
    "message": {
      "type": "string",
      "description": "Status message."
    },
    "scheduledPosts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Post ID."
          },
          "platform": {
            "type": "string",
            "description": "Target platform."
          },
          "status": {
            "type": "string",
            "description": "Post status."
          },
          "postType": {
            "type": "string",
            "description": "Target format ('post', 'reel', 'story', or 'shorts')."
          },
          "accountName": {
            "type": "string",
            "description": "Target account name."
          },
          "scheduledAt": {
            "type": "string",
            "description": "Scheduled timestamp."
          }
        },
        "required": [
          "id",
          "platform",
          "status",
          "scheduledAt"
        ]
      },
      "description": "List of scheduled posts per target account."
    }
  },
  "required": [
    "success",
    "status",
    "scheduledAt",
    "scheduledPosts"
  ]
}
🟡autoposter_publish_draft(postId)

Approves and immediately publishes an existing draft or pending post. Requires an API key with direct publish permission.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "postId": {
      "type": "string",
      "description": "The post ID returned by autoposter_draft_post."
    }
  },
  "required": [
    "postId"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the draft was approved and queued/published."
    },
    "status": {
      "type": "string",
      "description": "Target status ('queued' or 'scheduled')."
    },
    "message": {
      "type": "string",
      "description": "Status message or confirmation."
    }
  },
  "required": [
    "success",
    "status"
  ]
}
🟢autoposter_get_post_status(postId)

Checks delivery status of a post and returns live platform links/receipts once published.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "postId": {
      "type": "string",
      "description": "The post ID to query."
    }
  },
  "required": [
    "postId"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Post ID."
    },
    "state": {
      "type": "string",
      "description": "Current status: drafts, pending_approval, queued, posted, or failed."
    },
    "postedAt": {
      "type": "string",
      "description": "ISO timestamp when the post was published."
    },
    "postLink": {
      "type": "string",
      "description": "Live URL link to the published post on the platform."
    },
    "errorMessage": {
      "type": "string",
      "description": "Error message if post failed."
    }
  },
  "required": [
    "id",
    "state"
  ]
}
🟢autoposter_get_post(postId)

Retrieves a single post by ID including its state (drafts, pending_approval, queued, posted) and live link receipts.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "postId": {
      "type": "string",
      "description": "The post ID to fetch."
    }
  },
  "required": [
    "postId"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Post ID."
    },
    "state": {
      "type": "string",
      "description": "Current post state."
    },
    "postedAt": {
      "type": "string",
      "description": "ISO timestamp when post was published."
    },
    "postLink": {
      "type": "string",
      "description": "Live platform URL link if posted."
    },
    "errorMessage": {
      "type": "string",
      "description": "Failure error message if any."
    }
  },
  "required": [
    "id",
    "state"
  ]
}
🔴autoposter_delete_post(postId)

Deletes or cancels a draft, scheduled, or pending post by ID.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "postId": {
      "type": "string",
      "description": "The post ID to delete or cancel."
    }
  },
  "required": [
    "postId"
  ]
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "Whether the post was deleted successfully."
    },
    "message": {
      "type": "string",
      "description": "Confirmation message."
    },
    "postId": {
      "type": "string",
      "description": "Deleted post ID."
    }
  },
  "required": [
    "success",
    "postId"
  ]
}
🟢autoposter_list_posts(state, limit, search)

Lists posts in the workspace. Supports filtering by state ('drafts', 'scheduled', 'queued', 'posted', 'failed', 'pending_approval'), caption text search, and limit.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "state": {
      "type": "string",
      "enum": [
        "drafts",
        "draft",
        "scheduled",
        "queued",
        "posted",
        "failed",
        "pending_approval"
      ],
      "description": "Optional filter by post state."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of posts to return (default 20, max 50)."
    },
    "search": {
      "type": "string",
      "description": "Optional keyword to search in post captions."
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Number of posts returned."
    },
    "posts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Post ID."
          },
          "accountId": {
            "type": "string",
            "description": "Target account ID."
          },
          "text": {
            "type": "string",
            "description": "Post caption or content."
          },
          "state": {
            "type": "string",
            "description": "Current post state."
          },
          "scheduledAt": {
            "type": "string",
            "description": "Scheduled time if scheduled."
          },
          "postedAt": {
            "type": "string",
            "description": "Publish time if posted."
          },
          "postLink": {
            "type": "string",
            "description": "Live link receipt if posted."
          },
          "errorMessage": {
            "type": "string",
            "description": "Failure reason if failed."
          },
          "createdAt": {
            "type": "string",
            "description": "Creation ISO timestamp."
          }
        },
        "required": [
          "id",
          "state"
        ]
      },
      "description": "List of matching posts."
    }
  },
  "required": [
    "count",
    "posts"
  ]
}
🟢autoposter_list_media(type, limit)

Lists media files (images and videos) stored in the workspace media library with public CDN URLs.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "image",
        "video"
      ],
      "description": "Optional filter by media type ('image' or 'video')."
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of media items to return (default 20, max 50)."
    }
  }
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Number of media items returned."
    },
    "media": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Media ID."
          },
          "name": {
            "type": "string",
            "description": "File name or title."
          },
          "type": {
            "type": "string",
            "description": "Media type ('image' or 'video')."
          },
          "url": {
            "type": "string",
            "description": "Public URL of media file."
          },
          "thumbnailUrl": {
            "type": "string",
            "description": "Thumbnail image URL if available."
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "url"
        ]
      },
      "description": "List of media items in workspace."
    }
  },
  "required": [
    "count",
    "media"
  ]
}
🟢get_profile

Return the profile represented by this request's authenticated credentials. The opaque id is unique within this app and remains unchanged across token refresh, reconnection, and display-metadata changes.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "pattern": "\\S",
      "description": "Opaque profile identifier, unique within this app and unchanged across token refresh, reconnection, and display-metadata changes. Never reassigned to another profile."
    },
    "name": {
      "type": "string",
      "description": "Display name for the authenticated profile."
    },
    "nickname": {
      "type": "string",
      "description": "A useful label that helps users distinguish connected profiles."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet14 Tools