Jellypod Docs

MCP tool reference

The Jellypod MCP tools, common resource arguments, and migration from the previous tool names.

Connect to https://mcp.jellypod.com/mcp and call tools/list to read the current input and output schemas. The tool set changes in place on this endpoint. Refresh cached tool definitions before updating an existing integration. REST endpoint names and request bodies remain unchanged.

Tools

ToolPurpose
get_creation_optionsDiscover product settings or available voices.
list_resourcesFind podcasts, episodes, hosts, Sources, Videos, Shorts, or Voiceovers.
get_resourceRetrieve a resource, including available progress, delivery, and transcript information.
generate_episodeCreate a podcast episode from a brief or supplied script.
generate_videoCreate a Video from a prompt and optional research Sources.
generate_shortCreate a Short from a prompt and optional research Sources.
generate_voiceoverNarrate prepared document or image Sources.
retry_generationStart another authorized generation attempt for a failed Video, Short, or Voiceover.
create_sourceAdd a URL, YouTube video, or text Source.
request_source_uploadRequest a direct file upload or an interactive picker with a Studio fallback.
complete_source_uploadComplete an uploaded Source and start processing.
save_podcastCreate or update a podcast.
save_hostCreate or update a narrator Host.
update_episodeUpdate episode details.
set_episode_publicationPublish, schedule, or unpublish an episode.
get_analyticsRetrieve podcast or episode analytics.
generate_cover_artGenerate cover art for supported podcast content.
delete_resourceDelete a supported resource, preserving confirmation checks for live content.

Grouped tools use explicit kind and id arguments. The resource kinds are podcast, episode, host, source, video, short, and voiceover; each tool's schema restricts which kinds it supports. Do not infer that a kind supported by a read tool is also supported by a destructive tool.

list_resources takes kind, with optional cursor, limit, and podcast_id for episode lists. Episode filters use episode_status; Source filters use source_status and source_type. Results return rows, hasMore, and nextCursor; pass nextCursor as cursor for the next page.

get_resource returns an envelope with kind, id, and resource, plus progress, delivery, transcript, or studio_url when applicable. Keep resource and progress fields in their returned shape rather than assuming all products share one status enum. For polling, read progress.poll_after_seconds. Product delivery uses url; episode delivery uses audio_url and video_url.

For episode transcripts, set transcript_format to json, srt, or vtt. transcript_limit bounds words for JSON or characters for captions; continue with transcript.next_offset as transcript_offset until it is null. Omit transcript fields during ordinary progress polling.

delete_resource supports only podcasts, episodes, hosts, and Sources. Use force: true for published or scheduled content only after explicit user confirmation. Podcast deletion cascades to its episodes. retry_generation supports only Videos, Shorts, and Voiceovers.

save_podcast and save_host use mode: "create" or "update", with id required for an update. Their other input fields are at the top level. set_episode_publication uses id and mode: "publish", "schedule", or "unpublish"; scheduling also requires scheduled_time.

Use generate_episode with mode: "brief" for generated content or mode: "script" for supplied narration. Read the mode-specific schema before calling it. For complete sequences, see the agent guide.

request_source_upload uses mode: "direct" by default, requiring file name, MIME type, and size. mode: "picker" needs no file metadata and returns a handoff with studio_url; its source and upload fields are absent until a file is uploaded. Preparation is automatic in both modes. Pass the completed upload’s Source ID to generation; it waits for Source processing as needed.

Source reads and lists omit metadata by default. To inspect it, call get_resource with kind: "source" and include_source_metadata: true. source_metadata contains a JSON text chunk, total characters, and next_offset. Pass that offset as metadata_offset and concatenate the chunks before parsing JSON. metadata_limit defaults to 1,000 characters (maximum 4,000). Leave metadata out when polling Source readiness.

Both podcast and episode analytics include analytics_enabled. When false, zero counters mean tracking is disabled, not measured inactivity. complete indicates whether enabled tracking data is complete.

A script request rejected with generation_preflight_rejected has not started generation. Resolve the budget or rate limit, then submit a new idempotency key. Resending the old key repeats that rejection. For uncertain acceptance, retain the original key and inspect the resource; do not submit a new one.

Migration from the previous tools

Replace each previous tool with the call below, and validate its arguments against the newly discovered schema. Existing saved resource IDs remain usable. Old tool names are not aliases on the MCP endpoint.

Previous toolCurrent call
complete_source_uploadcomplete_source_upload; refresh its schema
create_hostsave_host with mode: "create"
create_podcastsave_podcast with mode: "create"
create_sourcecreate_source; refresh its schema
delete_episodedelete_resource with kind: "episode", id
delete_hostdelete_resource with kind: "host", id
delete_podcastdelete_resource with kind: "podcast", id
delete_sourcedelete_resource with kind: "source", id
generate_cover_artgenerate_cover_art; refresh its schema
generate_episodegenerate_episode with mode: "brief"
generate_shortgenerate_short; refresh its schema
generate_videogenerate_video; refresh its schema
generate_voiceovergenerate_voiceover; refresh its schema
get_episodeget_resource with kind: "episode", id
get_episode_analyticsget_analytics with kind: "episode", id
get_episode_transcriptget_resource with kind: "episode", id, and transcript_format (json, srt, or vtt)
get_hostget_resource with kind: "host", id
get_podcastget_resource with kind: "podcast", id
get_podcast_analyticsget_analytics with kind: "podcast", id
get_shortget_resource with kind: "short", id
get_short_downloadget_resource with kind: "short", id
get_short_optionsget_creation_options with product: "short", section: "settings"
get_short_statusget_resource with kind: "short", id
get_videoget_resource with kind: "video", id
get_video_downloadget_resource with kind: "video", id
get_video_optionsget_creation_options with product: "video", section: "settings"
get_video_statusget_resource with kind: "video", id
get_voiceoverget_resource with kind: "voiceover", id
get_voiceover_downloadget_resource with kind: "voiceover", id
get_voiceover_optionsget_creation_options with product: "voiceover", section: "settings"
get_voiceover_statusget_resource with kind: "voiceover", id
import_scriptgenerate_episode with mode: "script"
list_episodeslist_resources with kind: "episode"
list_hostslist_resources with kind: "host"
list_podcastslist_resources with kind: "podcast"
list_shortslist_resources with kind: "short"
list_sourceslist_resources with kind: "source"
list_videoslist_resources with kind: "video"
list_voiceoverslist_resources with kind: "voiceover"
list_voicesget_creation_options with the intended product and section: "voices"
publish_episodeset_episode_publication with mode: "publish", id; use mode: "schedule" and scheduled_time for scheduling
request_source_uploadrequest_source_upload; refresh its schema
retry_shortretry_generation with kind: "short", id, and a new idempotency_key
retry_videoretry_generation with kind: "video", id, and a new idempotency_key
retry_voiceoverretry_generation with kind: "voiceover", id, and a new idempotency_key
unpublish_episodeset_episode_publication with mode: "unpublish", id
update_episodeupdate_episode; refresh its schema
update_hostsave_host with mode: "update", id
update_podcastsave_podcast with mode: "update", id

Was this page helpful?

Ready to create your podcast?

Go from idea to published episode in minutes. No recording, editing, or experience required.

Pricing on your terms

Pick the plan that works best for you

Pricing details

Start Podcasting

Publish your first episode in minutes

Open the Studio