> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Referenz der Social-Media-MCP-Tools

> Alle Tools, die der MCP-Server von Social media studio bereitstellt, nach Kategorie: Beiträge, Entwürfe, Medien, Posteingang, Analysen, KI-Bildunterschriften, Webhooks und mehr.

Der MCP-Server von Social media studio stellt **205 Tools** bereit, unten nach Bereich gruppiert. Jedes unten aufgeführte Tool
ist am Standard-MCP-Endpunkt (`https://api.so-me.studio/mcp`) registriert und kann von
jedem authentifizierten Agenten mit seinem `X-API-Key` aufgerufen werden.

> [!NOTE]
>
> Alle 205 Tools sind über den einen öffentlichen MCP-Endpunkt verfügbar — es gibt **keine separate Admin-
> MCP-Oberfläche**. Tools wie `create_tenant`, `delete_tenant` und `list_tenants` sind normale
> Workspace-Tools, die auf den authentifizierten Benutzer beschränkt sind.
>
> Die Controller `admin/mcp-tool-costs` und `api-access/mcp` sind JWT-geschützte Dashboard-Routen,
> mit denen **Credit-Kosten** pro Tool und **Nutzungsprotokolle** eingesehen bzw. bearbeitet werden — sie stellen keine zusätzlichen
> MCP-Tools bereit.

> [!NOTE]
>
> Jeder Tool-Aufruf verbraucht Tarif-Credits und zählt auf dein Rate Limit pro Minute. Die Kosten
> prüfst du zur Laufzeit mit [`list_mcp_tools`](#mcp-introspektion-2-tools) und dein verbleibendes Guthaben mit
> [`get_mcp_usage`](#mcp-introspektion-2-tools). Credit-Stufen: `1` lesen/auflisten/abrufen, `2` schreiben/ändern/löschen,
> `3` Analysen, `5` KI-Text, `8` KI-Bild, `10` zusammengesetzte KI-Aktionen.

## Gemeinsame Enums

Diese Enum-Werte werden in vielen Tools wiederverwendet.

> **socialMedia (SOCIAL\_MEDIA\_ENUM)**
>
> `TWITTER`, `INSTAGRAM`, `LINKEDIN`, `LINKEDIN_PAGE`, `FACEBOOK`, `TIKTOK`, `YOUTUBE`,
> `THREADS`, `WHATSAPP`, `DRIBBBLE`, `PINTEREST`

> **platform (PLATFORM\_ENUM)**
>
> `TWITTER`, `INSTAGRAM`, `LINKEDIN`, `FACEBOOK`, `TIKTOK`, `YOUTUBE`, `THREADS`, `DRIBBBLE`,
> `PINTEREST`, `WHATSAPP`, `LINKEDIN_PAGE`

> **status (STATUS\_ENUM)**
>
> `POSTED`, `SCHEDULED`, `PENDING`, `FAILED`, `PENDING_APPROVAL`, `REJECTED`

> **postType (POST\_TYPE\_ENUM)**
>
> `TEXT`, `IMAGE`, `MULTIPLE_IMAGES`, `VIDEO`, `CAROUSEL`, `REEL`, `STORY`

> [!NOTE]
>
> Die Paginierungs-Standardwerte sind bei allen Listen-Tools einheitlich: `page` ist standardmäßig `1`, `limit` standardmäßig
> `20` (max. `100`), sofern ein Tool kein anderes Schema dokumentiert (z. B. cursor- oder offsetbasiert).

## Beiträge (11 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_posts` | Geplante/veröffentlichte Beiträge in deinem Workspace auflisten | `page?`, `limit?`, `status?`, `socialMedia?` |
| `get_post` | Einen einzelnen Beitrag per ID abrufen | `id` |
| `create_post` | Einen neuen Beitrag erstellen | `text`, `socialMedia`, `postType?`, `scheduledAt?`, `accountId?` |
| `update_post` | Einen bestehenden Beitrag aktualisieren | `id`, `text?`, `scheduledAt?`, `metaData?`, `postType?` |
| `schedule_post` | Einen bestehenden Beitrag für eine spätere Veröffentlichung planen | `id`, `scheduledAt` |
| `unschedule_post` | Einen Beitrag aus der Planung nehmen (zurück auf ausstehend setzen) | `id` |
| `delete_post` | Einen Beitrag löschen | `id` |
| `retry_post` | Einen fehlgeschlagenen Beitrag erneut versuchen (FAILED → PENDING) | `id` |
| `resubmit_post` | Einen abgelehnten Beitrag erneut zur Freigabe einreichen | `id` |
| `bulk_delete_posts` | Mehrere Beiträge auf einmal löschen | `ids` (array) |
| `get_calendar_posts` | Beiträge für einen Zeitraum abrufen (Kalenderansicht) | `startDate`, `endDate` |

## Veröffentlichungs-Workflow

Die schreibenden Tools akzeptieren neben `text`, `fileIds` und `scheduledAt` drei optionale Felder: `threadParts`, `firstComment` und `tiktok`. Die Tool-Beschreibungen erklären, was jedes Feld bewirkt; dieser Abschnitt zeigt die empfohlene Reihenfolge für einen Agenten, der im Namen eines Benutzers veröffentlicht.

**1. Zuerst die Medien prüfen**

Wurden die Medien vom Agenten generiert, bearbeitet oder ausgewählt, rufe vor `create_post` oder `schedule_post` `validate_post_media` mit den
vorgesehenen `targets` auf. Das Tool liefert pro Ziel
die gemessene Breite, Höhe, Dauer, den Codec und die Bildrate, die konfigurierten Limits und einen `fix`-String
für jede Abweichung. Wende den Fix an und validiere erneut, wenn der Agent die Datei erzeugt hat; zeige
den Bericht und lass den Benutzer entscheiden, wenn der Benutzer sie bereitgestellt hat. Sende nur gemessene Werte — jede
ausgelassene Eigenschaft kommt als `needs_review` statt als bestanden zurück. `get_media_rules` liefert die
vollständige Tabelle pro Plattform und ist der günstigste Weg, Medien von Anfang an in der richtigen Größe zu erzeugen.

**2. Uploads bestätigen**

`presign_media_upload` reserviert Dateien in der Mediathek und liefert PUT-URLs. Jeder PUT muss einen
`Content-Type`-Header senden, der dem angegebenen `mimetype` entspricht, sonst antwortet der Speicher mit 403. Der Upload ist
erst abgeschlossen, wenn die Bytes gespeichert sind: Rufe `get_media_file` mit `verifyUpload: true` auf, bevor du
die Datei an einen Beitrag anhängst.

**3. TikTok: den Creator fragen, niemals raten**

TikTok lehnt jeden Beitrag ohne Datenschutzstufe ab, und nur der Creator darf sie wählen. Rufe
`get_tiktok_creator_info` für das Zielkonto auf, biete dem Benutzer nur die Werte an, die in
`privacy_level_options` zurückkommen (ein privates Konto kann `PUBLIC_TO_EVERYONE` nicht wählen), schlage
`PUBLIC_TO_EVERYONE` für ein öffentliches Konto vor, frage, ob Kommentare erlaubt sind, und sende dann
`{ privacyLevel, allowComments, allowDuet, allowStitch }` im Objekt `tiktok`. Ein Beitrag ohne
`tiktok.privacyLevel` wird mit `TIKTOK_PRIVACY_LEVEL_REQUIRED` abgelehnt; eine Stufe, die der Creator nicht
nutzen kann, liefert `TIKTOK_PRIVACY_LEVEL_NOT_ALLOWED`. Eine Warnung `TIKTOK_SETTING_FORCED` bedeutet, dass der Creator
Kommentare, Duett oder Stitch kontoweit deaktiviert hat — gib das an den Benutzer weiter.

**4. Ketten und erste Kommentare**

`threadParts` erstellt eine Beitragskette mit mehreren Beiträgen nur auf X, Threads, Bluesky und Mastodon: `text` ist
der Kopf und `threadParts[0]` die erste Antwort. Die Veröffentlichung nach dem Kopf erfolgt nach bestem Bemühen; melde
`metaData.threadPartWarning`, falls gesetzt, und veröffentliche den Kopf niemals erneut. `firstComment` postet einen
Kommentar unter den Beitrag (bei einer Kette unter den letzten Teil) auf Facebook, Instagram, X, LinkedIn,
LinkedIn Page, Threads, YouTube, TikTok, Bluesky und Mastodon (TikTok braucht den aktivierten Kommentarzugriff
des Kontos unter „Konten“). Prüfe `capabilities.firstComment` bei `list_accounts`, bevor du es
zusagst — ein nicht unterstütztes Ziel wird trotzdem veröffentlicht und liefert eine Warnung `FIRST_COMMENT_UNSUPPORTED`.
Lies `firstCommentStatus` des Beitrags, bevor du den Kommentar als live bezeichnest.

## Beitragskommentare (5 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_post_comments` | Kommentare zu einem Beitrag auflisten | `postId`, `page?`, `limit?` |
| `add_post_comment` | Einen Kommentar zu einem Beitrag hinzufügen | `postId`, `content` |
| `update_post_comment` | Einen bestehenden Beitragskommentar aktualisieren | `commentId`, `content` |
| `delete_post_comment` | Einen Beitragskommentar löschen | `commentId` |
| `mark_comments_as_read` | Alle Kommentare eines Beitrags als gelesen markieren | `postId` |

## Entwürfe (6 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_drafts` | Entwürfe in deinem Workspace auflisten | `page?`, `limit?` |
| `get_draft` | Einen einzelnen Entwurf per ID abrufen | `id` |
| `create_draft` | Einen neuen Entwurf erstellen | `text?`, `title?`, `socialMedia?`, `postType?`, `description?`, `accountId?` |
| `update_draft` | Einen bestehenden Entwurf aktualisieren | `id`, `text?`, `title?`, `socialMedia?`, `postType?`, `description?`, `accountId?` |
| `delete_draft` | Einen Entwurf löschen | `id` |
| `convert_draft` | Einen Entwurf in einen geplanten Beitrag umwandeln (der Entwurf braucht `text`, `socialMedia`, `postType`) | `id`, `scheduledAt?` |

## Konten (3 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_accounts` | Verbundene Social-Media-Konten auflisten | *(keine)* |
| `get_account` | Details eines verbundenen Social-Media-Kontos abrufen | `id` |
| `disconnect_account` | Ein verbundenes Social-Media-Konto trennen (entfernen) | `id` |

## Medien (13 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_media` | Mediendateien in deiner Mediathek auflisten | `page?`, `limit?`, `folderId?` |
| `search_media` | Mediendateien nach Namen suchen | `query` |
| `get_media_file` | Eine einzelne Mediendatei per ID abrufen | `id` |
| `delete_media` | Eine Mediendatei aus der Mediathek löschen | `id` |
| `bulk_delete_media` | Mehrere Mediendateien auf einmal löschen | `fileIds` (array) |
| `list_media_folders` | Medienordner in der Mediathek auflisten | `page?`, `limit?` |
| `create_media_folder` | Einen neuen Medienordner erstellen | `name`, `parentId?` |
| `delete_media_folder` | Einen Medienordner samt Inhalt löschen | `id` |
| `move_media_file` | Eine Mediendatei in einen anderen Ordner (oder die Wurzel) verschieben | `id`, `folderId?` |
| `move_media_folder` | Einen Ordner in einen anderen übergeordneten Ordner (oder die Wurzel) verschieben | `id`, `parentId?` |
| `rename_media_file` | Eine Mediendatei umbenennen | `id`, `name` |
| `rename_media_folder` | Einen Medienordner umbenennen | `id`, `name` |
| `presign_media_upload` | Vorsignierte S3-PUT-URLs erzeugen, um Medien in die Mediathek hochzuladen | `files` (array of `{filename, mimetype, size?}`), `folderId?` |

## Posteingang (18 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_conversations` | Posteingangs-Unterhaltungen über alle verbundenen Plattformen auflisten | *(keine)* |
| `get_messages` | Nachrichten eines Unterhaltungs-Threads abrufen | `threadId` |
| `reply_to_conversation` | Eine Antwort in einen Unterhaltungs-Thread senden | `threadId`, `message` |
| `update_conversation` | Den Status einer Unterhaltung aktualisieren (`threadStatus`: `OPEN`/`CLOSED`/`ARCHIVED`) | `threadId`, `threadStatus?`, `isSeen?` |
| `delete_conversation` | Einen Unterhaltungs-Thread löschen | `threadId` |
| `list_saved_replies` | Gespeicherte Antwortvorlagen auflisten | `page?`, `limit?` |
| `get_saved_reply` | Eine einzelne gespeicherte Antwortvorlage per ID abrufen | `id` |
| `create_saved_reply` | Eine neue gespeicherte Antwortvorlage erstellen | `text` |
| `update_saved_reply` | Eine bestehende gespeicherte Antwort aktualisieren | `id`, `text` |
| `delete_saved_reply` | Eine gespeicherte Antwort löschen | `id` |
| `subscribe_inbox` | Die Posteingangs-Synchronisierung für ein verbundenes Social-Media-Konto aktivieren | `accountId` |
| `unsubscribe_inbox` | Die Posteingangs-Synchronisierung für ein verbundenes Social-Media-Konto deaktivieren | `accountId` |
| `edit_inbox_message` | Einen Kommentar/eine Nachricht im Social-Posteingang bearbeiten (Facebook/Instagram) | `threadId`, `messageId`, `commentId`, `message`, `pageId`, `attachment?` |
| `delete_inbox_message` | Einen Kommentar/eine Nachricht im Social-Posteingang löschen (Facebook/Instagram) | `threadId`, `messageId`, `commentId`, `pageId` |
| `hide_inbox_message` | Einen Kommentar im Social-Posteingang ausblenden oder wieder einblenden (Facebook/Instagram) | `threadId`, `messageId`, `commentId`, `pageId`, `hidden?` |
| `preview_bulk_reply` | Die Empfänger einer Massenantwort vor dem Senden in der Vorschau ansehen | `threadIds` (array) |
| `create_bulk_reply` | Eine Antwort (mit optionaler `{{name}}`-Personalisierung) an viele DM-Unterhaltungen senden | `threadIds` (array), `message`, `attachments?` (array) |
| `get_bulk_reply_batch` | Status und Ergebnisse eines Massenantwort-Batches abrufen | `batchId` |

## Freigaben (4 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_approvals` | Beiträge auflisten, die auf Freigabe warten | *(keine)* |
| `approve_post` | Einen Beitrag freigeben, der auf Freigabe wartet | `postId`, `comment?` |
| `reject_post` | Einen Beitrag ablehnen, der auf Freigabe wartet | `postId`, `comment` (Begründung erforderlich) |
| `update_review_comment` | Den Prüf-/Ablehnungskommentar eines Beitrags im Freigabe-Workflow aktualisieren | `postId`, `comment` |

## Teams (6 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_team_members` | Alle Teammitglieder deines Workspace auflisten | *(keine)* |
| `invite_team_member` | Jemanden in den Workspace einladen (`role`: `owner`/`member`, Standard `member`; `postApproval`: `requires_approval`/`auto_approve`, Standard `requires_approval`, bei Inhabern ignoriert) | `email`, `role?`, `postApproval?` |
| `remove_team_member` | Ein Mitglied aus dem Workspace entfernen | `memberId` |
| `update_member_role` | Die Rolle eines Teammitglieds aktualisieren (`role`: `owner`/`member`). Ein Workspace kann mehrere Inhaber haben; der letzte Inhaber kann nicht herabgestuft werden. `postApproval` (`requires_approval`/`auto_approve`) wird bei Inhabern ignoriert, die immer ohne Prüfung veröffentlichen | `memberId`, `role`, `postApproval?` |
| `list_team_invitations` | Ausstehende Team-Einladungen auflisten | `page?`, `limit?` |
| `cancel_team_invitation` | Eine ausstehende Team-Einladung zurückziehen | `invitationId` |

## Biolinks (19 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_biolinks` | Alle Biolink-Seiten auflisten | *(keine)* |
| `get_biolink` | Details einer Biolink-Seite abrufen | `id` |
| `create_biolink` | Eine neue Biolink-Seite erstellen | `slug?`, `displayName?`, `bio?` |
| `update_biolink` | Eine bestehende Biolink-Seite aktualisieren | `id`, `displayName?`, `bio?`, `slug?` |
| `delete_biolink` | Eine Biolink-Seite löschen | `id` |
| `publish_biolink` | Den Veröffentlichungsstatus eines Biolinks umschalten | `id` |
| `change_biolink_theme` | Einen Biolink auf ein voreingestelltes Design umstellen | `id`, `theme` |
| `set_biolink_custom_theme` | Eigene Designfarben auf einen Biolink anwenden | `id`, `backgroundColor?`, `textColor?`, `buttonColor?`, `buttonTextColor?` |
| `list_biolink_buttons` | Schaltflächen einer Biolink-Seite auflisten | `biolinkId`, `page?`, `limit?` |
| `create_biolink_button` | Einer Biolink-Seite eine Schaltfläche hinzufügen | `biolinkId`, `type`, `text`, `url?`, `email?`, `phone?`, `icon?`, `isActive?` |
| `update_biolink_button` | Eine Schaltfläche einer Biolink-Seite aktualisieren | `biolinkId`, `buttonId`, `text?`, `url?`, `email?`, `phone?`, `icon?`, `isActive?` |
| `delete_biolink_button` | Eine Schaltfläche von einer Biolink-Seite löschen | `biolinkId`, `buttonId` |
| `reorder_biolink_buttons` | Schaltflächen einer Biolink-Seite neu anordnen | `biolinkId`, `buttonIds` (array) |
| `list_biolink_posts` | Galerie-Beiträge eines Biolinks auflisten | `biolinkId` |
| `create_biolink_post` | Einem Biolink einen Galerie-Beitrag hinzufügen | `biolinkId`, `imageUrl?`, `caption?`, `linkUrl?`, `isVisible?` |
| `update_biolink_post` | Einen Galerie-Beitrag eines Biolinks aktualisieren | `biolinkId`, `postId`, `imageUrl?`, `caption?`, `linkUrl?`, `isVisible?` |
| `delete_biolink_post` | Einen Galerie-Beitrag von einem Biolink löschen | `biolinkId`, `postId` |
| `reorder_biolink_posts` | Galerie-Beiträge eines Biolinks neu anordnen | `biolinkId`, `itemIds` (array) |
| `get_biolink_analytics` | Analysen einer Biolink-Seite abrufen (Aufrufe, Klicks) | `biolinkId` |

## KI-Inhalte (10 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `generate_caption` | Eine KI-Bildunterschrift für eine Social-Media-Plattform generieren | `platform`, `topic`, `tone?` |
| `generate_content` | KI-Text beliebiger Art generieren oder umschreiben (Beitrag, Bildunterschrift, Hashtag, Überschrift, Bio, Thread, E-Mail usw.) | `text`, `type?`, `command?` (`generate`/`rewrite`/`insert`), `tone?`, `platform?`, `customInstruction?` |
| `generate_image` | Ein KI-Bild aus einem Text-Prompt generieren | `prompt`, `style?`, `aspectRatio?`, `negativePrompt?`, `provider?`, `numImages?` |
| `generate_and_schedule` | KI-Inhalt generieren, einen Beitrag erstellen und planen — alles in einem Aufruf | `platform`, `socialMedia`, `topic`, `scheduledAt`, `tone?`, `accountId?` |
| `get_ai_history` | Verlauf der KI-Prompt-Generierungen abrufen | `page?`, `limit?` |
| `get_ai_credits` | KI-Credit-Guthaben und -Limits (Text, Bild, UGC-Video) für den aktuellen Tarif abrufen | *(keine)* |
| `list_ai_image_providers` | Vom aktuellen Tarif erlaubte KI-Bildanbieter auflisten | *(keine)* |
| `list_generated_images` | KI-generierte Bilder mit Paginierung auflisten | `page?`, `limit?` |
| `get_generated_image` | Details eines einzelnen KI-generierten Bildes per ID abrufen | `id` |
| `delete_generated_image` | Ein KI-generiertes Bild per ID löschen | `id` |

## KI-Video / UGC (9 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `generate_video` | Ein KI-UGC-Video generieren | `hookText` (max. 500 Zeichen), `avatarId`, `soundId?`, `productDemoUrl?` |
| `list_videos` | Generierte UGC-Videos auflisten | `page?`, `limit?` |
| `get_video` | Ein generiertes Video per ID abrufen (inkl. Generierungsstatus) | `id` |
| `delete_video` | Ein generiertes Video löschen | `id` |
| `list_avatars` | Verfügbare UGC-Avatare für die Videogenerierung auflisten | `page?`, `limit?` |
| `list_sounds` | Verfügbare Sounds/Musik für die Videogenerierung auflisten | `page?`, `limit?`, `genre?` |
| `get_sound_genres` | Verfügbare Hintergrundsound-Genres für UGC-Videos auflisten | *(keine)* |
| `generate_hook_suggestions` | KI-Hook-/Skript-Vorschläge für UGC-Videos generieren | `topic`, `platform?`, `count?` (Standard 5) |
| `list_ai_video_providers` | Vom aktuellen Tarif erlaubte KI-UGC-Videoanbieter auflisten | *(keine)* |

## Analysen (26 Tools)

### Plattformübergreifend & pro Beitrag

| Tool | Beschreibung | Params |
| - | - | - |
| `get_analytics_summary` | Analyse-Überblick des Workspace — Beitragszahlen nach Status und Plattform | *(keine)* |
| `get_platform_analytics` | Detaillierte Analysen für ein bestimmtes verbundenes Social-Media-Konto | `accountId`, `days?` |
| `get_post_analytics` | Analysen für einen bestimmten Beitrag | `postId`, `days?` |

### Analysen pro Plattform

| Tool | Beschreibung | Params |
| - | - | - |
| `get_facebook_analytics` | Analysen auf Facebook-Seitenebene | `accountId`, `days?` |
| `get_facebook_posts_analytics` | Analysen pro Beitrag der Facebook-Seite | `accountId`, `days?` |
| `get_facebook_videos_analytics` | Analysen pro Video der Facebook-Seite | `accountId`, `days?` |
| `get_instagram_analytics` | Analysen auf Instagram-Kontoebene | `accountId`, `days?` |
| `get_instagram_media_analytics` | Analysen pro Instagram-Beitrag | `accountId`, `days?` |
| `get_instagram_stories_analytics` | Analysen zu Instagram-Stories | `accountId`, `days?` |
| `get_linkedin_analytics` | Analysen auf LinkedIn-Seitenebene | `accountId`, `days?` |
| `get_linkedin_posts_analytics` | Analysen pro Beitrag der LinkedIn-Seite | `accountId`, `days?` |
| `get_youtube_analytics` | Analysen auf YouTube-Kanalebene | `accountId`, `days?` |
| `get_youtube_videos_analytics` | Analysen pro Video des YouTube-Kanals | `accountId`, `days?` |
| `get_twitter_analytics` | Analysen auf Twitter/X-Kontoebene | `accountId`, `days?` |
| `get_twitter_content_analytics` | Analysen auf Twitter/X-Inhaltsebene | `accountId`, `days?` |
| `get_whatsapp_analytics` | Analysen des WhatsApp-Business-Kontos | `accountId`, `days?` |
| `get_tiktok_analytics` | TikTok-Kontoanalysen | `accountId`, `days?` |
| `get_bluesky_analytics` | Bluesky-Kontoanalysen | `accountId`, `days?` |
| `get_mastodon_analytics` | Mastodon-Kontoanalysen | `accountId`, `days?` |
| `get_reddit_account_analytics` | Analysen auf Reddit-Kontoebene | `accountId`, `days?` |
| `get_reddit_submissions_analytics` | Analysen zu Reddit-Submissions (Beiträgen) | `accountId`, `days?` |
| `get_pinterest_analytics` | Pinterest-Kontoanalysen | `accountId`, `days?` |
| `get_pinterest_pins_analytics` | Analysen pro Pinterest-Pin | `accountId`, `days?` |
| `get_pinterest_top_pins_analytics` | Die erfolgreichsten Pinterest-Pins (`sortBy`: `IMPRESSION`/`ENGAGEMENT`/`OUTBOUND_CLICK`/`PIN_CLICK`/`SAVE`) | `accountId`, `days?`, `sortBy?` |
| `get_pinterest_top_video_pins_analytics` | Die erfolgreichsten Pinterest-Video-Pins | `accountId`, `days?`, `sortBy?` |
| `get_gmb_analytics` | Analysen eines Standorts im Google Business Profile (GMB) | `accountId`, `locationId?`, `days?` |

> [!NOTE]
>
> `days` ist bei jedem Analyse-Tool standardmäßig `7` (Rückblickzeitraum).

## Beste Veröffentlichungszeit (3 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `get_best_time_recommendations` | Empfehlungen zur besten Veröffentlichungszeit für alle verbundenen Konten im Workspace auflisten | *(keine)* |
| `get_best_time_recommendation` | Die Empfehlung zur besten Zeit (Heatmap + Top-Zeitfenster) für ein einzelnes Konto abrufen | `socialAccountId` |
| `recompute_best_time_recommendation` | Die Empfehlung zur besten Zeit für ein Konto anhand des jüngsten Interaktionsverlaufs neu berechnen | `socialAccountId` |

## Benachrichtigungen (5 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_notifications` | In-App-Benachrichtigungen des authentifizierten Benutzers auflisten (Cursor-Paginierung) | `category?`, `isRead?`, `limit?`, `cursor?` |
| `get_unread_notification_count` | Anzahl ungelesener Benachrichtigungen abrufen, optional nach Kategorie | `category?` |
| `mark_notification_read` | Eine einzelne Benachrichtigung als gelesen markieren | `id` |
| `mark_all_notifications_read` | Alle Benachrichtigungen (optional innerhalb einer Kategorie) als gelesen markieren | `category?` |
| `archive_notification` | Eine Benachrichtigung archivieren (ausblenden) | `id` |

## Wissen / RAG (6 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_knowledge` | Wissensdokumente auflisten, die der KI-Assistent nutzt (RAG) | `search?`, `tags?` (array), `activeOnly?`, `sortBy?`, `sortOrder?` (`ASC`/`DESC`), `limit?`, `offset?` |
| `get_knowledge` | Ein einzelnes Wissensdokument mit extrahiertem Text und Metadaten abrufen | `id` |
| `create_knowledge` | Ein Wissensdokument aus einer hochgeladenen Datei oder einer getippten Notiz erstellen (`sourceType`: `pdf`/`image`/`text_file`/`note`) | `sourceType`, `title`, `fileId?`, `body?`, `tags?`, `isActive?` |
| `update_knowledge` | Metadaten oder Notiztext eines Wissensdokuments aktualisieren | `id`, `title?`, `tags?`, `isActive?`, `body?` |
| `reprocess_knowledge` | Die Extraktion für ein fehlgeschlagenes PDF-/Bild-/Text-Wissensdokument erneut versuchen | `id` |
| `delete_knowledge` | Ein Wissensdokument löschen | `id` |

> [!NOTE]
>
> Bei `create_knowledge` ist `fileId` für die Quelltypen `pdf`/`image`/`text_file` erforderlich, und
> `body` ist für `note` erforderlich.

## Canva (4 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `get_canva_status` | Prüfen, ob Canva für den authentifizierten Benutzer verbunden ist | *(keine)* |
| `list_canva_designs` | Die Canva-Designs des Benutzers auflisten (paginiert, durchsuchbar) | `query?`, `continuation?` |
| `export_canva_design` | Ein Canva-Design als Bild exportieren (asynchron; gibt eine Export-Job-ID zurück) | `designId` |
| `get_canva_export_status` | Den Status eines Canva-Design-Export-Jobs abfragen | `exportId` |

## Vorlagen (3 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_templates` | Verfügbare Inhaltsvorlagen nach Kategorie auflisten (`meme`, `quote_card`, `before_after`, `reaction`, `announcement`, `testimonial`) | `category?`, `page?`, `limit?` |
| `get_template` | Eine Inhaltsvorlage per ID abrufen | `id` |
| `render_template` | Eine Vorlage mit den übergebenen Feldwerten rendern | `id`, `fields` (object) |

## Hilfe & Support (5 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `create_ticket` | Ein Support-Ticket erstellen (`priority`: `LOW`/`MEDIUM`/`HIGH`, Standard `MEDIUM`) | `subject`, `message`, `priority?` |
| `list_tickets` | Deine Support-Tickets auflisten | `page?`, `limit?` |
| `get_ticket` | Ein Support-Ticket mit Details abrufen | `id` |
| `send_ticket_message` | Eine Nachricht in einem Support-Ticket senden | `ticketId`, `message` |
| `list_ticket_messages` | Alle Nachrichten eines Support-Tickets auflisten | `ticketId` |

## WhatsApp (6 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_whatsapp_templates` | WhatsApp-Business-Nachrichtenvorlagen auflisten | `accountId` |
| `get_whatsapp_template` | Eine einzelne WhatsApp-Nachrichtenvorlage per Namen abrufen | `accountId`, `templateName` |
| `create_whatsapp_template` | Eine WhatsApp-Nachrichtenvorlage erstellen (zur Freigabe bei Meta einreichen) (`category`: `MARKETING`/`UTILITY`/`AUTHENTICATION`) | `accountId`, `name`, `language`, `category`, `components` (array) |
| `delete_whatsapp_template` | Eine WhatsApp-Nachrichtenvorlage löschen | `accountId`, `templateName` |
| `send_whatsapp_template` | Eine WhatsApp-Vorlagennachricht an einen Empfänger senden (Telefonnummer im E.164-Format) | `accountId`, `to`, `templateName`, `languageCode`, `components?` |
| `upload_whatsapp_template_media` | Header-Medien (Bild/Video/Dokument) für eine Vorlage hochladen | `accountId`, `fileType`, `fileUrl?`, `fileBase64?` |

## Integrations-Helfer (9 Tools)

Plattformspezifische Ziele (Boards, Kanäle, Subreddits, Standorte) vor der Veröffentlichung auflösen.

| Tool | Beschreibung | Params |
| - | - | - |
| `list_pinterest_boards` | Pinterest-Boards eines Kontos auflisten (vor dem Veröffentlichen ein Board auswählen) | `accountId` |
| `create_pinterest_board` | Ein neues Pinterest-Board erstellen (`privacy` z. B. `PUBLIC`/`SECRET`) | `accountId`, `name`, `description?`, `privacy?` |
| `list_reddit_subreddits` | Subreddits auflisten, in denen das verbundene Reddit-Konto Mitglied ist | `accountId` |
| `list_reddit_flairs` | Verfügbare Beitrags-Flairs eines Subreddits auflisten | `accountId`, `subreddit` |
| `list_gmb_locations` | Standorte im Google Business Profile (GMB) eines Kontos auflisten | `accountId` |
| `list_discord_channels` | Für ein Konto im Bot-Modus verfügbare Discord-Kanäle auflisten | `accountId` |
| `list_slack_channels` | Slack-Kanäle eines verbundenen Workspace auflisten | `accountId` |
| `list_telegram_chats` | Für ein Konto verfügbare Telegram-Chats/-Gruppen auflisten | `accountId` |
| `get_tiktok_creator_info` | TikTok-Creator-/Kontoinformationen abrufen (Veröffentlichungsfunktionen prüfen) | `accountId` |

## Webhooks (10 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_webhook_subscriptions` | Alle Webhook-Abonnements in deinem Workspace auflisten | *(keine)* |
| `get_webhook_subscription` | Ein einzelnes Webhook-Abonnement per ID abrufen | `id` |
| `create_webhook_subscription` | Ein neues Webhook-Abonnement erstellen | `url`, `categories` (array), `description?` |
| `update_webhook_subscription` | Ein bestehendes Webhook-Abonnement aktualisieren | `id`, `url?`, `categories?`, `description?`, `isActive?`, `regenerateSecret?` |
| `delete_webhook_subscription` | Ein Webhook-Abonnement löschen | `id` |
| `test_webhook_subscription` | Einen Test-Ping an ein Webhook-Abonnement senden | `id` |
| `list_webhook_deliveries` | Webhook-Zustellprotokolle auflisten (filterbar) | `page?`, `limit?`, `subscriptionId?`, `event?`, `status?`, `category?` |
| `get_webhook_delivery` | Ein einzelnes Webhook-Zustellprotokoll mit vollständigem Payload und Status abrufen | `id` |
| `retry_webhook_delivery` | Eine fehlgeschlagene Webhook-Zustellung erneut versuchen | `id` |
| `list_webhook_events` | Alle verfügbaren Webhook-Ereignistypen nach Kategorie auflisten | *(keine)* |

> [!NOTE]
>
> Webhook-`categories` akzeptieren: `post`, `inbox`, `account`, `subscription`, `ai`, `team`, `support`.
> Der Zustell-Filter `status` akzeptiert: `pending`, `success`, `retrying`, `failed`.

## Tarife, Abrechnung & Nutzung (6 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `get_billing` | Abo- und Abrechnungsinformationen abrufen | *(keine)* |
| `get_usage` | Nutzungsübersicht für den aktuellen Abrechnungszeitraum abrufen | *(keine)* |
| `get_plans` | Den Tarifkatalog mit Preisen und Sichtbarkeit abrufen | *(keine)* |
| `get_plan_features` | Die Funktionsmatrix über ihren internen Bezeichner abrufen: `solo` (Lite), `team` (Standard), `scale` (Advanced) oder `lifetime` (Lifetime). `hobby` ist ein eingestellter Alt-Tarif | `planName` |
| `get_subscription` | Aktuellen Abo-Status, Tarif und Limits des Workspace abrufen | *(keine)* |
| `list_invoices` | Rechnungen des aktuellen Abos auflisten | *(keine)* |

## Empfehlungen (2 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `get_referral_code` | Den Empfehlungscode des authentifizierten Benutzers abrufen | *(keine)* |
| `get_referral_stats` | Empfehlungscode, Anzahl der Empfehlungen, verdiente Credits und Share-URL abrufen | *(keine)* |

## API-Schlüssel (3 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_api_keys` | Aktive API-Schlüssel des aktuellen Workspace auflisten | *(keine)* |
| `create_api_key` | Einen neuen API-Schlüssel erstellen; der vollständige Schlüssel wird nur einmal zurückgegeben | `name`, `expiresAt?` |
| `revoke_api_key` | Einen API-Schlüssel widerrufen | `id` |

## Tenants / Workspaces (4 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `list_tenants` | Workspaces/Tenants auflisten, denen der authentifizierte Benutzer angehört | `page?`, `limit?` |
| `create_tenant` | Einen neuen Workspace/Tenant erstellen, der dem authentifizierten Benutzer gehört | `name`, `description?` |
| `delete_tenant` | Einen Workspace/Tenant löschen | `id` |
| `leave_tenant` | Einen Workspace/Tenant verlassen, dessen Mitglied der Benutzer ist | `tenantId?` (Standard: aktueller) |

## Profil & Einstellungen (5 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `get_profile` | Dein Benutzerprofil abrufen | *(keine)* |
| `update_profile` | Das Profil des authentifizierten Benutzers aktualisieren | `name?`, `password?`, `email?` |
| `get_user_preferences` | Die Einstellungen des authentifizierten Benutzers abrufen (Benachrichtigungen, Zeitzone, UI-Einstellungen) | *(keine)* |
| `update_user_preferences` | Die Einstellungen des authentifizierten Benutzers aktualisieren (zusammenführen) | `preferences` (object) |
| `get_current_tenant` | Details des aktuell aktiven Workspace (Tenant) abrufen | *(keine)* |

## Organisation (2 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `get_organization` | Details zu Workspace/Organisation abrufen | *(keine)* |
| `update_organization` | Den aktuellen Workspace / die Organisation aktualisieren | `name?`, `description?`, `color?` (hex), `timezone?` (IANA) |

## MCP-Introspektion (2 Tools)

| Tool | Beschreibung | Params |
| - | - | - |
| `get_mcp_usage` | MCP-Credit-Nutzung, Limits und Aufschlüsselung pro Tool dieses Workspace für den aktuellen Zeitraum abrufen | *(keine)* |
| `list_mcp_tools` | Alle verfügbaren MCP-Tools und ihre Credit-Kosten auflisten | *(keine)* |

## Anwendungsbeispiele

```json Beitrag erstellen und planen theme={null}
{
  "name": "create_post",
  "arguments": {
    "text": "Shipping our biggest update yet 🚀 Read the changelog → so-me.studio/changelog",
    "socialMedia": "LINKEDIN_PAGE",
    "postType": "TEXT",
    "scheduledAt": "2026-06-20T14:00:00.000Z",
    "accountId": "acct_01HZ..."
  }
}
```

```json KI: generieren, erstellen und planen in einem Aufruf theme={null}
{
  "name": "generate_and_schedule",
  "arguments": {
    "platform": "INSTAGRAM",
    "socialMedia": "INSTAGRAM",
    "topic": "5 tips for consistent posting as a solo founder",
    "tone": "engaging",
    "scheduledAt": "2026-06-21T16:30:00.000Z"
  }
}
```

```json KI-Bild generieren (4 Varianten) theme={null}
{
  "name": "generate_image",
  "arguments": {
    "prompt": "minimalist product launch banner, soft gradient background",
    "style": "illustration",
    "aspectRatio": "16:9",
    "provider": "flux_fal",
    "numImages": 4
  }
}
```

```json Detaillierte Instagram-Analysen abrufen theme={null}
{
  "name": "get_instagram_media_analytics",
  "arguments": {
    "accountId": "acct_01HZ...",
    "days": 30
  }
}
```

```json Massenantwort an viele DMs mit Personalisierung theme={null}
{
  "name": "create_bulk_reply",
  "arguments": {
    "threadIds": ["thr_1", "thr_2", "thr_3"],
    "message": "Hey {{firstName}}, thanks for reaching out! Here's the link you asked for."
  }
}
```

```json Beste Veröffentlichungszeit für ein Konto theme={null}
{
  "name": "get_best_time_recommendation",
  "arguments": {
    "socialAccountId": "acct_01HZ..."
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.