Tools Reference
Every tool is a thin adapter that validates your input and proxies to the Scenario API. Stateless, fast, and reliable.
Scene-side tools (scene summary, selection, screenshots, quick renders, camera paths, import into the open scene) are not part of this server. They live in the local MCP server of the Scenario for Blender extension, see Working in Blender?.
teams_listManagementList Teams
List all teams available to the authenticated user. Call this first before tools that need team_id or project_id. Ar...
projects_listManagementList Projects
List projects within a specific team. Use this after teams_list when an OAuth workflow needs a project_id. Returns: ...
searchAnalysisSearch Assets, Models & Workflows
Search for assets (images, video, 3D, audio), models, or workflows by text, visual similarity, or filters. Write-cla...
recommendAnalysisRecommend a Model
Rank Scenario platform/public models for one generation task with real performance data (ELO, latency, cost); an LLM ...
recommend_trainingAnalysiscatalogRecommend Training Base
Recommend a Scenario base architecture for training a custom model (LoRA or voice clone) — NOT for picking a generati...
plan_generationManagementcatalogPlan a Generation Pipeline
Plan a multi-step generation pipeline for complex media requests (e.g. "product video with voiceover", "concept → 3D ...
skill_getAnalysisRead a Workflow Skill
Read Scenario's workflow skills: tested procedures for common jobs, such as letter-perfect text overlays and banners,...
model_schema_getGenerationGet Model Schema
Get the input parameter schema for any Scenario model. Call this before model_run to discover accepted fields, types,...
model_runGenerationRun Model
Run any Scenario model to generate, edit, upscale, segment, post-process, or transform any asset type. First call mo...
prompt_sparkGenerationRewrite a Generation Prompt
Rewrite a draft or idea into model-specific prompts and valid generation parameters. Use for short or underspecified ...
trainManagementcatalogTrain Models
Manage custom model training: upload_images uploads a dataset, update_image replaces a training image, delete_image r...
asset_analyzeAnalysiscatalogAnalyze Asset
Analyze a Scenario asset and/or text with Scenario LLM — flexible, instruction-driven analysis (caption, describe, cl...
asset_captionAnalysiscatalogCaption Asset
Generate a caption for a Scenario image asset. Creates a billed job unless dry_run=true. Repeated calls can create an...
asset_describeAnalysiscatalogDescribe Asset Style
Describe the visual style of a Scenario image asset (medium, palette, lighting, composition, mood) as a reusable refe...
asset_detectAnalysiscatalogDetect Structural Map
Extract a structural control-map from a Scenario image — canny edges, depth, pose, segmentation, normal, scribble, sk...
asset_quality_gate_runAnalysiscatalogVerify Asset Quality
Score a Scenario image asset against the Quality Gate — a generic AI-quality check plus brand-brief compliance when a...
asset_displayDisplayDisplay Asset
Display a Scenario asset inline. ALWAYS use this tool to show images, textures, panoramas, videos, audio, 3D models, ...
upload_assetManagementUpload Asset
Upload a local file to Scenario and return an asset_id for use in model_run, asset_display, or other asset-backed too...
upload_asset_completeManagementComplete Upload
Finalize an upload started by upload_asset. For a multipart upload, call this only after every file part has been upl...
assets_listManagementcatalogList Assets
List assets in the current project with heavy fields stripped. Args: - filters: optional — model_id, tags, type (s...
asset_getManagementGet Asset
Get full details for one asset (all fields, including embedding and metadata). Args: - asset_id: required - team...
asset_updateManagementcatalogUpdate Asset
Update an asset's name, description, or tags. Provided values replace the previous values; setting tags can remove ex...
asset_copyManagementcatalogCopy Asset
Duplicate an asset in the same project, or copy it into another project with target_project_id (the original stays wh...
asset_downloadManagementDownload Asset
Request a download URL for an asset, optionally converting to a target format. Args: - asset_id: required - form...
asset_deleteManagementcatalogDelete Assets
Delete one or many assets. Accepts a single ID or an array of IDs. Args: - asset_ids: required — array of one or m...
assets_get_bulkManagementcatalogGet Assets (Bulk)
Fetch full details for multiple assets in a single request. Args: - asset_ids: required — array of asset IDs to fe...
asset_list_tagsManagementcatalogList Asset Tags
List tags in the global tag namespace. The tag namespace is shared with models (same endpoint as model_list_tags). A...
asset_add_tagsManagementcatalogAdd Asset Tags
Add tags to an asset (additive — does not replace the existing tag set). Args: - asset_id: required - tags: requ...
asset_remove_tagsManagementcatalogRemove Asset Tags
Remove specific tags from an asset. Only the named tags are removed; the asset's other tags stay. Confirm the tags wi...
collections_listManagementcatalogList Collections
List collections in the current project. Args: - limit: results per page (default 20, max 100) - page_token: pag...
collection_getManagementcatalogGet Collection
Get full details for one collection. Args: - collection_id: required - team_id, project_id: required for OAuth c...
collection_createManagementcatalogCreate Collection
Create a new collection. (No description field — the API doesn't accept one.) Args: - name: required — name for th...
collection_updateManagementcatalogUpdate Collection
Update a collection's name or thumbnail. Supplied values replace the current ones; the collection's items are not cha...
collection_deleteManagementcatalogDelete Collection
Delete a collection by ID. Args: - collection_id: required - team_id, project_id: required for OAuth callers Re...
collection_add_assetsManagementcatalogAdd Assets to Collection
Add assets to a collection. Safe to retry: assets already in the collection are skipped, not an error, and lists long...
collection_remove_assetsManagementcatalogRemove Assets from Collection
Remove assets from a collection, up to 49 per call. Only the membership is removed; the assets themselves are not del...
collection_add_modelsManagementcatalogAdd Models to Collection
Add models to a collection. Args: - collection_id: required - model_ids: required — array of model IDs to add ...
collection_remove_modelsManagementcatalogRemove Models from Collection
Remove models from a collection, up to 49 per call. Only the membership is removed; the models themselves are not del...
models_listManagementList Models
List models with heavy fields stripped and deprecated capabilities filtered. Args: - filters: optional — privacy (...
model_getManagementcatalogGet Model
Get full details for one model (deprecated capabilities filtered). The long markdown description is NOT in the base r...
model_createManagementcatalogCreate Model
Create a new model. Args: - data: required — model payload. Common fields: name, shortDescription, tags, thumbnail...
model_updateManagementcatalogUpdate Model
Update an existing model's metadata. Values can replace or delete descriptions and tags or change visibility; confirm...
model_deleteManagementcatalogDelete Model
Delete a model. Args: - model_id: required - team_id, project_id: required for OAuth callers Returns: { deleted...
model_copyManagementcatalogCopy Model
Duplicate a model (creates a copy). Args: - model_id: required - team_id, project_id: required for OAuth callers...
model_transferManagementcatalogCopy Model to Another Project
Copy a trained model into another project. The copy gets a new model id in the destination project; the source model ...
model_downloadManagementcatalogDownload Model
Request a download for a model's weights. Args: - model_id: required - team_id, project_id: required for OAuth c...
model_list_tagsManagementcatalogList Model Tags
List tags in the global tag namespace. The tag namespace is shared with assets (same endpoint as asset_list_tags). A...
model_add_tagsManagementcatalogAdd Model Tags
Add tags to a model (additive — does not replace the existing tag set). Args: - model_id: required - tags: requi...
model_remove_tagsManagementcatalogRemove Model Tags
Remove specific tags from a model. Only the named tags are removed; the model's other tags stay. Confirm the tags wit...
model_access_getManagementcatalogGet Model Access Control
Get a team's model access control: the models-management mode plus the team-level model list, and one project's list ...
model_access_updateManagementcatalogUpdate Model Access Control
Add (add_models) or remove (remove_models) models on a team's model allowlist/blocklist, at team level or across proj...
workflows_listManagementList Workflows
List visual workflows. Terminology: In Scenario, when a user says "apps" (e.g. "list my apps"), they usually mean wo...
workflow_getManagementGet Workflow
Get full details for one workflow. The response carries the workflow's definition fields named inputs_definition / e...
workflow_createManagementcatalogCreate Workflow
Create a new visual workflow. Lifecycle: create persists editor_info + inputs as a DRAFT. Updating editor_info alone...
workflow_updateManagementcatalogUpdate Workflow
Update an existing workflow's metadata or definition. Supplied fields replace existing values and draft status unpubl...
workflow_deleteManagementcatalogDelete Workflow
Delete a workflow. Args: - workflow_id: required - team_id, project_id: required for OAuth callers Returns: { d...
workflow_runManagementRun Workflow
Run a workflow. Args: - workflow_id: required - inputs: input values for the run (the request body). For array-t...
workflow_approveManagementcatalogApprove Workflow Node
Approve a pending human-approval node in a running workflow. Args: - workflow_id: required - workflow_job_id: re...
workflow_rejectManagementcatalogReject Workflow Node
Reject a pending human-approval node in a running workflow. Args: - workflow_id: required - workflow_job_id: req...
workflow_selectManagementcatalogAnswer Workflow Selection Step
Answer a paused selection step (user-selection node) in a running workflow: pick which candidates continue, or reject...
workflow_publishManagementcatalogPublish Workflow
Publish a workflow: compile its stored editor_info into a runnable flow and flip status to "ready". Publishing replac...
workflow_copyManagementcatalogCopy Workflow
Copy a workflow — retrieves the source and creates a new workflow carrying its description, flow, input definitions, ...
job_getManagementGet Job
Get one Scenario job — compact status row (status, progress, result asset ids). Args: - job_id: required - verbo...
jobs_waitManagementWait For Jobs
Wait for Scenario jobs to finish — blocks server-side until every job completes or parks at a human workflow step, or...
jobs_listManagementList Jobs
List recent Scenario jobs (summarized for compact context). Args: - filters: optional {status, type} — e.g. {"stat...
job_cancelManagementCancel Job
Cancel a queued Scenario inference job. The backend cancels a job only when its jobType is "inference" and its statu...
project_getManagementcatalogGet Project
Get one Scenario project: name, description, privacy mode, avatar asset id, settings, and credit consumption for the ...
project_createManagementcatalogCreate Project
Create a new project in a Scenario team. Needs a team admin signed in through OAuth (API keys are refused), and count...
project_updateManagementcatalogUpdate Project
Rename a Scenario project or change its description, privacy mode or avatar. Only the fields you pass change, replaci...
project_deleteManagementcatalogDelete Project
Delete a Scenario project. DESTRUCTIVE and irreversible: the project and its content stop being reachable, and its mo...
team_members_listManagementcatalogList Team Members
List a team's members and pending invitations. Args: - team_id: required — team to list members for - response_f...
team_members_addManagementcatalogInvite Team Members
Invite people to a team by email (bulk). Each address receives an invitation email — members join when they accept. ...
team_members_updateManagementcatalogUpdate Team Members
Update one or more team members (bulk): set their team role, their consumption cap, or both. Replaces existing permis...
team_members_removeManagementcatalogRemove Team Members
Remove members from a team (bulk), and/or withdraw pending invitations. DESTRUCTIVE: removed members immediately lose...
project_members_listManagementcatalogList Project Members
List a project's members with their project roles. Args: - project_id: required — project to list members for - ...
project_members_addManagementcatalogAdd Project Members
Add existing team members to a project (bulk). People must already be on the team — to bring in someone new, use team...
project_members_updateManagementcatalogUpdate Project Member Roles
Change the project role of one or more members (bulk). Replaces their existing permissions and can revoke or broaden ...
project_members_removeManagementcatalogRemove Project Members
Remove members from a project (bulk). Their team membership and other projects are untouched. IMPORTANT: call projec...
api_keys_listManagementcatalogList Project API Keys
List a project's API keys. Args: - project_id: required — project to list keys for - team_id: optional — require...
api_key_getManagementcatalogGet Project API Key
Get one project API key by id. Args: - project_id: required - key_id: required — the key's id (apiu_...) or api_...
api_key_updateManagementcatalogUpdate Project API Key Role
Change a project API key's role or scopes. This replaces existing permissions and can remove access or grant broader ...
api_key_deleteManagementcatalogDelete Project API Key
Delete a project API key. DESTRUCTIVE: the key stops working everywhere it is used — this cannot be undone. List keys...
api_key_createManagementcatalogGet API Key Creation URL
Return the Scenario portal URL where the user can create a project API key. Despite the tool name, this is a read-onl...
memory_recallManagementRecall Memory and Instructions
Recall the full Scenario memory stack for the signed-in user and selected workspace: user, team and project instructi...
memory_getManagementcatalogGet Memory Layer
Read one saved Scenario instruction or memory layer, including its unchanged text and provenance. Scopes: user_instru...
memory_setManagementcatalogReplace Memory Layer
Replace one complete saved Scenario instruction or memory layer. Destructive: previous text is overwritten, not appen...
memory_deleteManagementcatalogClear Memory Layer
Clear one entire Scenario instruction or memory layer. Destructive and irreversible through this tool. Scopes: user_i...
usageManagementUsage
View Scenario usage analytics for selected projects, users, and dates. Default response: after-discount CU totals, p...
consumption_limit_getManagementcatalogGet My Consumption Limit
Read your own consumption cap: the Creative Units (CU) you may spend this billing period, how many you have spent, wh...
diagnostics_runManagementRun Diagnostics
Diagnose Scenario MCP problems. Runs a live self-test with the caller's own credentials to identify the failing layer...
feedback_requestManagementGive Scenario Feedback
Open optional feedback inside the conversation. Call directly after the user agrees to give feedback; do not route th...
feedback_submitManagementSubmit Scenario Feedback
Send the user's explicit feedback to Scenario via PostHog. Only call after the user chooses to share their reviewed o...
scenario_tools_searchManagementSearch Tool Catalog
Search the Scenario MCP tool catalog by keyword — find tools by name or purpose and get their executable input schema...
scenario_tools_listManagementList Tool Catalog
List every tool in the Scenario tool catalog — the full capability map, grouped by family (generation, jobs, assets, ...
scenario_tool_execute_readManagementExecute Read Tool
Execute a read-class tool from the Scenario tool catalog by name. Only tools whose permission is "read" run here — w...
scenario_tool_execute_writeManagementExecute Write Tool
Execute a write-class tool from the Scenario tool catalog by name. These tools create or modify data and can overwrit...
scenario_tool_execute_deleteManagementExecute Delete Tool
Execute a delete-class tool from the Scenario tool catalog by name. Delete-class tools are destructive and usually ir...