0.2.1

    io.github.poweredbyGEN/gen-mcp-server

    The auto-content engine for ads, cartoons, AI UGC, and microdramas, with a free video editor.

    Rank#300
    poweredbyGENmcp-registryApi wrapperLast scanned Oct 4, 2026, 02:41 AMhttps://github.com/poweredbyGEN/gen-mcp-server
    Created
    7 months ago
    Last commit
    2 months ago

    Security Findings

    Tool name/behavior mismatch2×

    MaliciousScanner

    gen_ask: Handler sends "auto_confirm": true to /agent/run, automatically approving the platform's pending agent action gates, while the description only mentions polling to completion and never discloses auto-approval (a separate gen_decide_agent_run tool exists for manual gate approval).

    gen_chat: Handler sends "auto_confirm": true when starting a composer run, silently bypassing the platform's awaiting_approval action gates; the description presents this as a build/planning tool and does not disclose automatic confirmation of pending actions.

    Dangerous parameter surface

    SuspiciousScanner

    1 tool(s) expose a command-execution parameter: gen_generate_voice_description.script

    No license file

    SuspiciousLineage

    No license file at the repo root and GitHub's licenseInfo is empty — code's legal status is unclear

    No tagged releases

    SuspiciousLineage

    Repo ships no git tags and no GitHub releases — consumers cannot pin to stable, reviewable versions

    Tools

    150 tools exposed by this MCP server

    3 high risk147 clean

    gen_ask

    Step 2 (Content Ideas): Ask GEN a question about real social media data and get an answer grounded in the GEN data warehouse. Use for any question about a video link, account, hashtag, trend, sound, hook, comment, or creator — across TikTok, Instagram, YouTube, and more. Examples: 'What is this TikTok about? https://tiktok.com/@x/video/123', 'Top creators in #skincare last 30 days', 'Best time to post for fitness content'. Paste social/video links directly in the question. Polls /agent/run to completion by default.

    High Risk
    src/gen_mcp_server/server.py

    gen_chat

    Step 2 (Content Ideas): Send an open-ended natural-language BUILD goal to the GEN composer. Use for multi-step goals like 'Create a 5-scene video about Roman history and schedule it' or 'Duplicate this row and make it punchier'. The composer plans and executes across the GEN platform. For questions about data/videos/creators, use gen_ask instead. For exact single operations, use the specific gen_* tool.

    High Risk
    src/gen_mcp_server/server.py

    gen_generate_voice_description

    Step 1 (Agent Setup) — Voice design 2/4: generate style descriptors (tone, pace, energy). Requires gender.

    High Risk
    src/gen_mcp_server/server.py

    gen_add_agent_account

    Step 1 (Agent Setup): Add one social account to the agent (the agent's OWN account, not an inspiration source). Detects platform from URL if not provided.

    Clean
    src/gen_mcp_server/server.py

    gen_add_agent_inspiration

    Step 1 (Agent Setup): Add one inspiration source URL to the agent. These are creators/accounts the agent draws style from — NOT the agent's own socials.

    Clean
    src/gen_mcp_server/server.py

    gen_add_agent_look

    Step 1 (Agent Setup): Attach an uploaded image as an additional look (non-primary) on the agent. Use after gen_create_direct_upload + PUT-ing the file bytes to the returned upload URL: pass the direct-upload response's signed_id here. Existing primary avatar is preserved. Use gen_set_agent_primary_photo when the image should become the primary photo.

    Clean
    src/gen_mcp_server/server.py

    gen_add_watchlist_source

    Step 3 (Monitoring): Add a monitoring source to an existing watchlist, or restore one that was previously removed. Idempotent on (platform, target_type, target_value) — adding the same source twice returns the existing row. target_type must be one of: account (a username/handle), hashtag (a tag name), or keyword (free text search).

    Clean
    src/gen_mcp_server/server.py

    gen_buy_credits

    Step 5 (Export & Publish): Start a credit purchase (Stripe checkout) — returns a payment link the user opens to pay. ALWAYS confirm the plan and price with the user BEFORE calling; this initiates a real money charge. Use when the user is out of credits and wants to buy more.

    Clean
    src/gen_mcp_server/server.py

    gen_clone_engine

    Step 3 (Idea to Vidsheet): Clone an existing engine, optionally to a different agent. Useful for duplicating proven pipelines across brands.

    Clean
    src/gen_mcp_server/server.py

    gen_clone_template

    Step 3 (Idea to Vidsheet): Clone a template into an agent's workspace. FASTEST path to a production-ready vidsheet with pre-configured columns. Returns the new engine with its engine_id.

    Clean
    src/gen_mcp_server/server.py

    gen_clone_voice

    Step 1 (Agent Setup): Clone a voice from an existing audio sample. Pass EITHER audio_url (preferred; server downloads it) OR audio_base64 (inline bytes for small clips). Synchronous — returns the created voice immediately. Shows up under source=user_trained.

    Clean
    src/gen_mcp_server/server.py

    gen_complete_asset_upload

    Step 4 (Edit & Generate): Attach an already-uploaded blob to the agent's durable asset library. Use after gen_create_direct_upload has returned a signed_id and you have PUT the file bytes to the upload URL. Returns the content_resource id and permanent CDN URL.

    Clean
    src/gen_mcp_server/server.py

    gen_connect_agent_elevenlabs

    Step 1 (Agent Setup): Connect the user's ElevenLabs API key to the agent. Validates the key before saving. Once connected, gen_list_agent_voices includes the user's ElevenLabs voices as source=user_elevenlabs.

    Clean
    src/gen_mcp_server/server.py

    gen_continue_generation

    Step 4 (Edit & Generate): Continue a previously stopped generation. Credits are re-charged.

    Clean
    src/gen_mcp_server/server.py

    gen_create_agent

    Step 1 (Agent Setup): Create a new agent inside a workspace. After creation, use gen_update_agent_core to fill in identity, overview, personality, voice, and inspiration sources.

    Clean
    src/gen_mcp_server/server.py

    gen_create_agent_avatar

    Step 1 (Agent Setup): Create an avatar for an agent using a DeGod avatar ID (for file uploads, use the API directly via direct_upload + a PATCH to the agent).

    Clean
    src/gen_mcp_server/server.py

    gen_create_agent_profile

    Step 1 (Agent Setup): Initialize an agent's profile on the agentic service. Send any combination of identity, voice, and brand sections. Identity: name, description, persona. Voice: API keys and default_voice. Brand: brand_name, description, goal, keywords, target_platforms, shortform, longform, linked_accounts, content_idea_preferences.

    Clean
    src/gen_mcp_server/server.py

    gen_create_api_key

    Step 1 (Agent Setup): Create a new Personal Access Token. The plain-text token is returned ONCE — store it securely.

    Clean
    src/gen_mcp_server/server.py

    gen_create_column

    Step 4 (Edit & Generate): Create a new ingredient column in a vidsheet. The column type enum is derived from the Rails Vidsheet schema. To place it, create it first then use gen_reorder_columns; models never set raw editor positions.

    Clean
    src/gen_mcp_server/server.py

    gen_create_content_resource

    Step 4 (Edit & Generate): Create a content resource from a signed_id. Use gen_create_direct_upload first to upload the file, then pass the signed_id here.

    Clean
    src/gen_mcp_server/server.py

    gen_create_direct_upload

    Step 4 (Edit & Generate): Get a pre-signed S3 URL for direct file upload. Two-step: (1) call this, (2) PUT the file to the returned URL, (3) pass the returned signed_id to gen_create_content_resource.

    Clean
    src/gen_mcp_server/server.py

    gen_create_engine

    Step 3 (Idea to Vidsheet): Create a new empty Auto Content Engine (vidsheet) for an agent. Prefer gen_clone_template (fastest) unless neither fits — templates come pre-configured with the right columns for common workflows. After cloning, PATCH cells to inject the idea's fields.

    Clean
    src/gen_mcp_server/server.py

    gen_create_image

    Step 4 (Edit & Generate): Generate an image from a text prompt. version selects the image model: 'nano-banana-pro' (highest quality, default), 'nano-banana' (fast), 'nano-banana-2' (balanced). aspect_ratio: 1:1 | 9:16 | 16:9. Pass reference_images (public URLs) for image-to-image identity-preserving generation (same face/product in a new scene). Paid — returns a generation_id to poll with gen_get_generation.

    Clean
    src/gen_mcp_server/server.py

    gen_create_layer

    Step 4 (Edit & Generate): Create a new layer inside a video cell. Layer type is derived from the Rails Vidsheet schema. Use gen_reorder_layers for editor-track order, never a raw position.

    Clean
    src/gen_mcp_server/server.py

    gen_create_look

    Step 1 (Agent Setup): Generate one image of the agent's CHARACTER — a 'look'. Use when the user says 'generate a look for me', 'show my character at the beach', etc. Pass reference_images (public photo URLs of the character) to preserve their face/identity. Paid — returns a generation_id to poll with gen_get_generation.

    Clean
    src/gen_mcp_server/server.py

    gen_create_monitoring_job

    Step 2 (Content Ideas): Start monitoring or scraping social media content to feed future idea generation. Supports 3 platforms: tiktok, instagram, youtube. Search types: username (@creator), hashtag (#topic), keyword (plain text). Not all platform/type combos are valid — TikTok and YouTube support all three; Instagram supports username+hashtag only. Set monitoring=true for ongoing scheduled scraping, false for one-time (default). Scraped data is queried through the agent chat, not returned directly. This is a paid operation.

    Clean
    src/gen_mcp_server/server.py

    gen_create_organization

    Step 1 (Agent Setup): Create a new organization/workspace. You become owner automatically. Only needed if the user doesn't already have a workspace.

    Clean
    src/gen_mcp_server/server.py

    gen_create_proof_of_genesis_backup

    Step 4 (Assets): Manually back up a GEN image or video asset to Walrus for the monthly Proof of Genesis storage period, or record an automatic asset event. Automatic backup defaults to downloaded/published assets when enabled. Public assets may be uploaded raw. Private assets must be encrypted before upload because Walrus blobs are public by default. Charges operation backup_to_blockchain with GB-month units after successful upload/readback verification.

    Clean
    src/gen_mcp_server/server.py

    gen_create_recurring_job

    Step 3 (Monitoring): Create a recurring agent job ('daily task'). job_type=generate_content_ideas is the most common default. schedule.cadence ∈ {daily, weekly}; pass timezone (e.g. 'UTC' or 'America/Los_Angeles') and time_of_day ('HH:MM' 24h) for predictable firing. For weekly cadence, days_of_week (0=Mon … 6=Sun) is REQUIRED; for daily it must be omitted. delivery.type ∈ {chat_only, email}; when type=email, the email address is REQUIRED. Each scheduled run is credit-gated: the job remains configured if credits run out and resumes when they return.

    Clean
    src/gen_mcp_server/server.py

    gen_create_row

    Step 4 (Edit & Generate): Create a new row in a vidsheet. Each row is one piece of content.

    Clean
    src/gen_mcp_server/server.py

    gen_create_song

    Step 4 (Edit & Generate): Generate one original song/music track. model: suno-v5-beta (default, best quality) | suno-v4.5plus-beta (supports up to 8 min). duration: seconds (default 60, max 480). Pass style for genre/mood, title for a named track, negative_tags for styles to avoid, vocal_gender ('m'/'f'), instrumental=true for no vocals. For audio-to-audio conditioning, pass source_audio_resource_id (preferred) or source_audio_url plus audio_weight (0.0-1.0). Paid — returns a generation_id to poll with gen_get_generation.

    Clean
    src/gen_mcp_server/server.py

    gen_create_song_mix

    Public API (agent.gen.pro): Create a DJ-style song-mix job that combines multiple songs/tracks into one long audio output. Use for 'mix these 5 songs', 'combine these tracks into one long song', or 'create 5 songs and combine them'. Returns status=pending_engine until the Mixxx-compatible renderer worker is installed, or pending_song_generation when songs must be generated first.

    Clean
    src/gen_mcp_server/server.py

    gen_create_variable

    Step 4 (Edit & Generate): Create a global variable (name + value) on a vidsheet. Variables are used for template substitution in prompts and content (e.g. {{brand_name}}).

    Clean
    src/gen_mcp_server/server.py

    gen_create_video

    Step 4 (Edit & Generate): Generate one raw video clip from a text prompt. model: seedance-2.0 (default) | seedance-1.0-lite/1.0-pro/1.5-pro | veo_3 | veo_3_1 | kling_2_1 | kling_2_6 | sora_2 | pika | grok. resolution: 1080p (default) | 720p. Seedance 2.0 supports duration 4-15s. Paid — returns a generation_id to poll with gen_get_generation. For a complete multi-scene video from a brief, use gen_chat instead.

    Clean
    src/gen_mcp_server/server.py

    gen_create_watchlist

    Step 3 (Monitoring): Create a new watchlist for an agent, optionally with initial sources. Idempotent on watchlist name (case-insensitive): if a watchlist with the same name already exists, the provided sources are merged into it instead of creating a duplicate. Each source is (platform, target_type ∈ account|hashtag|keyword, target_value). Returns the full watchlist including all active sources.

    Clean
    src/gen_mcp_server/server.py

    gen_decide_agent_run

    Step 2 (Content Ideas): Approve or reject a pending agent action gate. Use when gen_get_run_status returns awaiting_approval. Pass approved=true to continue the run, approved=false to reject and fail it.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_agent

    Step 1 (Agent Setup): Soft-delete an agent (requires owner/manager role or being the creator).

    Clean
    src/gen_mcp_server/server.py

    gen_delete_agent_avatar

    Step 1 (Agent Setup): Delete one or more avatars from an agent (separate multiple IDs with underscores).

    Clean
    src/gen_mcp_server/server.py

    gen_delete_asset

    Step 4 (Edit & Generate): Delete a content resource from the agent's asset library.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_column

    Step 4 (Edit & Generate): Delete a column from a vidsheet. Only ingredient-role columns can be deleted. Destructive: the first call returns a would_destroy preview plus a confirm_token; show the preview to the user, then call again with confirm_token to actually delete.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_content_resource

    Step 4 (Edit & Generate): Permanently delete a content resource and its associated file.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_layer

    Step 4 (Edit & Generate): Delete a layer from a cell. Destructive: the first call returns a would_destroy preview plus a confirm_token; show the preview to the user, then call again with confirm_token to actually delete.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_organization

    Step 1 (Agent Setup): Permanently delete an organization and all associated data (requires owner role, irreversible).

    Clean
    src/gen_mcp_server/server.py

    gen_delete_recurring_job

    Step 3 (Monitoring): Soft-delete a recurring job. status → 'deleted'. The job stops running and no longer appears in gen_list_recurring_jobs. Use gen_pause_recurring_job if you only want to temporarily stop runs. Returns 204 No Content on success.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_scheduled_post

    Step 5 (Export & Publish): Delete a scheduled post from the content calendar.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_variable

    Step 4 (Edit & Generate): Delete a global variable from a vidsheet. Destructive: the first call returns a would_destroy preview plus a confirm_token; show the preview to the user, then call again with confirm_token to actually delete.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_voice

    Step 1 (Agent Setup): Delete a user-owned voice (designed or trained). Returns 404 if the voice doesn't belong to the agent.

    Clean
    src/gen_mcp_server/server.py

    gen_delete_watchlist

    Step 3 (Monitoring): Soft-delete a watchlist. Marks the watchlist and all its sources as inactive and deleted. The data is retained but no longer returned by gen_list_watchlists or gen_get_watchlist. Use gen_pause_watchlist if you only want to temporarily stop monitoring.

    Clean
    src/gen_mcp_server/server.py

    gen_design_voice

    Step 1 (Agent Setup) — Voice design 4/4: finalize a designed voice by picking one of the candidates from step 3. Persists the new voice; shows up in gen_list_agent_voices under source=user_designed.

    Clean
    src/gen_mcp_server/server.py

    gen_disconnect_social

    Step 5 (Export & Publish): Disconnect a connected social account from the agent. platform: tiktok | instagram | facebook | youtube | x.

    Clean
    src/gen_mcp_server/server.py

    gen_duplicate_recurring_job

    Step 3 (Monitoring): Copy a recurring job to a different vidsheet. The copy inherits the source's prompt (rewritten to the new sheet), schedule, delivery settings, and actions. Returns 409 if the destination sheet already has an automation. Use when you want to run the same workflow on a different sheet without rebuilding it from scratch.

    Clean
    src/gen_mcp_server/server.py

    gen_duplicate_row

    Step 4 (Edit & Generate): Duplicate an existing row, including its ingredient cell values. Useful for batch-generating variants from a known-good row.

    Clean
    src/gen_mcp_server/server.py

    gen_ensure_default_recurring_job

    Step 3 (Monitoring): Idempotently ensure the agent has the default daily content-ideas recurring job. If one already exists for this agent, returns it without changes; otherwise creates it with the standard prompt ('Generate content ideas'), daily cadence at 09:00 UTC, and chat_only delivery. The response 'created' field indicates whether a new job was created (true) or an existing one was returned (false).

    Clean
    src/gen_mcp_server/server.py

    gen_estimate_job

    Step 4 (Edit & Generate): Estimate the credit cost of one or more generation jobs BEFORE running them. Free to call. Pair with gen_get_credit_balance to check affordability before a paid run.

    Clean
    src/gen_mcp_server/server.py

    gen_expand_idea

    Step 2 (Content Ideas): Expand a single content idea into a full project_manifest (the structured layer/scene plan a vidsheet is built from). Use this before cloning an idea into a vidsheet in Step 3 when the idea was generated without a manifest. Idempotent — returns the cached manifest if the idea is already expanded. Note the path has no /agent/ segment.

    Clean
    src/gen_mcp_server/server.py

    gen_generate_content

    Step 4 (Edit & Generate): THE WORKHORSE. Trigger AI content generation for a cell. Returns a generation_id — poll with gen_get_generation until status is \"completed\". Canonical generation types (legacy names also accepted): - TEXT: generation_type=\"text\", data={model:\"gemini_2_0_flash\"|\"gpt_4o\"|..., prompt:\"...\"} - IMAGE: generation_type=\"image_from_text\", data={prompt:\"...\", model:\"gemini_image\"|\"gemini_pro_image\"|\"midjourney\"|\"grok\", aspect_ratio:\"1:1\"|\"9:16\"|\"16:9\"} - VIDEO (text): generation_type=\"video_from_text\", data={prompt:\"...\", model:\"veo_3\"|\"veo_3_1\"|\"sora_2\"|\"kling_1_6\"|\"kling_2_1\"|\"kling_2_6\"|\"seedance_pro\"|\"seedance-2.0\"|\"grok\"|..., duration:5|10} - VIDEO (image): generation_type=\"video_from_image\", data={prompt:\"...\", model:\"kling_2_1\"|\"kling_2_6\"|\"veo_3\"|\"veo_3_1\"|\"seedance-2.0\"|\"grok\"|..., image_resource_id:123} - VIDEO (ingredients): generation_type=\"video_from_ingredients\", data={prompt:\"...\", model:\"pika\"|\"kling_1_6\"|\"grok\"|..., asset_resource_ids:[...]} - SPEECH: generation_type=\"speech_from_text\", data={voice_id:\"...\", script:\"...\", voice_method:\"my_voices\"|\"design_voice\"|\"clone_voice\", voice_model_provider?:\"supertonic_3\"|\"qwen3_voice_design\"} - LIPSYNC: generation_type=\"lipsync\", data={model:\"sync_so\"|\"gen\", video_resource_id:123, audio_resource_id:456} - CAPTIONS: generation_type=\"captions\", data={model:\"gemini\", source_resource_id:123} - MEDIA: generation_type=\"media\", data={content_resource_id:123} Credits are pre-charged and refunded on failure/stop.

    Clean
    src/gen_mcp_server/server.py

    gen_generate_content_ideas

    Step 2 (Content Ideas): STARTING POINT. Generates data-driven video content ideas for an agent, analyzing trending videos with engagement-weighted hooks and transcripts. Returns a run_id — poll with gen_get_run_status until completed. Each idea has title, hook, full_script, video_type, estimated_duration, selected_assets[], project_manifest, inspiration_sources, rationale.

    Clean
    src/gen_mcp_server/server.py

    gen_generate_layer

    Step 4 (Edit & Generate): Trigger generation for a specific layer within a cell. Use when the layer's generation type and data are already configured on the layer.

    Clean
    src/gen_mcp_server/server.py

    gen_generate_voice_samples

    Step 1 (Agent Setup) — Voice design 3/4: generate 3 candidate audio samples. Returns `{samples: [{generation_id, audio}, ...]}` — pick one and pass its `generation_id` to gen_design_voice to finalize.

    Clean
    src/gen_mcp_server/server.py

    gen_generate_voice_script

    Step 1 (Agent Setup) — Voice design 1/4: generate a read-aloud script (the text the candidate voice will speak in step 3). Only needed when designing a new voice programmatically; most users do this in the web UI.

    Clean
    src/gen_mcp_server/server.py

    gen_get_agent

    Step 1 (Agent Setup): Get full details of a specific agent by ID. For reading full setup state (identity + overview + personality + voice + inspiration + accounts), prefer gen_get_agent_core.

    Clean
    src/gen_mcp_server/server.py

    gen_get_agent_core

    Step 1 (Agent Setup): STAR READ TOOL. Returns all agent setup sections in one call: identity (name + profile photo), overview (brand name, description, identity type, goal, keywords, target platforms), personality, inspiration sources, voice, look (description + reference images), and accounts (the agent's own socials). Always call before gen_update_agent_core.

    Clean
    src/gen_mcp_server/server.py

    gen_get_agent_profile

    Step 1 (Agent Setup): Get the agent profile from the agentic service (alternate to gen_get_agent_core). Returns grouped sections: identity (name, avatar, persona), voice (API keys, default voice), and brand (keywords, platforms, linked accounts, content_idea_preferences). Useful when agent.gen.pro is the canonical source (content idea preferences live here).

    Clean
    src/gen_mcp_server/server.py

    gen_get_asset

    Step 4 (Edit & Generate): Get a single content resource including its downloadable CDN URL.

    Clean
    src/gen_mcp_server/server.py

    gen_get_cell

    Step 4 (Edit & Generate): Get the value and metadata of a specific cell, including any layers, generations, and attached content resources.

    Clean
    src/gen_mcp_server/server.py

    gen_get_content_resource

    Step 4 (Edit & Generate): Get full details of a content resource, including its public URL and generator info if AI-generated.

    Clean
    src/gen_mcp_server/server.py

    gen_get_conversation

    Step 2 (Content Ideas): Get a conversation with all messages. Use to review chat history and previously generated ideas before refining.

    Clean
    src/gen_mcp_server/server.py

    gen_get_credit_balance

    Step 5 (Export & Publish): Get the agent's available credit balance. Check this before paid operations (generate, render, publish) to confirm the workspace has usable credits.

    Clean
    src/gen_mcp_server/server.py

    gen_get_credit_usage

    Step 5 (Export & Publish): List credit transactions and usage history for an agent. Useful for answering 'how many credits did I spend on video this week?' Read-only.

    Clean
    src/gen_mcp_server/server.py

    gen_get_engine

    Step 3 (Idea to Vidsheet): Get full details of a vidsheet — returns all columns, rows, and cells in one call. Cheap and fast. Use liberally at the start of Step 4.

    Clean
    src/gen_mcp_server/server.py

    gen_get_generation

    Step 4 (Edit & Generate): Poll a generation job's status. Flow: pending → processing → completed | failed | stopped. On completion: text in `result`, media URLs in `output_resources`. Poll every 5–10s for video, every 2–5s for text/image.

    Clean
    src/gen_mcp_server/server.py

    gen_get_last_operation

    Step 4 (Edit & Generate): Get the single next-to-undo change set for a vidsheet (what the undo button would take back). Returns {change_set: ... | null}. Cheaper than gen_list_operations when you only need the top of the undo stack.

    Clean
    src/gen_mcp_server/server.py

    gen_get_layer

    Step 4 (Edit & Generate): Get details of a specific layer in a cell, including its type, position, additional_attributes, and generation history.

    Clean
    src/gen_mcp_server/server.py

    gen_get_me

    Step 1 (Agent Setup): Get the authenticated user's profile and workspace memberships. Always call first to verify your PAT and discover which workspaces you have access to.

    Clean
    src/gen_mcp_server/server.py

    gen_get_organization

    Step 1 (Agent Setup): Get details of a specific organization by ID.

    Clean
    src/gen_mcp_server/server.py

    gen_get_post_status

    Step 5 (Export & Publish): Check whether a post actually went live. Returns PLATFORM-CONFIRMED publish status — not just 'queued'. Use to answer 'did my post publish?' and 'why did it fail?'. Status flow: accepted → publishing → published | failed. Each platform entry includes platform_post_id, post_url (when published), and error (when failed).

    Clean
    src/gen_mcp_server/server.py

    gen_get_recurring_job

    Step 3 (Monitoring): Fetch a single recurring job by id. Returns 404 if the job is deleted.

    Clean
    src/gen_mcp_server/server.py

    gen_get_run_status

    Step 2 (Content Ideas): Poll the status of an agent run. Returns 'running', 'completed', 'failed', or 'awaiting_approval'. When completed, messages array has the result. Poll every 5 seconds.

    Clean
    src/gen_mcp_server/server.py

    gen_get_session_preferences

    Step 2 (Content Ideas): Read the per-conversation session preferences (temporary creative rules scoped to this one conversation, distinct from the agent's long-term preferences). Returns null if none are set.

    Clean
    src/gen_mcp_server/server.py

    gen_get_social_connect_url

    Step 5 (Export & Publish): Get an OAuth URL the user opens in a browser to connect a social account for publishing. platform: youtube | tiktok | instagram | facebook | x. The MCP never handles credentials — give the user the returned URL; they approve it in their browser and GEN saves the connection automatically. Confirm afterward with gen_list_connected_socials.

    Clean
    src/gen_mcp_server/server.py

    gen_get_template

    Step 3 (Idea to Vidsheet): Get details of a specific template by slug, UUID, or ID. Inspect columns and structure before cloning.

    Clean
    src/gen_mcp_server/server.py

    gen_get_voice_preview_status

    Step 1 (Agent Setup): Poll the status of a TTS preview job from gen_preview_voice. Returns the full user_job — check `.status` (pending/processing/completed/failed) and read the audio from `.output_resources` when completed.

    Clean
    src/gen_mcp_server/server.py

    gen_get_voice_sample_status

    Step 1 (Agent Setup) — Voice design: Poll a voice-design sample job started by gen_generate_voice_samples. Returns status pending | completed | failed. When completed includes the base64 audio and speaker_embedding_url to pass into gen_design_voice.

    Clean
    src/gen_mcp_server/server.py

    gen_get_watchlist

    Step 3 (Monitoring): Fetch a single watchlist by id, including its full active sources list. Returns 404 if the watchlist is soft-deleted.

    Clean
    src/gen_mcp_server/server.py

    gen_import_asset_from_url

    Step 4 (Edit & Generate): Import media from a public URL (YouTube/TikTok/Instagram/direct file URL) into the agent's asset library. No length limit — useful for long B-roll. Returns a job; poll the import status.

    Clean
    src/gen_mcp_server/server.py

    gen_list_agent_avatars

    Step 1 (Agent Setup): List avatar images for an agent, with the primary avatar first.

    Clean
    src/gen_mcp_server/server.py

    gen_list_agent_voices

    Step 1 (Agent Setup): List available voices for the agent. Sources: public (shared catalog), user_designed (via prompt flow), user_trained (from audio clone), user_elevenlabs (from connected key). Filter with `source` to narrow. Pick a voice and bind it via gen_update_agent_core voice section.

    Clean
    src/gen_mcp_server/server.py

    gen_list_agents

    Step 1 (Agent Setup): List agents, optionally filtered by workspace. Use the returned agent_id for ALL downstream content operations (ideas, vidsheets, generations).

    Clean
    src/gen_mcp_server/server.py

    gen_list_api_keys

    Step 1 (Agent Setup): List all Personal Access Tokens (API keys) for the authenticated user.

    Clean
    src/gen_mcp_server/server.py

    gen_list_asset_libraries

    Step 4 (Edit & Generate): List the agent's asset library (files and folders) with filtering and search.

    Clean
    src/gen_mcp_server/server.py

    gen_list_assets

    Step 4 (Edit & Generate): List the agent's content resources / asset library (images, video, audio). Optional type filter. Use to find existing assets before uploading duplicates.

    Clean
    src/gen_mcp_server/server.py

    gen_list_columns

    Step 4 (Edit & Generate): List all columns in a vidsheet, including role (ingredient/video/final_video/stats) and type.

    Clean
    src/gen_mcp_server/server.py

    gen_list_connected_socials

    Step 5 (Export & Publish): List which social accounts (tiktok/instagram/facebook/youtube/x) the agent has connected for publishing. Call this before scheduling or publishing a post, or to check if a platform still needs to be connected.

    Clean
    src/gen_mcp_server/server.py

    gen_list_content_ideas

    Step 2 (Content Ideas): List all generated content ideas for an agent. Filter by status: generated, approve_to_create, ready_for_review, change_idea, change_video, rejected, approved_to_post, posted.

    Clean
    src/gen_mcp_server/server.py

    gen_list_content_resources

    Step 4 (Edit & Generate): List content resources (files) belonging to an agent, with optional filters. Content resources are the media files (images, videos, audio) referenced by generations like video_from_image or lipsync.

    Clean
    src/gen_mcp_server/server.py

    gen_list_conversations

    Step 2 (Content Ideas): List agent chat conversations with titles and metadata.

    Clean
    src/gen_mcp_server/server.py

    gen_list_credit_plans

    Step 5 (Export & Publish): List available credit and subscription plans. Use before gen_buy_credits to show the user their options.

    Clean
    src/gen_mcp_server/server.py

    gen_list_my_voices

    Step 1 (Agent Setup): List the agent's own custom/created voices (user_voice_resources). These are voices the user has designed, trained, or cloned — not the shared public catalog.

    Clean
    src/gen_mcp_server/server.py

    gen_list_operations

    Step 4 (Edit & Generate): List recent undoable change sets for a vidsheet (the undo/redo history). Returns {change_sets:[...]} newest-first. Set include_undone=true to also list already-undone change sets. Use gen_get_last_operation to find just the next thing you'd undo, then gen_undo_operation / gen_redo_operation.

    Clean
    src/gen_mcp_server/server.py

    gen_list_organizations

    Step 1 (Agent Setup): List all organizations/workspaces the authenticated user is a member of, including credits, role, and plan.

    Clean
    src/gen_mcp_server/server.py

    gen_list_proof_of_genesis_backups

    Step 4 (Assets): List Proof of Genesis / Backup to Blockchain rows for an agent. Use this to show which assets have been backed up to Walrus, including monthly expires_at and renewal_due_at fields. Removed rows are hidden by default; include_removed=true returns audit history.

    Clean
    src/gen_mcp_server/server.py

    gen_list_recurring_jobs

    Step 3 (Monitoring): List all non-deleted recurring jobs ('daily tasks') for an agent. Returns active, paused, and inactive jobs sorted newest first. Use gen_pause_recurring_job or gen_delete_recurring_job to change state.

    Clean
    src/gen_mcp_server/server.py

    gen_list_rows

    Step 4 (Edit & Generate): List all rows in a vidsheet. A row is one piece of content; cells across its columns are its ingredients and generated outputs.

    Clean
    src/gen_mcp_server/server.py

    gen_list_scheduled_posts

    Step 5 (Export & Publish): List scheduled posts (the content calendar). Returns an empty list when the agent has no calendar yet. Optional date range filter.

    Clean
    src/gen_mcp_server/server.py

    gen_list_templates

    Step 3 (Idea to Vidsheet): List available vidsheet templates. Templates are pre-configured engines — cloning one is the fastest way to start. ALWAYS check templates before creating an engine from scratch.

    Clean
    src/gen_mcp_server/server.py

    gen_list_variables

    Step 4 (Edit & Generate): Get global variables for a vidsheet. Variables are key-value pairs used for template substitution in prompts and content (e.g. {{brand_name}}).

    Clean
    src/gen_mcp_server/server.py

    gen_list_watchlists

    Step 3 (Monitoring): List all active watchlists for an agent. Each watchlist contains a name and a list of sources (account/hashtag/keyword) being monitored across platforms. Returns soft-deleted watchlists filtered out.

    Clean
    src/gen_mcp_server/server.py

    gen_list_workspaces

    Step 1 (Agent Setup): List all workspaces the authenticated user has access to. A workspace is the billing container; every agent lives inside one.

    Clean
    src/gen_mcp_server/server.py

    gen_pause_recurring_job

    Step 3 (Monitoring): Pause a recurring job. status → 'paused'. The scheduler stops queueing new runs until gen_resume_recurring_job is called. Does NOT delete the job or its history.

    Clean
    src/gen_mcp_server/server.py

    gen_pause_watchlist

    Step 3 (Monitoring): Pause a watchlist without deleting it. Sets intent_active=false so the scheduler stops queueing scrapes, but the watchlist + its sources are preserved. Use gen_resume_watchlist to re-enable. Use gen_delete_watchlist to permanently remove.

    Clean
    src/gen_mcp_server/server.py

    gen_preview_voice

    Step 1 (Agent Setup): Generate a TTS preview of a voice saying a given text. Use to audition a voice before binding it via gen_update_agent_core. Returns a user_job_id — poll with gen_get_voice_preview_status.

    Clean
    src/gen_mcp_server/server.py

    gen_publish_content

    Step 5 (Export & Publish): Publish or schedule content to a social media platform. Currently supports TikTok. The agent must have a connected TikTok social account. For immediate posting use schedule_type='now'. For scheduled posting use schedule_type='scheduled' with a future scheduled_time. This is a paid operation.

    Clean
    src/gen_mcp_server/server.py

    gen_query_watchlist

    Step 3 (Monitoring): Ask a question about a watchlist with typed filters (timeframe, count, sort, min engagement rate). Wraps the agent chat path that fans out one DW call per watchlist target with byte-identical filters. Use this for programmatic 'top N from @list:foo by engagement rate in the last 90 days' style asks instead of building a natural-language prompt yourself. Returns a run_id you poll with gen_get_run_status; the final answer contains a video grid plus a natural-language summary.

    Clean
    src/gen_mcp_server/server.py

    gen_redo_operation

    Step 4 (Edit & Generate): Redo the most recently undone change set on a vidsheet (or a specific one by change_set_id). Returns {change_set_id, redone:[...], next_undoable}. Use to re-apply something just undone with gen_undo_operation. Returns nothing_to_redo (422) when there is nothing to redo; 409 redo_conflict — refresh (gen_get_engine) and retry.

    Clean
    src/gen_mcp_server/server.py

    gen_refine_content_ideas

    Step 2 (Content Ideas): Give feedback on previously generated content ideas to get revised versions. Must pass the conversation_id from the original generation.

    Clean
    src/gen_mcp_server/server.py

    gen_remove_proof_of_genesis_backup

    Step 4 (Assets): Remove a Proof of Genesis row from the default asset view. This soft-removes the GEN proof record (sets removed_at); it does not guarantee deletion from Walrus or Sui.

    Clean
    src/gen_mcp_server/server.py

    gen_remove_watchlist_source

    Step 3 (Monitoring): Remove a single source from a watchlist. Pass EITHER source_id (preferred when known) OR all three of platform/target_type/target_value to remove by key. Soft-delete: the source row is marked inactive but retained.

    Clean
    src/gen_mcp_server/server.py

    gen_render_video

    Step 5 (Export & Publish): Render the final composed video for a cell in a final_video column. Combines all layers (video, audio, text overlays, captions) into one deliverable. Returns a generation_id — poll with gen_get_generation; the final MP4 URL arrives in output_resources when status is completed.

    Clean
    src/gen_mcp_server/server.py

    gen_reorder_columns

    Step 4 (Edit & Generate): Set the complete left-to-right order of every column in a Vidsheet. Pass every column ID exactly once, including system columns. This is the model-facing replacement for Rails' raw position field.

    Clean
    src/gen_mcp_server/server.py

    gen_reorder_layers

    Step 4 (Edit & Generate): Set the complete editor-track order of every layer in one Vidsheet cell. Pass every layer ID exactly once, from top to bottom. This is the model-facing replacement for Rails' raw position field.

    Clean
    src/gen_mcp_server/server.py

    gen_reset_agent_profile

    Step 1 (Agent Setup): Reset the agent's brand configuration on the agentic service. Clears brand name, keywords, platforms, linked accounts, and content preferences. Does NOT delete the agent or voice settings.

    Clean
    src/gen_mcp_server/server.py

    gen_resume_recurring_job

    Step 3 (Monitoring): Resume a paused recurring job. status → 'active'. The scheduler resumes queueing runs at the configured cadence.

    Clean
    src/gen_mcp_server/server.py

    gen_resume_watchlist

    Step 3 (Monitoring): Resume a paused watchlist. Sets intent_active=true so the scheduler resumes queueing scrapes for the watchlist's sources.

    Clean
    src/gen_mcp_server/server.py

    gen_revoke_all_api_keys

    Step 1 (Agent Setup): Revoke ALL of the user's Personal Access Tokens at once. Irreversible — every existing key stops working immediately. Use gen_revoke_api_key to revoke just one.

    Clean
    src/gen_mcp_server/server.py

    gen_revoke_api_key

    Step 1 (Agent Setup): Revoke (delete) a single Personal Access Token. Use gen_revoke_all_api_keys to revoke every key at once.

    Clean
    src/gen_mcp_server/server.py

    gen_run_recurring_job_now

    Step 3 (Monitoring): Trigger a recurring job to run immediately without waiting for its next scheduled time. Fires the same execution path as the scheduled run — useful for testing a new job before its first scheduled firing. Returns 202 Accepted with a run_id you can poll via gen_get_run_status.

    Clean
    src/gen_mcp_server/server.py

    gen_run_research

    Step 2 (Content Ideas): Research a topic across 10+ platforms (Reddit, X, YouTube, TikTok, Instagram, HN, Perplexity, Gemini). Returns structured findings with source counts, citations, and AI synthesis. Use for trend analysis, competitive research, or grounding content ideas in real data.

    Clean
    src/gen_mcp_server/server.py

    gen_schedule_post

    Step 5 (Export & Publish): Schedule or immediately post content to a social platform. platform: tiktok | instagram | facebook | youtube | x. schedule_type: 'now' for immediate, 'specific_time' with scheduled_time (ISO 8601) for a calendar slot. Pass media_url for a single video, media_urls for images (X supports up to 4). For text-only posts (X only), omit media. timezone_offset is local UTC offset in hours (e.g. -7 for LA daylight time).

    Clean
    src/gen_mcp_server/server.py

    gen_set_agent_primary_photo

    Step 1 (Agent Setup): Attach an uploaded image and set it as the agent's PRIMARY photo (replacing any existing primary). Use after gen_create_direct_upload + PUT-ing the file bytes to the returned upload URL: pass the direct-upload response's signed_id here. The agent's primary_avatar_url updates immediately. To add as a non-primary look instead, use gen_add_agent_look.

    Clean
    src/gen_mcp_server/server.py

    gen_set_content_preference

    Step 2 (Content Ideas): Set a persistent content generation rule for an agent. Applies to ALL future generations. Different from per-batch requirements which only apply once. Examples: 'always use statement hooks', 'target women 25-34', 'never mention competitors'.

    Clean
    src/gen_mcp_server/server.py

    gen_stop_generation

    Step 4 (Edit & Generate): Stop a running generation job. Credits are refunded.

    Clean
    src/gen_mcp_server/server.py

    gen_transcribe

    Step 4 (Edit & Generate): Transcribe audio or video into text with per-sentence timestamps. Pass EXACTLY ONE source: audio_url (public audio URL) | video_url (public video URL; audio extracted server-side, a video with no audio track fails with a clear error) | content_resource_id (a file already in the agent's GEN content resources). Optional trim_start_seconds + trim_duration_seconds transcribe only a window and must be given together (not supported with content_resource_id). Asynchronous: returns {generation_id, status} — poll gen_get_generation until completed; the result carries full_text (whole transcript), sentences ([{text, startMs, endMs}] for subtitle/timestamp use), and audio_duration. Paid — credits scale with audio duration; out of credits returns error_code insufficient_credits_for_job.

    Clean
    src/gen_mcp_server/server.py

    gen_undo_operation

    Step 4 (Edit & Generate): Undo the most recent undoable change set on a vidsheet (or a specific one by change_set_id). Returns {change_set_id, undone:[...], next_undoable}. Use after gen_get_last_operation. Returns nothing_to_undo (422) when the stack is empty; 409 undo_conflict means the engine changed under you — refresh (gen_get_engine) and retry.

    Clean
    src/gen_mcp_server/server.py

    gen_update_agent

    Step 1 (Agent Setup): Update an existing agent's name, description, time zone, or voice keys. For richer setup updates (personality, inspiration, accounts, voice binding), use gen_update_agent_core.

    Clean
    src/gen_mcp_server/server.py

    gen_update_agent_core

    Step 1 (Agent Setup): STAR WRITE TOOL. Update any combination of agent setup sections in one call: identity, overview, personality, inspiration, voice, look, accounts. Merge semantics for identity + overview + look.description; replace semantics for personality + inspiration + voice + accounts. Returns 200 on full success or 207 with per-section results on partial failure. This is the only supported path for agent setup writes.

    Clean
    src/gen_mcp_server/server.py

    gen_update_agent_profile

    Step 1 (Agent Setup): Update an existing agent profile on the agentic service. Only send the sections and fields you want to change. Array fields (keywords, platforms, linked_accounts) are replaced entirely, not appended.

    Clean
    src/gen_mcp_server/server.py

    gen_update_api_key

    Step 1 (Agent Setup): Rename an existing Personal Access Token. Only the display name can be changed; the token value is immutable.

    Clean
    src/gen_mcp_server/server.py

    gen_update_cell

    Step 4 (Edit & Generate): Update the value of a specific cell. Use on ingredient cells to set scripts, prompts, or reference values before triggering generation.

    Clean
    src/gen_mcp_server/server.py

    gen_update_column

    Step 4 (Edit & Generate): Update a column's title or type. Use gen_reorder_columns to change its order; raw editor positions are intentionally not model-facing.

    Clean
    src/gen_mcp_server/server.py

    gen_update_content_resource

    Step 4 (Edit & Generate): Rename a content resource file.

    Clean
    src/gen_mcp_server/server.py

    gen_update_idea_status

    Step 2 (Content Ideas): Update the status of a content idea. Flow: generated → approve_to_create → ready_for_review → approved_to_post → posted. Edit/rejection statuses: change_idea, change_video, rejected. approved_to_post ideas are candidates to clone into a vidsheet in Step 3.

    Clean
    src/gen_mcp_server/server.py

    gen_update_layer

    Step 4 (Edit & Generate): Update a layer's name, type, or additional attributes. Use gen_reorder_layers for editor-track order, never a raw position.

    Clean
    src/gen_mcp_server/server.py

    gen_update_monitoring_job

    Step 2 (Content Ideas): Update an existing content monitoring job. Only jobs with pending or processing status can be updated.

    Clean
    src/gen_mcp_server/server.py

    gen_update_organization

    Step 1 (Agent Setup): Update an organization's name (requires owner or manager role).

    Clean
    src/gen_mcp_server/server.py

    gen_update_recurring_job

    Step 3 (Monitoring): Update a recurring job's mutable fields. Use gen_pause_recurring_job / gen_resume_recurring_job for status transitions instead of patching status directly. Only fields you pass are updated; pass schedule or delivery as full objects (they replace the existing value).

    Clean
    src/gen_mcp_server/server.py

    gen_update_scheduled_post

    Step 5 (Export & Publish): Update a scheduled post's time, description, media, etc. Only works before the post goes out — published posts cannot be edited.

    Clean
    src/gen_mcp_server/server.py

    gen_update_session_preferences

    Step 2 (Content Ideas): Set the per-conversation session preferences (creative rules applied only within this conversation; they do not change the agent's saved long-term preferences). Replaces the existing value.

    Clean
    src/gen_mcp_server/server.py

    gen_update_variable

    Step 4 (Edit & Generate): Update a global variable's name and/or value on a vidsheet. Sparse — only send what you want to change.

    Clean
    src/gen_mcp_server/server.py

    gen_update_watchlist

    Step 3 (Monitoring): Update a watchlist's mutable fields (name, project_id, rails_project_error). Use gen_pause_watchlist or gen_resume_watchlist for status changes; use gen_delete_watchlist to remove. Only the fields you pass are updated.

    Clean
    src/gen_mcp_server/server.py

    gen_upgrade_workspace

    Step 5 (Export & Publish): Upgrade a workspace to a higher subscription tier — returns a Stripe checkout link. CONFIRM with the user BEFORE calling; this changes their billing plan.

    Clean
    src/gen_mcp_server/server.py

    Versions

    2
    • 0.2.1
      Scanned Oct 4, 2026, 02:41 AMHigh
    • 0.1.10
      Scanned Oct 3, 2026, 01:57 AMUnknown