# Ferramentas · Podcast e Vídeos

> Ferramentas MCP para os módulos Podcast e Vídeos: programas e apresentadores, episódios com áudio, vídeo, capa e capítulos, publicar e agendar com o alcance do e-mail, transcrição, números, e para quem ouve o ponto em que parou, reações, comentários e a fila.

Os módulos [Podcast](/espacos/podcast) e [Vídeos](/espacos/videos) pelo assistente: criar programas e escolher apresentadores, criar episódios enviando o áudio ou o vídeo por link ou arquivo, publicar ou agendar sabendo antes quantas pessoas recebem o e-mail, transcrever, ver os números e, para quem ouve, guardar o ponto, reagir, comentar e organizar a fila.

Cada ferramenta traz um selo: <span class="tool-kind tool-kind-read">Só consulta</span> não muda nada, <span class="tool-kind tool-kind-write">Altera</span> cria ou muda algo na hora, e <span class="tool-kind tool-kind-confirm">Pede confirmação</span> só age depois do seu sim a um resumo. Ver [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao).

## Em resumo

| Ferramenta | O que faz | Papel mínimo | Tipo |
|---|---|---|---|
| [`list_shows`](#list-shows) | Os programas de um espaço | Qualquer que veja o espaço | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`get_show`](#get-show) | Um programa, com os apresentadores | Qualquer que veja o espaço | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`create_show`](#create-show) | Cria um programa, com capa e apresentadores | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_show`](#update-show) | Edita o programa | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`delete_show`](#delete-show) | Apaga o programa e os episódios | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`add_show_presenter`](#add-show-presenter) | Faz de alguém apresentador do programa | Administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`remove_show_presenter`](#remove-show-presenter) | Remove alguém dos apresentadores | Administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`get_show_stats`](#get-show-stats) | Os números do programa, por episódio | Apresentador ou equipe | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`list_episodes`](#list-episodes) | Os episódios de um programa | Qualquer que veja o espaço | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`get_episode`](#get-episode) | Um episódio, pelo id ou pelo link | Quem pode ouvi-lo | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`create_episode`](#create-episode) | Cria um episódio (rascunho) com áudio ou vídeo | Apresentador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_episode`](#update-episode) | Edita o episódio, troca o arquivo e os capítulos | Apresentador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`delete_episode`](#delete-episode) | Apaga o episódio | Apresentador ou administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`publish_episode`](#publish-episode) | Publica agora ou agenda; `dry_run` diz quantos recebem o e-mail | Apresentador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`unpublish_episode`](#unpublish-episode) | Devolve o episódio a rascunho | Apresentador ou administrador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`transcribe_episode`](#transcribe-episode) | Pede a transcrição | Apresentador ou administrador | <span class="tool-kind tool-kind-write">Altera</span> |
| [`get_episode_transcript`](#get-episode-transcript) | A transcrição em texto, trechos ou legenda | Quem pode ouvi-lo | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`get_episode_stats`](#get-episode-stats) | Os números de um episódio | Apresentador ou equipe | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`save_episode_progress`](#save-episode-progress) | Guarda onde você parou | Quem pode ouvi-lo | <span class="tool-kind tool-kind-write">Altera</span> |
| [`react_to_episode`](#react-to-episode) | Reage ao episódio | Quem pode ouvi-lo | <span class="tool-kind tool-kind-write">Altera</span> |
| [`list_episode_comments`](#list-episode-comments) | Os comentários do episódio | Quem pode ouvi-lo | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`create_episode_comment`](#create-episode-comment) | Comenta ou responde, com Drop opcional | Quem pode ouvi-lo | <span class="tool-kind tool-kind-write">Altera</span> |
| [`update_episode_comment`](#update-episode-comment) | Edita o seu comentário | O autor | <span class="tool-kind tool-kind-write">Altera</span> |
| [`delete_episode_comment`](#delete-episode-comment) | Apaga um comentário e as respostas | O autor ou moderador | <span class="tool-kind tool-kind-confirm">Pede confirmação</span> |
| [`react_to_episode_comment`](#react-to-episode-comment) | Reage a um comentário | Quem pode ouvi-lo | <span class="tool-kind tool-kind-write">Altera</span> |
| [`get_my_media_queue`](#get-my-media-queue) | A sua fila | Qualquer | <span class="tool-kind tool-kind-read">Só consulta</span> |
| [`queue_episode`](#queue-episode) | Coloca um episódio no fim da fila | Quem pode ouvi-lo | <span class="tool-kind tool-kind-write">Altera</span> |
| [`unqueue_episode`](#unqueue-episode) | Remove um episódio da fila | Qualquer | <span class="tool-kind tool-kind-write">Altera</span> |
| [`reorder_my_media_queue`](#reorder-my-media-queue) | Reordena a fila inteira | Qualquer | <span class="tool-kind tool-kind-write">Altera</span> |

O espaço se cria com [`create_space`](/mcp/ferramentas-comunidade#create-space) e `module: "podcast"` ou `"videos"`, com `mode` `single` (um programa) ou `multi` (vários). **Apresentador** é o membro ou moderador escolhido para um programa: as ferramentas de episódio aparecem para todos os papéis, e a Memberfy recusa quem não é proprietário, administrador nem apresentador daquele programa. **Equipe**, nos números, é proprietário, administrador, moderador e financeiro.

**Arquivos.** O áudio (MP3, M4A ou AAC, até 500 MB; WAV é recusado) e o vídeo (MP4, WebM ou MOV, até 4 GB) vão por link público (`audio_file_url`, `video_file_url`), que a Memberfy baixa e guarda em área privada, ou em base64 até cerca de 7 MB (`audio_file_base64` com `audio_file_type`, `video_file_base64`). As capas, por `cover_image_url` ou `cover_image_base64`. Um episódio tem áudio **ou** vídeo, nunca os dois. Um WAV é recusado com *"Envie em MP3 ou M4A."*, apontando o campo `mimeType`. Os resumos de confirmação de [`delete_episode`](#delete-episode), [`unpublish_episode`](#unpublish-episode) e [`remove_show_presenter`](#remove-show-presenter) trazem o nome do programa em `show_title`, para você conferir antes do sim.

## `list_shows`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Os programas de um espaço**, com capa, apresentadores e quantos episódios cada um tem. *Papel mínimo: qualquer que veja o espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `space` | id ou link | Sim | O espaço de Podcast ou de Vídeos |

**Peça assim:** *"Quais programas tem o espaço Áudios?"*

## `get_show`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Um programa**, com descrição, categoria, idioma, autor, apresentadores e se transcreve cada episódio. *Papel mínimo: qualquer que veja o espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `show_id` | id | Sim | O programa ([`list_shows`](#list-shows)) |

## `create_show`

<span class="tool-kind tool-kind-write">Altera</span>

**Criar um programa.** *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `space` | id ou link | Sim | O espaço de Podcast ou de Vídeos |
| `title` | texto | Sim | Até 200 caracteres |
| `description` | Markdown ou HTML | Não | |
| `category` | texto | Não | A categoria em inglês (`Business`, `Education`, `Technology`…) |
| `language` | texto | Não | `pt-BR`, `en-US`… |
| `explicit` | verdadeiro ou falso | Não | Conteúdo explícito |
| `author_name` | texto | Não | Quem assina o programa |
| `auto_transcribe` | verdadeiro ou falso | Não | Transcrever cada episódio ao entrar no ar (Podcast; ligado por padrão) |
| `presenter_ids` | lista de ids | Não | Os apresentadores (membros ou moderadores; [`list_members`](/mcp/ferramentas-membros#list-members)) |
| `cover_image_url` / `cover_image_base64` | link ou base64 | Não | A capa, quadrada |

**Peça assim:** *"Crie no espaço Áudios o programa Papo de Comunidade, em português, categoria Negócios, com a Maria como apresentadora."*

## `update_show`

<span class="tool-kind tool-kind-write">Altera</span>

**Editar o programa.** Os mesmos campos de [`create_show`](#create-show) (menos `space` e `presenter_ids`), mais `remove_cover`. Só o que você mandar muda. *Papel mínimo: administrador.*

## `delete_show`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Apagar o programa**, com os episódios, comentários e números. O resumo diz quantos episódios saem. *Papel mínimo: administrador.*

## `add_show_presenter`

<span class="tool-kind tool-kind-write">Altera</span>

**Fazer de alguém apresentador.** Ele passa a criar, editar, publicar e transcrever os episódios deste programa, e só dele, e a ver os números. *Papel mínimo: administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `show_id` | id | Sim | |
| `member_id` | id | Sim | Um membro ou moderador desta comunidade |

## `remove_show_presenter`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Remover alguém dos apresentadores.** O que ele publicou continua. Parâmetros: `show_id` e `member_id`. *Papel mínimo: administrador.*

## `get_show_stats`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Os números do programa**, no total e por episódio: plays (a partir de 30 segundos), pessoas únicas, quantas chegaram a 90% e a conclusão média. *Papel mínimo: apresentador do programa ou equipe.*

**Peça assim:** *"Qual episódio do Papo de Comunidade foi mais ouvido?"*

## `list_episodes`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Os episódios de um programa.** Quem não gerencia o programa vê só os que estão no ar. *Papel mínimo: qualquer que veja o espaço.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `show_id` | id | Sim | |
| `status` | `draft`, `scheduled` ou `published` | Não | Rascunhos e agendados, só para quem gerencia |
| `season` | número | Não | A temporada |
| `order` | `newest` ou `oldest` | Não | |
| `page`, `limit` | número | Não | Até 100 por página |

## `get_episode`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Um episódio**, com descrição, capítulos, o ponto em que você parou, as reações e, para quem gerencia, o estado da transcrição. Aceita o id ou o link do app (inclusive o do e-mail de aviso). *Papel mínimo: quem pode ouvi-lo.*

## `create_episode`

<span class="tool-kind tool-kind-write">Altera</span>

**Criar um episódio**, em rascunho. *Papel mínimo: apresentador do programa ou administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `show_id` | id | Sim | |
| `title` | texto | Sim | Até 200 caracteres |
| `description` | Markdown ou HTML | Não | Linhas como `00:00 Abertura` viram capítulos |
| `season`, `number` | número | Não | Temporada e número do episódio |
| `type` | `full`, `trailer` ou `bonus` | Não | Completo (padrão), trailer ou bônus |
| `is_open` | verdadeiro ou falso | Não | Episódio aberto: toca para todos os membros da comunidade |
| `chapters` | lista de `{ start_seconds, title }` | Não | Capítulos próprios, no lugar dos da descrição |
| `audio_file_url` / `audio_file_base64` | link ou base64 | Não | O áudio (ver **Arquivos**, acima) |
| `video_file_url` / `video_file_base64` | link ou base64 | Não | O vídeo |
| `cover_image_url` / `cover_image_base64` | link ou base64 | Não | A capa do episódio |

Depois, [`publish_episode`](#publish-episode).

**Peça assim:** *"Crie o episódio 4 da temporada 1 do Papo de Comunidade com o áudio deste link e estes capítulos."*

## `update_episode`

<span class="tool-kind tool-kind-write">Altera</span>

**Editar o episódio.** Os campos de [`create_episode`](#create-episode), mais `remove_media` (tira o áudio ou o vídeo; um episódio no ar precisa de um) e `remove_cover`. `chapters: null` volta a ler os capítulos da descrição. Trocar o arquivo esconde a transcrição antiga. *Papel mínimo: apresentador do programa ou administrador.*

## `delete_episode`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Apagar o episódio**, com o arquivo, os comentários e os números. *Papel mínimo: apresentador do programa ou administrador.*

## `publish_episode`

<span class="tool-kind tool-kind-write">Altera</span>

**Publicar ou agendar.** O episódio precisa de áudio ou vídeo. Na hora em que entra no ar, quem pode ouvi-lo e deixou ligada a categoria **Podcasts e vídeos** recebe um e-mail. O assistente chama primeiro com `dry_run` e diz quantas pessoas vão receber. *Papel mínimo: apresentador do programa ou administrador.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `episode` | id ou link | Sim | |
| `publish_at` | data e hora (ISO 8601) | Não | No futuro, agenda; vazia ou no passado, publica agora |
| `notify_by_email` | verdadeiro ou falso | Não | `false` publica sem e-mail |
| `dry_run` | verdadeiro ou falso | Não | Não publica: só diz quantos recebem o e-mail |

**Peça assim:** *"Agende o episódio 4 para segunda às 7h e me diga antes quantas pessoas recebem o e-mail."*

## `unpublish_episode`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Despublicar.** O episódio volta a rascunho e some para os membros; comentários, reações e números ficam guardados. *Papel mínimo: apresentador do programa ou administrador.*

## `transcribe_episode`

<span class="tool-kind tool-kind-write">Altera</span>

**Pedir a transcrição.** Usa os minutos de transcrição de IA do plano (os mesmos dos Drops). Recusada sem arquivo, acima de 4 horas, com uma transcrição já em andamento ou com a cota do mês esgotada. *Papel mínimo: apresentador do programa ou administrador.*

## `get_episode_transcript`

<span class="tool-kind tool-kind-read">Só consulta</span>

**A transcrição pronta.** *Papel mínimo: quem pode ouvi-lo.*

| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `episode` | id ou link | Sim | |
| `format` | `text`, `cues` ou `vtt` | Não | O texto (padrão), os trechos com os tempos ou a legenda WebVTT |

**Peça assim:** *"Resuma o episódio 4 a partir da transcrição e liste os trechos sobre preço."*

## `get_episode_stats`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Os números de um episódio:** plays (a partir de 30 segundos), pessoas únicas, quantas começaram, quantas chegaram a 90%, a conclusão média e a retenção em 20 trechos. *Papel mínimo: apresentador do programa ou equipe.*

## `save_episode_progress`

<span class="tool-kind tool-kind-write">Altera</span>

**Guardar onde você parou** (`position_seconds`), para continuar em qualquer aparelho. Chegar a 90% marca o episódio como concluído. *Papel mínimo: quem pode ouvi-lo.*

## `react_to_episode`

<span class="tool-kind tool-kind-write">Altera</span>

**Reagir** com 🎉 ❤️ 👍 🔥 🙌 😊 ou 👏 (uma reação por pessoa; outra troca a anterior), ou retirar a sua com `remove: true`. *Papel mínimo: quem pode ouvi-lo.*

## `list_episode_comments`

<span class="tool-kind tool-kind-read">Só consulta</span>

**Os comentários**, com as respostas. Parâmetros: `episode`, `sort` (`newest` ou `oldest`), `page`, `limit`. *Papel mínimo: quem pode ouvi-lo.*

## `create_episode_comment`

<span class="tool-kind tool-kind-write">Altera</span>

**Comentar** (até 5.000 caracteres), ou responder a um comentário (`parent_id`, um nível), opcionalmente com um Drop em vídeo (`video_file_url` ou `video_file_base64`, até 500 MB) quando a comunidade aceita Drops nos comentários. Comentar dá os pontos de engajamento uma vez por episódio. *Papel mínimo: quem pode ouvi-lo.*

## `update_episode_comment`

<span class="tool-kind tool-kind-write">Altera</span>

**Editar o seu comentário.** Parâmetros: `episode`, `comment_id`, `comment`. *Só o autor.*

## `delete_episode_comment`

<span class="tool-kind tool-kind-confirm">Pede confirmação</span>

**Apagar um comentário** e as respostas dele. *O autor, ou o proprietário, o administrador e o moderador.*

## `react_to_episode_comment`

<span class="tool-kind tool-kind-write">Altera</span>

**Reagir a um comentário**, com as mesmas reações do episódio, ou retirar a sua. *Papel mínimo: quem pode ouvir o episódio.*

## `get_my_media_queue`

<span class="tool-kind tool-kind-read">Só consulta</span>

**A sua fila**, em ordem, com os episódios dos espaços de Podcast e de Vídeos desta comunidade. *Qualquer papel.*

## `queue_episode`

<span class="tool-kind tool-kind-write">Altera</span>

**Colocar um episódio no fim da fila.** *Papel mínimo: quem pode ouvi-lo.*

## `unqueue_episode`

<span class="tool-kind tool-kind-write">Altera</span>

**Remover um episódio da fila.** O episódio não muda. *Qualquer papel.*

## `reorder_my_media_queue`

<span class="tool-kind tool-kind-write">Altera</span>

**Reordenar a fila inteira** (`episode_ids`, até 200, na ordem desejada). O episódio que ficar fora da lista sai da fila. *Qualquer papel.*

**Peça assim:** *"Coloque os três últimos episódios do Bastidores no começo da minha fila."*

## Relacionados

- [Podcast](/espacos/podcast)
- [Vídeos](/espacos/videos)
- [Todas as ferramentas](/mcp/ferramentas)
- [Dinheiro e confirmação](/mcp/dinheiro-e-confirmacao)
