# Dein Agent schreibt. Shager veröffentlicht. Du behältst die Kontrolle.

Verbinde Claude, ChatGPT, Cursor oder jeden MCP-Client per OAuth-Anmeldung, einen Bot mit einem Gerätecode und alles andere mit einem API-Schlüssel oder der REST-API. Dein Agent lädt ein Video oder Bilder hoch, erstellt einen Beitrag für alle Konten (Reel, Short, Story, TikTok-Video oder Beitrag) und prüft ihn anhand der Regeln jedes Netzwerks. Veröffentlichen bleibt aus, bis ein Mensch es einschaltet.

MCP-Server, REST-API und OpenAPI-Doku in jedem Tarif, in der Launch-Phase kostenlos.

## Ein Video. Acht Konten.

Der Agent lädt das Video mit upload_media_from_url hoch und sendet einen Beitrag mit einer Kontogruppe. Shager liefert pro Konto eine Version im Format, das sein Netzwerk unterstützt: ein Reel, ein Short, ein TikTok-Video, ein LinkedIn-Video. Jede bekommt ihre eigene Sendezeit.

MCP: `https://app.shager.ai/api/mcp`

```json
// 1 · upload the video once
{
  "name": "upload_media_from_url",
  "arguments": {
    "workspace_id": "cm2studionoa",
    "url": "https://studio-noa.co.il/media/workshop.mp4"
  }
}
// → { "id": "cm2wheelvideo", "kind": "VIDEO",
//     "width": 1080, "height": 1920, "duration_ms": 24000 }  (measured by Shager)

// 2 · one post to every account
{
  "name": "create_post",
  "arguments": {
    "workspace_id": "cm2studionoa",
    "group_ids": ["cm2allaccounts"],
    "caption": "A new evening workshop…",
    "media_ids": ["cm2wheelvideo"],
    "cta_url": "https://studio-noa.co.il/workshop",
    "youtube_made_for_kids": false,
    "per_channel": [{
      "channel_id": "cm2tiktok",
      "tiktok_privacy": "SELF_ONLY"
    }],
    "schedule_at": "2026-10-20T09:00:00+03:00",
    "idempotency_key": "workshop-oct-20"
  }
}
```

```json
{
  "status": "SCHEDULED",
  "scheduled_at": "2026-10-20T06:00:00.000Z",
  "stagger_seconds": { "min": 30, "max": 90 },
  "issues": [],
  "destinations": [
    { "network": "INSTAGRAM", "format": "REEL",  "state": "PENDING" },
    { "network": "FACEBOOK",  "format": "REEL",  "state": "PENDING" },
    { "network": "YOUTUBE",   "format": "SHORT", "state": "PENDING" },
    { "network": "TIKTOK",    "format": "VIDEO", "state": "PENDING" },
    { "network": "LINKEDIN",  "format": "VIDEO", "state": "PENDING" },
    { "network": "X",         "format": "FEED",  "state": "PENDING" }
    // … 2 more, each with its own dispatch_at
  ],
  "calendar_notes": []
}
```

- `validate_post` liefert alle Probleme aller Konten auf einmal, bevor irgendetwas gespeichert wird.
- `calendar_notes` markiert Feiertage am gewählten Tag, damit der Agent den Zeitpunkt überdenken kann.
- `idempotency_key` macht Wiederholungen sicher: Dieselbe Anfrage erzeugt nie einen zweiten Beitrag.

## Der Agent arbeitet. Ein Mensch entscheidet.

- **Ein Mensch übernimmt.** Ein Agent, der sich selbst registriert, bekommt eine Sandbox: Entwürfe, Medien und Kunden, ohne Planen und ohne Veröffentlichen. Ein Mensch öffnet den Übernahme-Link, meldet sich an, und erst dann gehört die Organisation ihm.
- **Veröffentlichen ist standardmäßig aus.** Jeder Schlüssel hat Lese-, Schreib- und Veröffentlichungsrechte. Veröffentlichen wird separat erteilt, nur von einem Menschen, und der Schlüssel lässt sich jederzeit widerrufen.
- **Großer oder kurzfristiger Versand wartet auf ein Ja.** Ein Versand an mehr als 10 Konten oder innerhalb von 60 Minuten geht nicht sofort raus. Der Agent bekommt einen Versandplan, den er dir zeigt, und sendet erst mit einem Bestätigungstoken erneut.
- **Limits pro Schlüssel und ein Protokoll jeder Aktion.** Bis zu 50 Konten pro Beitrag und 20 geplante Beiträge in 24 Stunden. Jede Aktion eines Agenten wird protokolliert: was, wann und mit welchem Schlüssel.

## Drei Wege, sich zu verbinden. Für jeden Agenten.

### 1. Jeder MCP-Client mit OAuth

Füge die Serveradresse im Client hinzu (in Claude und ChatGPT als benutzerdefinierten Connector). Er leitet dich zu Shager: anmelden, Organisation wählen, bestätigen. Kein Schlüssel zum Kopieren, und Veröffentlichen bleibt aus, solange du es nicht anhakst.

```sh
# MCP server URL (sign in with OAuth)
https://app.shager.ai/api/mcp
```

### 2. Bots ohne Browser: ein Gerätecode

Ein Bot oder Agent ohne Browser registriert sich einmal (RFC 7591), fordert einen Code an und zeigt ihn dir. Du bestätigst auf dem Handy unter app.shager.ai/device, mit demselben Bildschirm und denselben Rechten.

```sh
curl -X POST https://app.shager.ai/api/oauth/device_authorization \
  -d client_id=shgr_client_… \
  -d resource=https://app.shager.ai/api/mcp
# → user_code "BCDF-GHJK", verification_uri
#   https://app.shager.ai/device · then poll /api/oauth/token
```

### 3. Alles andere: ein API-Schlüssel

Erstelle einen Schlüssel auf der Agenten-Seite und sende ihn als Bearer-Header, über MCP oder die REST-API. Noch kein Konto? Der Agent registriert sich selbst in einer Sandbox, und du übernimmst sie später (auth.md).

```sh
claude mcp add --transport http shager \
  https://app.shager.ai/api/mcp \
  --header "Authorization: Bearer shgr_live_…"
```

MCP config (Cursor and other clients):

```json
{
  "mcpServers": {
    "shager": {
      "url": "https://app.shager.ai/api/mcp",
      "headers": { "Authorization": "Bearer shgr_live_…" }
    }
  }
}
```

## Alles, was der Agent kann.

- `whoami`: Wer bin ich: die Organisation, die Rechte des Schlüssels, Limits und Sandbox-Status
- `get_structure`: Das ganze Konto auf einen Blick: Kunden, die Konten jedes Kunden und seine Gruppen
- `get_claim_link`: Übernahme-Link der Organisation
- `list_workspaces`: Kunden auflisten (Workspaces)
- `create_workspace`: Neuen Kunden anlegen
- `list_channels`: Verbundene Konten und die Regeln jedes Netzwerks
- `create_connect_link`: Ein Link, über den der Kunde seine eigenen Konten verbindet
- `list_groups`: Kontogruppen
- `create_group`: Gruppe erstellen (Filialen, Marken, Kampagne)
- `upload_media_from_url`: Bild oder Video von einer URL hochladen
- `validate_post`: Finalen Inhalt und Planungsbereitschaft prüfen
- `create_post`: Ein Beitrag für viele Konten, pro Netzwerk angepasst
- `update_post`: Entwurf bearbeiten
- `schedule_post`: Planen mit gestaffeltem Versand über die Konten
- `request_approval`: Ein Freigabe-Link für den Kunden
- `get_approval`: Freigabestatus des Beitrags
- `get_post`: Veröffentlichungsstatus auf jedem Konto, inklusive Fehler
- `list_posts`: Der Redaktionskalender
- `cancel_post`: Planung abbrechen
- `delete_post`: Entwurf löschen
- `list_comments`: Kommentare zu einem Beitrag auf YouTube oder Instagram
- `reply_to_comment`: Als das Konto auf einen Kommentar antworten
- `hide_comment`: Einen Kommentar aus- oder einblenden
- `delete_comment`: Einen Kommentar löschen
- `get_analytics`: Klicks pro Konto und pro Beitrag
- `create_webhook`: 
- `list_webhooks`: 
- `delete_webhook`: 
- `send_test_webhook`: 
- `get_holidays`: Feiertage und Gedenktage nach Tradition, um den Zeitpunkt zu wählen

## Maschinenlesbare Dateien

- `/llms.txt`: Eine Sitemap für Agenten: was Shager ist und wo jede Seite liegt.
- `/llms-full.txt`: Alle öffentlichen Inhalte in einer Markdown-Datei.
- `/md/…`: Eine Markdown-Version jeder Seite. Beispiel: /md/de/pricing
- `https://app.shager.ai/api/v1/openapi.json`: Die vollständige OpenAPI-Spezifikation der REST-API.
- `https://app.shager.ai/.well-known/oauth-authorization-server`: Metadaten des OAuth-Servers: dynamische Client-Registrierung, PKCE, Gerätecode.

## Häufige Fragen, bevor du einen Agenten verbindest.

### Welche Agenten funktionieren heute mit Shager?

Jeder MCP-Client, der die OAuth-Anmeldung (etwa als benutzerdefinierter Connector in Claude oder ChatGPT) oder einen Header mit API-Schlüssel (etwa Claude Code, Cursor oder Codex) unterstützt, Bots und Agenten ohne Browser per Gerätecode und jeder Code, der die REST-API aufruft.

### Kann der Agent veröffentlichen, ohne dass ich es weiß?

Standardmäßig nicht. Veröffentlichen braucht ein eigenes Veröffentlichungsrecht, das ein Mensch erteilt. Es ist aus, wenn du einen Schlüssel erstellst, eine Sandbox übernimmst oder eine Verbindung bestätigst, und ein Versand an mehr als 10 Konten oder innerhalb von 60 Minuten braucht eine zweite Bestätigung. Außerdem kannst du für jeden Beitrag in einem Workspace eine Kundenfreigabe verlangen.

### Kostet ein Agent extra?

Nein. Die API und der MCP-Server sind in jedem Tarif enthalten, und ein Beitrag, den dein Agent erstellt, zählt wie jeder andere.

### Was, wenn der Agent einen Fehler macht?

Ein geplanter Beitrag lässt sich bis zum Versand abbrechen, ein Entwurf lässt sich löschen. Jede Aktion steht im Protokoll, und der Schlüssel lässt sich mit einem Klick widerrufen.

### Kann der Agent auf fremden Konten posten?

Nur auf Konten, die mit deiner Organisation verbunden sind, über den offiziellen Berechtigungsdialog des jeweiligen Netzwerks. Der Agent sieht nie Passwörter.

Tracking-Links zeigen Klicks nach Konto und Beitrag. Die Zuordnung von Leads und Verkäufen erfordert dein Analytics-Tool oder CRM.

---
Source: https://shager.ai/de/agents
