# Tools · Podcast and Videos

> MCP tools for the Podcast and Videos modules: shows and presenters, episodes with audio, video, cover and chapters, publishing and scheduling with the e-mail's reach, transcripts, numbers, and for listeners the point where they stopped, reactions, comments and the queue.

The [Podcast](/espacos/podcast) and [Videos](/espacos/videos) modules through the assistant: creating shows and picking presenters, creating episodes by sending the audio or the video by link or file, publishing or scheduling knowing first how many people get the e-mail, transcribing, seeing the numbers and, for listeners, saving the point, reacting, commenting and organizing the queue.

Each tool carries a badge: <span class="tool-kind tool-kind-read">Read-only</span> changes nothing, <span class="tool-kind tool-kind-write">Changes</span> creates or changes something right away, and <span class="tool-kind tool-kind-confirm">Asks to confirm</span> only acts after your yes to a summary. See [Money and confirmation](/mcp/dinheiro-e-confirmacao).

## In short

| Tool | What it does | Minimum role | Type |
|---|---|---|---|
| [`list_shows`](#list-shows) | The shows in a space | Anyone who sees the space | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`get_show`](#get-show) | One show, with its presenters | Anyone who sees the space | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`create_show`](#create-show) | Creates a show, with cover and presenters | Admin | <span class="tool-kind tool-kind-write">Changes</span> |
| [`update_show`](#update-show) | Edits the show | Admin | <span class="tool-kind tool-kind-write">Changes</span> |
| [`delete_show`](#delete-show) | Deletes the show and its episodes | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> |
| [`add_show_presenter`](#add-show-presenter) | Makes someone a presenter of the show | Admin | <span class="tool-kind tool-kind-write">Changes</span> |
| [`remove_show_presenter`](#remove-show-presenter) | Removes someone from the presenters | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> |
| [`get_show_stats`](#get-show-stats) | The show's numbers, per episode | Presenter or team | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`list_episodes`](#list-episodes) | A show's episodes | Anyone who sees the space | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`get_episode`](#get-episode) | One episode, by id or by link | Whoever can listen to it | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`create_episode`](#create-episode) | Creates an episode (draft) with audio or video | Presenter or admin | <span class="tool-kind tool-kind-write">Changes</span> |
| [`update_episode`](#update-episode) | Edits the episode, swaps the file and the chapters | Presenter or admin | <span class="tool-kind tool-kind-write">Changes</span> |
| [`delete_episode`](#delete-episode) | Deletes the episode | Presenter or admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> |
| [`publish_episode`](#publish-episode) | Publishes now or schedules; `dry_run` says how many get the e-mail | Presenter or admin | <span class="tool-kind tool-kind-write">Changes</span> |
| [`unpublish_episode`](#unpublish-episode) | Sends the episode back to draft | Presenter or admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> |
| [`transcribe_episode`](#transcribe-episode) | Asks for the transcript | Presenter or admin | <span class="tool-kind tool-kind-write">Changes</span> |
| [`get_episode_transcript`](#get-episode-transcript) | The transcript as text, cues or captions | Whoever can listen to it | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`get_episode_stats`](#get-episode-stats) | An episode's numbers | Presenter or team | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`save_episode_progress`](#save-episode-progress) | Saves where you stopped | Whoever can listen to it | <span class="tool-kind tool-kind-write">Changes</span> |
| [`react_to_episode`](#react-to-episode) | Reacts to the episode | Whoever can listen to it | <span class="tool-kind tool-kind-write">Changes</span> |
| [`list_episode_comments`](#list-episode-comments) | The episode's comments | Whoever can listen to it | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`create_episode_comment`](#create-episode-comment) | Comments or replies, with an optional Drop | Whoever can listen to it | <span class="tool-kind tool-kind-write">Changes</span> |
| [`update_episode_comment`](#update-episode-comment) | Edits your comment | The author | <span class="tool-kind tool-kind-write">Changes</span> |
| [`delete_episode_comment`](#delete-episode-comment) | Deletes a comment and its replies | The author or moderator | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> |
| [`react_to_episode_comment`](#react-to-episode-comment) | Reacts to a comment | Whoever can listen to it | <span class="tool-kind tool-kind-write">Changes</span> |
| [`get_my_media_queue`](#get-my-media-queue) | Your queue | Any | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`queue_episode`](#queue-episode) | Puts an episode at the end of the queue | Whoever can listen to it | <span class="tool-kind tool-kind-write">Changes</span> |
| [`unqueue_episode`](#unqueue-episode) | Removes an episode from the queue | Any | <span class="tool-kind tool-kind-write">Changes</span> |
| [`reorder_my_media_queue`](#reorder-my-media-queue) | Reorders the whole queue | Any | <span class="tool-kind tool-kind-write">Changes</span> |

The space is created with [`create_space`](/mcp/ferramentas-comunidade#create-space) and `module: "podcast"` or `"videos"`, with `mode` `single` (one show) or `multi` (several). A **presenter** is the member or moderator picked for a show: the episode tools show up for every role, and Memberfy refuses whoever isn't the owner, an admin or a presenter of that show. **Team**, for the numbers, means owner, admin, moderator and finance.

**Files.** The audio (MP3, M4A or AAC, up to 500 MB; WAV is refused) and the video (MP4, WebM or MOV, up to 4 GB) go by public link (`audio_file_url`, `video_file_url`), which Memberfy downloads and keeps in a private area, or in base64 up to about 7 MB (`audio_file_base64` with `audio_file_type`, `video_file_base64`). Covers go by `cover_image_url` or `cover_image_base64`. An episode has audio **or** video, never both. A WAV is refused with an error pointing at the `mimeType` field. The confirmation summaries of [`delete_episode`](#delete-episode), [`unpublish_episode`](#unpublish-episode) and [`remove_show_presenter`](#remove-show-presenter) carry the show's name in `show_title`, so you can check it before saying yes.

## `list_shows`

<span class="tool-kind tool-kind-read">Read-only</span>

**The shows in a space**, with cover, presenters and how many episodes each one has. *Minimum role: anyone who sees the space.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `space` | id or link | Yes | The Podcast or Videos space |

**Ask like this:** *"What shows are in the Audio space?"*

## `get_show`

<span class="tool-kind tool-kind-read">Read-only</span>

**One show**, with description, category, language, author, presenters and whether it transcribes every episode. *Minimum role: anyone who sees the space.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `show_id` | id | Yes | The show ([`list_shows`](#list-shows)) |

## `create_show`

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

**Create a show.** *Minimum role: admin.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `space` | id or link | Yes | The Podcast or Videos space |
| `title` | text | Yes | Up to 200 characters |
| `description` | Markdown or HTML | No | |
| `category` | text | No | The category in English (`Business`, `Education`, `Technology`…) |
| `language` | text | No | `pt-BR`, `en-US`… |
| `explicit` | true or false | No | Explicit content |
| `author_name` | text | No | Who signs the show |
| `auto_transcribe` | true or false | No | Transcribe every episode when it goes live (Podcast; on by default) |
| `presenter_ids` | list of ids | No | The presenters (members or moderators; [`list_members`](/mcp/ferramentas-membros#list-members)) |
| `cover_image_url` / `cover_image_base64` | link or base64 | No | The cover, square |

**Ask like this:** *"In the Audio space, create the show Community Talk, in English, Business category, with Maria as presenter."*

## `update_show`

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

**Edit the show.** The same fields as [`create_show`](#create-show) (except `space` and `presenter_ids`), plus `remove_cover`. Only what you send changes. *Minimum role: admin.*

## `delete_show`

<span class="tool-kind tool-kind-confirm">Asks to confirm</span>

**Delete the show**, with its episodes, comments and numbers. The summary says how many episodes go. *Minimum role: admin.*

## `add_show_presenter`

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

**Make someone a presenter.** They start creating, editing, publishing and transcribing this show's episodes, and only this show's, and seeing the numbers. *Minimum role: admin.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `show_id` | id | Yes | |
| `member_id` | id | Yes | A member or moderator of this community |

## `remove_show_presenter`

<span class="tool-kind tool-kind-confirm">Asks to confirm</span>

**Remove someone from the presenters.** What they published stays. Parameters: `show_id` and `member_id`. *Minimum role: admin.*

## `get_show_stats`

<span class="tool-kind tool-kind-read">Read-only</span>

**The show's numbers**, in total and per episode: plays (from 30 seconds), unique people, how many reached 90% and the average completion. *Minimum role: the show's presenter or team.*

**Ask like this:** *"Which Community Talk episode was listened to the most?"*

## `list_episodes`

<span class="tool-kind tool-kind-read">Read-only</span>

**A show's episodes.** Whoever doesn't manage the show only sees the live ones. *Minimum role: anyone who sees the space.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `show_id` | id | Yes | |
| `status` | `draft`, `scheduled` or `published` | No | Drafts and scheduled ones, only for whoever manages |
| `season` | number | No | The season |
| `order` | `newest` or `oldest` | No | |
| `page`, `limit` | number | No | Up to 100 per page |

## `get_episode`

<span class="tool-kind tool-kind-read">Read-only</span>

**One episode**, with description, chapters, the point where you stopped, the reactions and, for whoever manages, the transcript's state. Accepts the id or the app link (including the one in the notice e-mail). *Minimum role: whoever can listen to it.*

## `create_episode`

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

**Create an episode**, as a draft. *Minimum role: the show's presenter or admin.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `show_id` | id | Yes | |
| `title` | text | Yes | Up to 200 characters |
| `description` | Markdown or HTML | No | Lines like `00:00 Intro` become chapters |
| `season`, `number` | number | No | Season and episode number |
| `type` | `full`, `trailer` or `bonus` | No | Full (default), trailer or bonus |
| `is_open` | true or false | No | Open episode: plays for every member of the community |
| `chapters` | list of `{ start_seconds, title }` | No | Custom chapters, instead of the description's |
| `audio_file_url` / `audio_file_base64` | link or base64 | No | The audio (see **Files**, above) |
| `video_file_url` / `video_file_base64` | link or base64 | No | The video |
| `cover_image_url` / `cover_image_base64` | link or base64 | No | The episode's cover |

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

**Ask like this:** *"Create episode 4 of season 1 of Community Talk with the audio from this link and these chapters."*

## `update_episode`

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

**Edit the episode.** The fields of [`create_episode`](#create-episode), plus `remove_media` (removes the audio or the video; a live episode needs one) and `remove_cover`. `chapters: null` goes back to reading the chapters from the description. Replacing the file hides the old transcript. *Minimum role: the show's presenter or admin.*

## `delete_episode`

<span class="tool-kind tool-kind-confirm">Asks to confirm</span>

**Delete the episode**, with its file, comments and numbers. *Minimum role: the show's presenter or admin.*

## `publish_episode`

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

**Publish or schedule.** The episode needs audio or video. When it goes live, whoever can listen to it and left the **Podcasts and videos** category on gets an e-mail. The assistant first calls it with `dry_run` and tells you how many people will get it. *Minimum role: the show's presenter or admin.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `episode` | id or link | Yes | |
| `publish_at` | date and time (ISO 8601) | No | In the future, schedules; empty or in the past, publishes now |
| `notify_by_email` | true or false | No | `false` publishes without an e-mail |
| `dry_run` | true or false | No | Doesn't publish: only says how many get the e-mail |

**Ask like this:** *"Schedule episode 4 for Monday at 7 a.m. and tell me first how many people get the e-mail."*

## `unpublish_episode`

<span class="tool-kind tool-kind-confirm">Asks to confirm</span>

**Unpublish.** The episode goes back to draft and disappears for members; comments, reactions and numbers are kept. *Minimum role: the show's presenter or admin.*

## `transcribe_episode`

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

**Ask for the transcript.** Uses the plan's AI transcription minutes (the same as Drops). Refused without a file, over 4 hours, with a transcript already in progress or with the month's quota used up. *Minimum role: the show's presenter or admin.*

## `get_episode_transcript`

<span class="tool-kind tool-kind-read">Read-only</span>

**The finished transcript.** *Minimum role: whoever can listen to it.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `episode` | id or link | Yes | |
| `format` | `text`, `cues` or `vtt` | No | The text (default), the cues with their times or the WebVTT captions |

**Ask like this:** *"Summarize episode 4 from the transcript and list the parts about pricing."*

## `get_episode_stats`

<span class="tool-kind tool-kind-read">Read-only</span>

**An episode's numbers:** plays (from 30 seconds), unique people, how many started, how many reached 90%, the average completion and the retention across 20 parts. *Minimum role: the show's presenter or team.*

## `save_episode_progress`

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

**Save where you stopped** (`position_seconds`), to continue on any device. Reaching 90% marks the episode as finished. *Minimum role: whoever can listen to it.*

## `react_to_episode`

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

**React** with 🎉 ❤️ 👍 🔥 🙌 😊 or 👏 (one reaction per person; another one replaces the previous), or remove yours with `remove: true`. *Minimum role: whoever can listen to it.*

## `list_episode_comments`

<span class="tool-kind tool-kind-read">Read-only</span>

**The comments**, with their replies. Parameters: `episode`, `sort` (`newest` or `oldest`), `page`, `limit`. *Minimum role: whoever can listen to it.*

## `create_episode_comment`

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

**Comment** (up to 5,000 characters), or reply to a comment (`parent_id`, one level), optionally with a video Drop (`video_file_url` or `video_file_base64`, up to 500 MB) when the community accepts Drops in comments. Commenting gives the engagement points once per episode. *Minimum role: whoever can listen to it.*

## `update_episode_comment`

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

**Edit your comment.** Parameters: `episode`, `comment_id`, `comment`. *Only the author.*

## `delete_episode_comment`

<span class="tool-kind tool-kind-confirm">Asks to confirm</span>

**Delete a comment** and its replies. *The author, or the owner, the admin and the moderator.*

## `react_to_episode_comment`

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

**React to a comment**, with the same reactions as the episode, or remove yours. *Minimum role: whoever can listen to the episode.*

## `get_my_media_queue`

<span class="tool-kind tool-kind-read">Read-only</span>

**Your queue**, in order, with the episodes from this community's Podcast and Videos spaces. *Any role.*

## `queue_episode`

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

**Put an episode at the end of the queue.** *Minimum role: whoever can listen to it.*

## `unqueue_episode`

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

**Remove an episode from the queue.** The episode doesn't change. *Any role.*

## `reorder_my_media_queue`

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

**Reorder the whole queue** (`episode_ids`, up to 200, in the desired order). An episode left out of the list leaves the queue. *Any role.*

**Ask like this:** *"Put the last three Behind the Scenes episodes at the start of my queue."*

## Related

- [Podcast](/espacos/podcast)
- [Videos](/espacos/videos)
- [All tools](/mcp/ferramentas)
- [Money and confirmation](/mcp/dinheiro-e-confirmacao)
