# Seu agente escreve. O Shager lança. Você continua no controle.

Conecte Claude, ChatGPT, Cursor ou qualquer cliente MCP com login OAuth; um bot, com um código de dispositivo; e todo o resto, com uma chave de API ou a API REST. Seu agente envia um vídeo ou imagens, prepara um post para todas as contas (um Reel, Short, story, vídeo do TikTok ou post) e confere tudo com as regras de cada rede. A publicação fica desligada até que uma pessoa a ative.

Servidor MCP, API REST e documentação OpenAPI em todos os planos, grátis durante o período de lançamento.

## Um vídeo. Oito contas.

O agente envia o vídeo com upload_media_from_url e cria um post para um grupo de contas. O Shager devolve uma versão por conta, em um formato que a rede dela aceita: um Reel, um Short, um vídeo do TikTok, um vídeo do LinkedIn. Cada uma tem seu próprio horário de envio.

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` retorna todos os problemas de todas as contas de uma vez, antes de salvar qualquer coisa.
- `calendar_notes` sinaliza feriados no dia escolhido, para o agente repensar o horário.
- `idempotency_key` torna as novas tentativas seguras: a mesma requisição nunca cria um segundo post.

## O agente faz o trabalho. Uma pessoa decide.

- **Uma pessoa assume o controle.** Um agente que se cadastra sozinho recebe um sandbox: rascunhos, mídia e clientes, sem agendar e sem publicar. Uma pessoa abre o link de reivindicação, entra e só então a organização passa a ser dela.
- **A publicação vem desligada.** Toda chave tem permissões de leitura, escrita e publicação. A de publicação é concedida à parte, só por uma pessoa, e a chave pode ser revogada a qualquer momento.
- **Envios grandes ou repentinos esperam um sim.** Um envio para mais de 10 contas ou para os próximos 60 minutos não sai na hora. O agente recebe um plano de envio para mostrar a você e reenvia só com um token de confirmação.
- **Limites por chave e registro de cada ação.** Até 50 contas por post e 20 posts agendados em 24 horas. Toda ação de um agente fica registrada: o quê, quando e com qual chave.

## Três formas de conectar. Qualquer agente serve.

### 1. Qualquer cliente MCP com suporte a OAuth

Adicione o endereço do servidor no cliente (no Claude e no ChatGPT, como conector personalizado). Ele leva você ao Shager: entre, escolha a organização e aprove. Nenhuma chave para copiar, e a publicação fica desligada, a menos que você a ative.

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

### 2. Bots sem navegador: um código de dispositivo

Um bot ou agente sem navegador se registra uma vez (RFC 7591), pede um código e mostra para você. Você aprova pelo celular em app.shager.ai/device, com a mesma tela e as mesmas permissões.

```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. Todo o resto: uma chave de API

Crie uma chave na página Agentes e envie como cabeçalho Bearer, via MCP ou API REST. Ainda não tem conta? O agente se cadastra sozinho em um sandbox e você assume depois (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_…" }
    }
  }
}
```

## Tudo o que o agente pode fazer.

- `whoami`: Quem sou eu: a organização, as permissões da chave, os limites e o estado do sandbox
- `get_structure`: A conta inteira de uma vez: os clientes, as contas de cada um e seus grupos
- `get_claim_link`: Link para assumir a organização
- `list_workspaces`: Lista de clientes (workspaces)
- `create_workspace`: Criar um novo cliente
- `list_channels`: Contas conectadas e as regras de cada rede
- `create_connect_link`: Um link para o cliente conectar as próprias contas
- `list_groups`: Grupos de contas
- `create_group`: Criar um grupo (filiais, marcas, campanha)
- `upload_media_from_url`: Enviar uma imagem ou vídeo a partir de uma URL
- `validate_post`: Verificar o conteúdo final e se está pronto para agendar
- `create_post`: Um post para várias contas, adaptado a cada rede
- `update_post`: Editar um rascunho
- `schedule_post`: Agendar com envio escalonado entre as contas
- `request_approval`: Um link de aprovação para o cliente
- `get_approval`: Status de aprovação do post
- `get_post`: Status de publicação em cada conta, incluindo erros
- `list_posts`: O calendário de conteúdo
- `cancel_post`: Cancelar um agendamento
- `delete_post`: Excluir um rascunho
- `list_comments`: Comentários de um post publicado no YouTube ou no Instagram
- `reply_to_comment`: Responder a um comentário em nome da conta
- `hide_comment`: Ocultar ou mostrar um comentário
- `delete_comment`: Excluir um comentário
- `get_analytics`: Cliques por conta e por post
- `create_webhook`: 
- `list_webhooks`: 
- `delete_webhook`: 
- `send_test_webhook`: 
- `get_holidays`: Feriados e datas comemorativas por tradição, para escolher quando publicar

## Arquivos para leitura por máquina

- `/llms.txt`: Um mapa do site para agentes: o que é o Shager e onde fica cada página.
- `/llms-full.txt`: Todo o conteúdo público em um único arquivo Markdown.
- `/md/…`: Uma versão em Markdown de cada página. Exemplo: /md/pt/pricing
- `https://app.shager.ai/api/v1/openapi.json`: A especificação OpenAPI completa da API REST.
- `https://app.shager.ai/.well-known/oauth-authorization-server`: Metadados do servidor OAuth: registro dinâmico de clientes, PKCE, código de dispositivo.

## O que todo mundo pergunta antes de conectar um agente.

### Quais agentes funcionam com o Shager hoje?

Qualquer cliente MCP com suporte a login OAuth (como um conector personalizado no Claude ou no ChatGPT) ou a um cabeçalho com chave de API (como Claude Code, Cursor ou Codex), bots e agentes sem navegador via código de dispositivo, e qualquer código que chame a API REST.

### O agente pode publicar sem eu saber?

Não por padrão. Publicar exige uma permissão de publicação separada, concedida por uma pessoa, e ela vem desligada quando você cria uma chave, assume um sandbox ou aprova uma conexão; além disso, um envio para mais de 10 contas ou para os próximos 60 minutos exige uma segunda confirmação. Você também pode exigir aprovação do cliente para todo post de um workspace.

### O agente é cobrado à parte?

Não. A API e o servidor MCP estão em todos os planos, e um post criado pelo seu agente conta como qualquer outro.

### E se o agente errar?

Um post agendado pode ser cancelado até sair, e um rascunho pode ser excluído. Toda ação fica no registro, e a chave pode ser revogada com um clique.

### O agente pode postar em contas de outras pessoas?

Só em contas conectadas à sua organização, pela tela oficial de permissões de cada rede. O agente nunca vê senhas.

Links rastreáveis mostram os cliques por conta e por post. Atribuir leads e vendas exige a sua ferramenta de analytics ou o seu CRM.

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