Registry reference

UGC Pilot MCP tool reference

105 tools listed for https://mcp.getugcpilot.com/mcp. Names and scopes match the registered catalog. A write tool can still be closed by a live capability check.

Account, plan, brand, and media

Identify the connected account, read the plan and credits, load the business profile, and retrieve owned images and videos.

lib/mcp/read-tools.ts

get_profile

account:read

Identify the connected UGC Pilot account.

get_entitlements

account:read

Show the current plan, available credits, and generation access.

get_saas_brand

brand:read

Get the completed brand profile and grounded business context for this account.

list_assets

assets:read

Find ready assets owned by the connected account, with search and pagination.

get_asset

assets:read

Get one ready, undeleted asset owned by this account.

get_capabilities

account:read

Show generation settings usable with the current account plan.

Upload media

Reserve an upload, confirm the finished file, and delete an owned asset.

lib/mcp/mutation-tools.ts

create_upload

assets:write

Reserve a media asset and return a temporary upload URL. Preserve an optional request_id before calling to recover a lost response without a duplicate reservation. This does not make the asset ready. confirm_upload verifies the stored bytes and marks the asset ready.

confirm_upload

assets:write

Verify an owned temporary upload in storage and make its asset ready. create_upload and renew_upload only reserve or refresh the transfer link. This does not spend credits.

delete_asset

assets:write

Delete one owned media asset. Unconfirmed MCP uploads are removed from storage; ready assets remain soft-deleted. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

Generate images and video

Queue image and short-video jobs against the account plan, then read job status.

lib/mcp/generation-tools.ts

generate_image

generation:write

Reserve image credits and queue 1, 2, or 4 images. Reusing the request ID with the same input returns the existing jobs. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

generate_video

generation:write

Reserve video credits by duration and queue 1, 2, or 4 videos. Reusing the request ID with the same input returns the existing jobs. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

get_job

jobs:read

Check an owned MCP image or video job and retrieve its completed output asset ID.

Finish a video

Compose hook text, trims, volume, framing, a demo clip, and optional subtitles on owned footage.

lib/mcp/finishing-tools.ts

get_video_finishing_capabilities

account:read

Check this account's video editing/composition rollout and prerequisites without submitting work.

finish_video

creative:write

Save and queue owned video edits or opening-plus-demo composition. Prepare edits/framing in separate stages before demo/subtitle composition. Reuse the exact request key and draft after interruption; returns a durable receipt, not an instant video. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

get_video_finish

jobs:read

Read an owned saved video-finishing receipt by request key, including website requests. Never submits or requeues work; remains available when creation is disabled.

Demo clips

Register, list, read, and delete owned product-demo clips.

lib/mcp/demo-tools.ts

register_demo

assets:write

Register a confirmed create_upload/confirm_upload video in the application's dedicated Demo library. Requires 1–60 seconds and at most 100 MB. Keeps the same asset ID for attaching it to hooks. Replay preserves website edits; no new upload or render is submitted.

list_demos

assets:read

Browse the connected account's dedicated Demo library, including website demos and unfinished uploads. Use get_demo to check whether a demo has a ready asset for composition.

get_demo

assets:read

Get an owned Demo record and its ready source asset ID, when available. Retrieve playable media through get_asset. Does not expose raw storage keys or draft internals.

delete_demo

assets:write

Remove an owned Demo and its linked source asset from the active libraries together. Retains stored bytes for existing renders. Repeating deletion is safe; does not cancel jobs or erase finished outputs. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

Recover uploads

Find an interrupted upload, list recent reservations, and renew one that is still valid.

lib/mcp/upload-recovery-tools.ts

get_upload

assets:read

Recover one owned MCP upload by saved upload ID or stable request ID. Returns metadata, not signed URLs or storage keys.

list_uploads

assets:read

Find owned pending MCP upload reservations, including older reservations whose response was lost. Never creates a replacement upload.

renew_upload

assets:write

Renew the create-only PUT link for the same owned pending reservation. If bytes already exist, confirm the existing upload instead of transferring again. Renewing a link does not make the asset ready; confirm_upload verifies the stored bytes.

Operations

List owned work, read one operation, and cancel or retry it when the contract allows.

lib/mcp/operation-tools.ts

list_operations

jobs:read

Discover owned application and MCP jobs across generation, finishing, and preparation. Returns safe status summaries without inputs, diagnostics or provider/storage identifiers.

get_operation

jobs:read

Read any owned customer job, its safe retry/cancellation status and verified completed output IDs. Recover finishing or saved Edit export request IDs when available; use get_video_finish or get_edit_export for their receipts. Never submits work.

cancel_operation

jobs:write

Request cancellation of the selected owned job using the application's existing cancellation policy. Running work may stop asynchronously. Reuse saved inputs after a lost response.

retry_operation

jobs:write

Retry a supported owned failed/stalled job using existing attempt, provider and original-plan credit rules. May reserve credits again. Save the request ID and exact revision before calling; replay recovers this action without funding another retry. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

Edit drafts

Open, list, read, and save the same video edit draft used in the studio.

lib/mcp/edit-draft-tools.ts

list_edit_drafts

assets:read

List the connected account's existing Edit-page projects and saved drafts, including website edits. Explore compositions and slideshows use separate draft systems. No render is submitted.

get_edit_draft

assets:read

Read the exact saved Edit-page trim/text draft and its revision. Returns a ready owned source asset ID for get_asset when available; no private URLs or storage/provider details. Does not render.

update_edit_draft

creative:write

Save trim and up to three text overlays to the SAME draft used by the Edit page. Blank text is allowed. Read its revision first; save a stable request UUID and reuse every input after a lost response. A conflict requires rereading and explicitly reconciling edits. Saving does not generate/export media or spend credits. The response is the accepted snapshot; reread before making later edits after recovery.

open_edit_draft

creative:write

Open or create the application's Edit-page draft for one ready owned raw video/influencer asset. Resolve the asset through list_assets/get_asset first. Reopening or retrying the same asset returns its current saved draft, preserving text, trims, revision and render history. Source metadata initializes new drafts only. No video is generated/rendered, no credits are spent, and Explore compositions/slideshows are separate.

Export edits

Check export support, export one saved revision, and read that export.

lib/mcp/edit-export-tools.ts

get_edit_export_capabilities

account:read

Check dedicated Edit-page export availability without submitting a render. Uses the application's existing trim/text renderer and saved draft revisions.

export_edit_draft

creative:write

Render the selected SAVED Edit-page draft revision with the website's renderer. Read/save the draft first. This submits real video processing and does not spend generation credits. Use only for a requested export. Save a request UUID and reuse it with identical draft ID/revision after interruption; it recovers one durable job without rendering newer edits. Returns a receipt, not an immediate download. Check get_edit_export, then get_asset for the ready output.

get_edit_export

jobs:read

Read one owned Edit export by its saved request UUID. Does not submit, requeue or regenerate media. Recover the exported revision/job and verified ready output asset ID; remains available when creation is disabled. Removed outputs are reported as unavailable.

Speech and audio

Read audio readiness, list voices, generate speech, and manage private recordings.

lib/mcp/audio-tools.ts

get_audio_capabilities

account:read

Read account-specific audio generation/model/cost readiness without generating speech or modifying private voice verification. Reports MCP upload/download/clone limits separately from website capability.

list_audio_voices

assets:read

Browse the current account's permitted voice catalogue. Public preview voices can be listed without generation access. Read-only: does not verify/promote private voices, generate a sample, or supply a storage URL.

list_audio_assets

assets:read

Page through owned saved audio metadata, excluding deleted recordings. Audio uses a separate private library. usable_for_video excludes reference recordings and free test audio; these IDs are not generic get_asset IDs. Use import_audio_for_video to create a separate editing snapshot.

get_audio_asset

assets:read

Read owned private audio metadata and an expiring verified download link when ready/configured. Feed the link to the local binary helper; refresh this read if it expires. Free tests/reference recordings stay ineligible for video use. Does not copy or convert the record into a visual-media-library asset.

list_audio_generations

jobs:read

Page through owned website and MCP audio request history with stable request UUIDs, safe states and verified completed generated audio IDs. Hides scripts, provider diagnostics and storage. Does not resume or requeue jobs.

get_audio_generation

jobs:read

Recover audio generation by the saved CLIENT request UUID, including after a lost submission response. Unconfirmed does not prove no submission. Read-only across generation rollout/plan changes; never dispatches a job.

generate_audio

generation:write

Generate requested speech using the application's existing voices, models, plan/rollout/quota/credit rules. May spend credits and provider allowance. Save a new request UUID and exact inputs before submission; recover with get_audio_generation, or replay identical inputs. Do not generate to test connectivity. Output is a private audio-library ID; use get_audio_asset for its expiring download, while video import remains a separate adapter. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

get_audio_preferences

assets:read

Read the same saved voice selection and bookmarks as the website. Preferences do not grant access to a voice; resolve IDs against list_audio_voices before generating.

set_audio_voice_selection

assets:write

Save the user's requested voice preference in the website's shared account record. Idempotent assignment; does not grant voice access or generate speech.

set_audio_voice_bookmark

assets:write

Bookmark or remove the selected voice bookmark using the same account preferences as the website. Repeating the same assignment is safe. Does not grant voice access or generate speech.

create_audio_upload

assets:write

Prepare a requested local audio transfer from measured file metadata/SHA-256. Save the request UUID and exact file/purpose before calling. Returns a short-lived content-bound POST link, not an uploaded asset. There is no separate audio confirm tool: the helper POST stores the bytes. Use the local binary helper to send exact bytes; recover with get_audio_generation by the same UUID or renew this identical intent. Three MB/three minute audio limit; uses the website's existing plan/quota/replay service. Never accepts arbitrary source URLs or uploads just to test connection.

Attach audio to video

Import an eligible recording onto a video edit and read that import.

lib/mcp/audio-video-import-tools.ts

import_audio_for_video

assets:write

Copy explicitly selected owned ready saved audio into an independent video-editing audio snapshot, matching the website's attachment flow. Excludes voice references and free tests. Save a request UUID before calling; reuse it after a lost response. Only a ready media_asset_id can be used as finish_video's demoAudioAssetId or backgroundAssetId. Uses the current media-upload storage policy; the private original remains private. Does not render or charge generation credits. import_id identifies this separate copy for delete_asset, including a pending copy; deleting it does not delete the original private audio.

get_audio_video_import

assets:read

Recover a saved audio-to-video import by its CLIENT request UUID. Read-only: never copies bytes, creates a reservation, or renders. Unconfirmed does not prove no request was accepted. import_id identifies this separate copy for delete_asset; media_asset_id is ready-only for finishing. A ready media_asset_id is a separate editing snapshot, usable even if its original audio is later retired.

References and remix

Browse reviewed references and remix their text into a new draft.

lib/mcp/reference-tools.ts

get_reference_capabilities

account:read

Read reference/text-remix access and runtime readiness without initializing credits, extracting text or calling a provider.

list_references

assets:read

Browse the Hook, Wall-of-Text, and slideshow reference catalogue in the application, including slide IDs and supplied paired soundtrack metadata. Catalogue identities are distinct from owned media IDs; this does not upload, transcribe or render anything.

get_reference

assets:read

Retrieve one application reference and its existing reviewed text. Select a slide_id for slideshow text. Reports missing/unreviewed extraction without generating it. Uses the application's text access policy.

remix_reference_text

generation:write brand:read

Generate and save a requested business-specific text remix through the application's same provider/claim service. This does not deduct account credits; it uses the daily remix quota and may initialize the one-time free allowance. Save the caller's stable requestKey and exact inputs before calling; recover interrupted or uncertain work with get_text_remix. This does not edit a draft or render media.

get_text_remix

jobs:read

Read and verify an owned saved application or MCP text-remix result by its caller request UUID. Never claims, calls a provider or retries. Remains readable after plan/gate changes; pending/failed work is not automatically repeated.

list_text_remixes

jobs:read

Discover this account's saved website/MCP text-remix request keys, status and timestamps. Metadata only; recover a selected result with get_text_remix. No provider call or current creation access is required.

Creative asset groups

Browse owned image and video groups and change membership when the write gate is open.

lib/mcp/creative-group-tools.ts

get_asset_group_capabilities

account:read

Read Creative Asset group support and write gate. No media writes, billing, schema changes or rendering.

list_asset_groups

assets:read

Browse this account's application Creative Asset video/image groups. Generic assets and Carousel Library are separate surfaces.

get_asset_group

assets:read

Read an owned group and revision covering its metadata and full membership. Save this revision before a requested change; reading does not mutate it.

list_asset_group_items

assets:read

Browse an owned group's exact membership at its saved revision. Unavailable members are marked without leaking removed media metadata; get_asset delivers ready media. A changing group requires a fresh read.

create_asset_group

assets:write

Create a requested application Creative Asset group. Caller request_id is also its stable group ID; preserve identical inputs for recovery. No media is created. Save the request UUID/inputs before submission; recover interruption using get_asset_group_request.

rename_asset_group

assets:write

Rename the selected owned group at its exact revision. Stale metadata/membership returns a conflict without overwriting newer website changes. Save the request UUID/inputs before submission; recover interruption using get_asset_group_request.

delete_asset_group

assets:write

Delete the selected group and its membership at an exact revision. Preserves all media files/library assets. This group removal has no application undo; only perform when explicitly requested. Save the request UUID/inputs before submission; recover interruption using get_asset_group_request. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

add_assets_to_group

assets:write

Add 1-100 selected owned ready Creative Assets matching the group type, atomically at its exact revision. Full batch rejects invalid/foreign/hidden inputs; preserves a receipt before responding. Save the request UUID/inputs before submission; recover interruption using get_asset_group_request.

remove_assets_from_group

assets:write

Remove selected membership links at the group's exact revision. Preserves all media and other groups. Unavailable members may be removed using their verified membership IDs. Save the request UUID/inputs before submission; recover interruption using get_asset_group_request.

get_asset_group_request

assets:read

Recover the immutable owned result of an accepted group change without reapplying it. Later website edits/deletions are preserved; receipt state is historical, use get_asset_group for current state.

list_asset_group_requests

assets:read

Discover lost owned group-change request UUIDs and operation timestamps. Does not expose another account or repeat changes.

Library

Read saved carousel and slideshow library items, and save or archive them when writes are enabled.

lib/mcp/library-content-tools.ts

get_library_capabilities

account:read

Read Library save/removal gates and supported source types. A catalogue entry does not prove schema rollout or rendering support.

list_library_items

assets:read

Browse this account's actual saved Carousel/slideshow Library with ordered rendered slides. Library IDs differ from media asset IDs. Optional removed entries are tombstones; this is not generic demo footage listing.

get_library_item

assets:read

Read the selected owned Library snapshot, ordered rendered outputs, removal state and exact revision. Does not edit or restore it.

save_slideshow_to_library

assets:write

Save 2-10 selected owned READY raster outputs in exact order through the application's slideshow validator/transaction. This saves already rendered images; it does not render text overlays. Catalogue references are optional guidance and never silently enter the output. Preserve request UUID/inputs for recovery.

remove_library_item

assets:write

Archive the explicitly selected Library entry at its exact revision, matching the application's metadata-only removal. Preserves source media and saved slide files. Preserve request UUID/inputs for recovery.

get_library_request

assets:read

Recover the immutable accepted Library result without repeating its save or removal. Receipt state is historical; get_library_item gives current state. Works after write gates or plan/media readiness change.

list_library_requests

assets:read

Discover this account's accepted Library request UUIDs and timestamps after an interruption. Does not repeat any write.

Account defaults

Read account defaults and recover settings receipts. Default updates use a separate account:write consent.

lib/mcp/account-settings-tools.ts

get_account_settings_capabilities

account:read

Read account-default settings support and rollout gate. Does not initialize timezone or change defaults.

get_account_settings

account:read

Read persisted account settings and the account timezone without initializing either. Returns distinct revisions for settings and timezone.

initialize_account_timezone

account:write

Initialize an unset persisted account timezone at its saved timezone_revision, matching the application's initialize-once policy. An already initialized timezone is preserved, even when another zone is supplied. Preserve request UUID/inputs for recovery.

get_account_settings_request

account:read

Recover an owned immutable accepted settings receipt without applying it again. Its state is historical: get_account_settings shows current values. Works while new writes are disabled.

list_account_settings_requests

account:read

Discover accepted account settings request UUIDs and timestamps after interruption. Reads only the connected account; never resubmits a change.

Business context

Read the business profile and recover context receipts. Draft and profile writes require their consent and rollout gate.

lib/mcp/business-context-tools.ts

get_business_context_capabilities

brand:read

Read Business Context editing gate and limits. Does not analyze a website, initialize onboarding, alter a profile or generate content.

get_business_context

brand:read

Read the active Business Context, goals and shared Settings draft with exact revisions and factual readiness. Missing profile is null. Reads never start analysis, onboarding or content generation.

save_business_context_draft

brand:write

Save the requested Business Context into the application's shared Settings draft without changing active profile/version. Preserves saved goals and rejects stale context/profile/draft revisions. No provider request. Requires brand:write and enabled gate; preserve UUID and exact inputs.

apply_business_context

brand:write

Apply exactly reviewed Business Context to a new active profile version using the website's atomic promotion. Requires factual anchors, current context/profile/draft revisions, fresh brand:write consent and enabled gate. Existing content and today's pinned pack stay unchanged; next local-day content uses the new version. Preserve UUID and exact inputs for recovery. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

get_business_context_request

brand:read

Recover an owned immutable accepted Business Context receipt without repeating a save or apply. Its state is historical; get_business_context reads current website state. Works while writes are disabled.

list_business_context_requests

brand:read

Discover accepted Business Context request UUIDs after interruption using owner-scoped stable paging. Never repeats a mutation.

Business onboarding

Read saved onboarding progress and receipts. Requested onboarding changes require their consent and rollout gate.

lib/mcp/business-onboarding-tools.ts

get_business_onboarding_capabilities

brand:read

Read onboarding storage, background enrollment and analysis queue configuration. Read capability calls never start analysis, grant application access or prepare content. Saved mode must be read with get_business_onboarding; enrollment does not replace persisted legacy/draft state.

get_business_onboarding

brand:read

Read your existing website onboarding mode, profile completion, saved background answers and analysis/finalization job IDs, or the latest 20 legacy setup jobs. Missing profile/draft is null. Never starts or retries analysis, submits setup, changes goals/logos or renders content. Job IDs can be used with get_job for current status. Reads are observations, not an atomic mutation receipt.

mutate_business_onboarding

brand:write

Start or resume the application's saved onboarding: website, manual details/description or mobile-app IDE facts; save identity and verified owned logo; save goals; submit goals/timezone; reopen a background submission. Use the exact expected_state from get_business_onboarding and a saved UUID. Omit logo_storage_key to preserve the current logo, null to remove it. Legacy edit/reopen is unsupported. Requires brand:write, deployed schema and an enabled write gate. Start can analyze a source; submit can activate application access/trial and prepare Trending content. Preserve exact UUID/inputs; recover receipts after a lost response before any new action. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

get_business_onboarding_request

brand:read

Recover your immutable accepted onboarding receipt and durable job IDs without repeating the action. Accepted answers/profile are historical; get_business_onboarding reads current progress. Works while onboarding writes are disabled. Use get_operation/retry_operation only under their supported job policies.

list_business_onboarding_requests

brand:read

Discover your accepted onboarding UUIDs with stable owner-bound paging after interruption. Never repeats setup, submits goals or prepares content.

Scheduling

Read owned connections and schedules. Schedule creation requires explicit confirmation, consent and its rollout gate.

lib/mcp/scheduling-tools.ts

get_scheduling_capabilities

publishing:read

Read whether the account's existing Scheduling service is configured. This does not connect a social account, create a post, publish media, or alter publishing defaults.

list_social_connections

publishing:read

List social accounts owned by the connected UGC Pilot account. Returns connection health and public account labels only; it never returns OAuth tokens, provider credentials, or hidden scheduler data.

list_schedules

publishing:read

List this account's existing schedules and safe per-target delivery state. Filter to a narrow ISO date range when possible. The output excludes provider credentials, target settings, scheduler identifiers, and internal metadata.

get_schedule

publishing:read

Read one schedule owned by this account, including safe target delivery state. Use the returned updated_at only for later gated editing when that feature becomes available.

create_schedule

publishing:write

Create one requested future schedule for selected owned media or a saved Library item and selected owned social connections. Requires an explicit schedule time and stable request ID. This does not connect a social account, publish immediately, edit/cancel/retry a schedule, or return provider credentials. The first call without confirm_token returns a preview and does not perform the action. Show that preview to the user and ask for an explicit yes. Pass the returned confirm_token only after they agree. The token expires in 10 minutes, works once, and fails if the account, tool, or arguments change.

Saved social analytics

Read owner-scoped saved analytics snapshots with the required consent and verified identity. Reads do not refresh providers.

lib/mcp/analytics-tools.ts

get_analytics_capabilities

analytics:read

Check whether the connected account may read its saved social analytics. This never contacts a social provider, refreshes reports, or changes any connection.

get_instagram_account_analytics

analytics:read

Read the connected account's saved Instagram account insights for one range. This returns only stored snapshots and never refreshes Meta data.

get_instagram_content_analytics

analytics:read

Read saved Instagram post, Reel, and carousel metrics for one range. This never contacts Meta or starts a refresh; truncated results state the saved total.

get_tiktok_analytics

analytics:read

Read saved TikTok video analytics for the connected account. This never contacts TikTok, accesses publishing records, or starts a refresh.

get_youtube_analytics

analytics:read

Read saved YouTube channel and uploaded-video analytics for the connected account. This never contacts YouTube or starts a refresh.