Brix36
by brix36.com · remote · no sign-in to list tools · v0.2.0 · published by com.brix36
Films and music videos. You're the star. No subscription.
115 tools: 26 can delete or cancel things, 49 change things and 40 only read.
Scanned Oct 21, 2026
- Deletes or cancels26Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things49Claude Code: ask: see these tools
- Only reads40Claude Code: allow: see these tools
10 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http brix36 https://api.brix36.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "studio_artist_photo" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "return": a word for reading.
The server marks "studio_media_upload_widget" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_media_upload_widget" says "upload": a word for a change.
The server marks "studio_storyboard_redo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_storyboard_redo_request" says "request": a word for a change.
The server marks "studio_account_links_read" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_account_links_read" says "link": a word for a change.
The server marks "studio_ready_made_stars_list" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_ready_made_stars_list" says "star": a word for a change.
The server marks "studio_reference_upload_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_reference_upload_link" says "upload": a word for a change.
Show 4 more findingsShow fewer
The server marks "studio_storyboard_prepare" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "validate": a word for reading.
- Warnstudio_copy_read
The server marks "studio_copy_read" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_copy_read" says "copy": a word for a change.
The server marks "studio_motion_preview" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_motion_preview" says "preview": a word for reading.
The input schema at properties.url.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.url.description: "...HTTPS media URL, port 443, without user credentials."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
115 tools
Deletes or cancels 26Claude Code: deny
studio_artist_deletePermanently erases an artist and their projects, storyboards, references and identity photos.No findings
Why it is in this group
- The name "studio_artist_delete" says "delete": a word for removing or ending something.
- The description says "Permanently erases".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently erases an artist and their projects, storyboards, references and identity photos. Requires catalogue-owner access, the customer's deletion request and their exact current artist name as confirmation. In-flight work or payments prevent deletion. Returns artist=deleted and queued purge counts; external erasure is asynchronous.
Annotations the server declares
- title: Delete Brix36 artist
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_artist_reference_deleteRemove one identity reference photo using the app service.No findings
Why it is in this group
- The name "studio_artist_reference_delete" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove one identity reference photo using the app service. Requires artist-level permission and the customer choosing this specific photo. Returns the updated identity pack. This can affect future likeness generation; older pinned projects keep their existing rules.
Annotations the server declares
- title: Remove artist photo
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_artist_reference_pack_confirmPlaces the one quoted reference-pack purchase only after the customer has explicitly approved the exact credits in this chat.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Places the one quoted reference-pack purchase only after the customer has explicitly approved the exact credits in this chat. Takes the exact operationId, quoteToken, quotedCredits and priceVersion from the quote (and the same look inputs); an existing Brix36 approval code is accepted as confirmationToken instead. Identical retries return the first outcome and never charge twice. status still_checking keeps the original operation; an identical later call returns its outcome without a new price.
Annotations the server declares
- title: Buy the approved artist reference pack
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
studio_film_add_lineAdd one finished dialogue line to a scene and return its lineId.No findings
Why it is in this group
- The name "studio_film_add_line" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add one finished dialogue line to a scene and return its lineId. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Add a Film dialogue line
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_assign_actorAssign one available artist to one saved dialogue line.No findings
Why it is in this group
- The name "studio_film_assign_actor" says "assign": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Assign one available artist to one saved dialogue line. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Assign a Film dialogue actor
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_direction_setReplace one scene’s direction and reference pictures.No findings
Why it is in this group
- The name "studio_film_direction_set" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Replace one scene’s direction and reference pictures. A null sceneIndex with empty text binds whole-Film references. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Set Film direction and reference pictures
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_edit_lineReplace the text of one saved dialogue line.No findings
Why it is in this group
- The name "studio_film_edit_line" says "edit": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Replace the text of one saved dialogue line. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Replace a Film dialogue line
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_remove_lineRemove one saved dialogue line.No findings
Why it is in this group
- The name "studio_film_remove_line" says "remove": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove one saved dialogue line. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Remove a Film dialogue line
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_set_durationSet one scene’s duration, normalized to 4–30 seconds; later scenes move to follow it.No findings
Why it is in this group
- The name "studio_film_set_duration" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set one scene’s duration, normalized to 4–30 seconds; later scenes move to follow it. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Set Film scene duration
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_set_lip_syncSet the lip-sync choice for one saved scene.No findings
Why it is in this group
- The name "studio_film_set_lip_sync" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set the lip-sync choice for one saved scene. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Set Film scene lip sync
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_set_speech_voiceSet the saved-character or native speech voice choice for one character in one scene.No findings
Why it is in this group
- The name "studio_film_set_speech_voice" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set the saved-character or native speech voice choice for one character in one scene. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Set a Film character’s scene voice
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_toggle_cameraToggle whether one dialogue line’s speaker is on camera.No findings
Why it is in this group
- The name "studio_film_toggle_camera" says "toggle": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Toggle whether one dialogue line’s speaker is on camera. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Toggle a Film speaker’s visibility
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_film_toggle_soundToggle one Film music, background or effects layer.No findings
Why it is in this group
- The name "studio_film_toggle_sound" says "toggle": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Toggle one Film music, background or effects layer. Uses expectedRevision, the current saved Film plan revision, and a stable operationId; identical operationId/input retries reconcile the same edit. No model call or credit charge.
Annotations the server declares
- title: Toggle a Film sound layer
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_generation_confirmSpends Brix36 credits and starts the quoted work under the customer's financial approval.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Spends Brix36 credits and starts the quoted work under the customer's financial approval. In chat mode, stage:pictures records one approval for pictures and video using the original operationId, quoteToken, priceVersion, quotedCredits and revisionId. Insufficient balance returns balance, shortfall and creditsInformationUrl without a checkout. Stage:video uses the current picture revision and the same financial approval, subject to the existing readiness gates. Identical stage and argument retries reconcile the same operation. New authorizations retain pause/cap, OAuth studio.spend, account and exact-quote checks. The response waits up to 45 seconds for the started stage and includes current progress, a finished video link when available, or the free status-call arguments for work still rendering. Existing page-approved operations and confirmationToken codes remain supported.
Annotations the server declares
- title: Start a generation the customer approved
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
studio_image_confirmSpends Brix36 credits and starts one picture under the customer's financial approval of the exact quoted draftId and quoteId.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Spends Brix36 credits and starts one picture under the customer's financial approval of the exact quoted draftId and quoteId. Identical retries return the same operation without another charge.
Annotations the server declares
- title: Make the approved picture
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
studio_motion_confirmStarts the exact paid server render after the customer explicitly approves its quoted price.No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Starts the exact paid server render after the customer explicitly approves its quoted price. Chat approval returns operationId, quoteToken, revisionId, inputDigest and quotedCredits unchanged from the quote. Existing Brix36 confirmationToken codes remain supported as a separate flow. The server enforces spending permission, account policy and exact quote bindings. Identical retries reconcile the original operation. Annotations do not attest to consent or guarantee a host confirmation screen.
Annotations the server declares
- title: Render approved Motion scene
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_project_artist_presence_setSet featured or not_featured for this project.No findings
Why it is in this group
- The name "studio_project_artist_presence_set" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Set featured or not_featured for this project. Featured requires pinned DNA; the existing directed-storyboard rules still apply. No generation or charge.
Annotations the server declares
- title: Set whether the artist appears in a video
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
studio_project_deleteArchive one video or Film using the app project deletion service after the customer requests deletion.No findings
Why it is in this group
- The name "studio_project_delete" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Archive one video or Film using the app project deletion service after the customer requests deletion. Requires editor permission. In-flight orders, paid work awaiting consumption and open/review-required checkouts refuse deletion. Returns deleted=true. This is separate from permanently erasing an artist or account.
Annotations the server declares
- title: Delete Brix36 project
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_project_dna_pinPin this artist’s currently published DNA to this project once, within its existing pin window.No findings
Why it is in this group
- The name "studio_project_dna_pin" says "pin": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Pin this artist’s currently published DNA to this project once, within its existing pin window. Read project state after a lost response before retrying. No generation or charge.
Annotations the server declares
- title: Pin current Artist DNA to a project
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
studio_reference_deleteRemove an existing image/video reference attachment from a project using the app service.No findings
Why it is in this group
- The name "studio_reference_delete" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove an existing image/video reference attachment from a project using the app service. Requires editor permission and the customer choosing this reference. The app removes its dependent notes and applies existing reference binding rules. Returns deleted=true; it does not delete another project reference or a song.
Annotations the server declares
- title: Remove customer reference
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_reference_note_updateApprove, reject or rewrite one reference note using the app service.No findings
Why it is in this group
- The name "studio_reference_note_update" says "update": a word for a change.
- The input takes a statement or command to run (input.statement), which can change anything it can reach.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Approve, reject or rewrite one reference note using the app service. Rewriting records the sentence as user-authored; omitted fields stay unchanged. Returns the updated fact. Requires permission to edit its project and the customer choosing the change. No server interpretation or paid work starts.
Annotations the server declares
- title: Review or rewrite reference note
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_storyboard_likeness_recordRecord the customer’s confirmed or rejected likeness verdict for one exact saved picture.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Record the customer’s confirmed or rejected likeness verdict for one exact saved picture. Requires the revision, shot and still asset the customer reviewed. Changes no picture and spends no credits.
Annotations the server declares
- title: Record the customer’s likeness verdict
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_storyboard_look_acceptRecord the customer’s acceptance of the complete saved key-look picture set.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Record the customer’s acceptance of the complete saved key-look picture set. Supply the exact revision and shot/asset pairs reviewed. Changes no picture and spends no credits.
Annotations the server declares
- title: Record the customer’s look acceptance
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
studio_storyboard_picture_changes_preparePrices requested picture changes by original projectId/operationId, a new requestId and selected stableShotIds.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Prices requested picture changes by original projectId/operationId, a new requestId and selected stableShotIds. New approvals produce separate picture-only quotes containing operationId, quoteToken, revisionId, modelId, mode, priceVersion and totalCredits. Identical requestId retries return the original quotes. Historical approvals can complete their previously approved paid picture changes. No charge for quoting.
Annotations the server declares
- title: Prepare selected storyboard picture changes
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
studio_storyboard_stills_confirmSpends Brix36 credits for exactly the approved quoted pictures.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Spends Brix36 credits for exactly the approved quoted pictures. Chat mode requires the quote's unchanged projectId, revisionId, mode, operationId, quoteToken, modelId, priceVersion and quotedCredits. Insufficient balance returns balance, shortfall and creditsInformationUrl without a checkout. Durable purchase/job reconciliation makes identical retries safe, including after expiry. Legacy confirmationToken remains supported. No video authorization or planning-model call.
Annotations the server declares
- title: Make the confirmed storyboard pictures
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
studio_video_planCreates or updates a film or music-video project, saves its script or storyboard, and returns a price quote without charging.No findings
Why it is in this group
- The description's first verb is "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Creates or updates a film or music-video project, saves its script or storyboard, and returns a price quote without charging. Film input contains the finished script, language, cast and visualWorld. Music input contains sections, visualWorld and optional songUnderstanding. start identifies a new project; projectId identifies an existing one. A music project without a song returns state needs_song and its projectId; planning can continue on that project after its song upload. The result contains the project, saved plan and quote. Identical operationId and input retries return the same project and quote. Rendering is separate and requires the customer's approval of the quoted price.
Annotations the server declares
- title: Plan a music video or film and get its price (one approval)
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 49Claude Code: ask
studio_account_links_readReturns verified native-app navigation and privacy/support links.1 finding
Why it is in this group
- The name "studio_account_links_read" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "studio_account_links_read" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_account_links_read" says "link": a word for a change.
Description, as the server wrote it Returns verified native-app navigation and privacy/support links. No IDs selects account controls; accessible artistId/projectId adds the corresponding artist or project screens and appOnlyActions with reasons. Each ID is checked against viewer access. App-only workflows retain existing consent and spend controls. No purchase, paid work or account deletion.
Annotations the server declares
- title: Open Brix36 account or project controls
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_ai_sharing_chooseRecords the person's own answer to the AI-sharing question after a creation tool returned ai_processing_choice_required.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Records the person's own answer to the AI-sharing question after a creation tool returned ai_processing_choice_required. allowed true means Allow and false means Not now. Consent counts only as that explicit reply; it is never inferred from the request to create and never supplied on the person's behalf. supersedes is the sequence that refusal returned (null when it was unset). Returns the stored answer; nothing is created or charged.
Annotations the server declares
- title: Record the AI-sharing answer
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_cover_setSets an existing passed DNA photograph as the artist cover; referenceId:null restores automatic cover selection.No findings
Why it is in this group
- The name "studio_artist_cover_set" says "set": a word for a change.
Description, as the server wrote it Sets an existing passed DNA photograph as the artist cover; referenceId:null restores automatic cover selection. Requires artist permission and expectedRevision from the current profile. Returns profile and revision; creates no image.
Annotations the server declares
- title: Choose artist cover photo
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_artist_createCreates an artist through the app service and returns profile and revision.No findings
Why it is in this group
- The name "studio_artist_create" says "create": a word for a change.
Description, as the server wrote it Creates an artist through the app service and returns profile and revision. Name is required; photos use dedicated upload/reference tools. catalogueArtistId optionally selects a manageable catalogue through an existing artist. Creation has no replay receipt; the artist list exposes persisted results after an uncertain response. No generation or charge.
Annotations the server declares
- title: Create Brix36 artist
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_artist_dna_writeSaves customer-authored or approved creative facts as a new published Artist DNA version, preserving facts pinned by older projects.No findings
Why it is in this group
- The name "studio_artist_dna_write" says "write": a word for a change.
Description, as the server wrote it Saves customer-authored or approved creative facts as a new published Artist DNA version, preserving facts pinned by older projects. baseVersionId identifies the current version, or null when absent. Returns versionId and facts. Facts apply at once and need no pin. Requires manager permission; no language model or credit charge.
Annotations the server declares
- title: Save artist creative facts
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_artist_photoReturns an artist-photo upload widget and a one-time fallback uploadUrl.1 finding
Why it is in this group
- The description's first verb is "return": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "studio_artist_photo" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns an artist-photo upload widget and a one-time fallback uploadUrl. File bytes go directly to Brix36. Repeated calls return the same link or report an existing photo. No charge.
Annotations the server declares
- title: Upload the artist photo in the chat
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_ready_made_chooseSaves one Brix36 ready-made fictional portrait on an existing artist using the same service as the app.No findings
Why it is in this group
- The description's first verb is "save": a word for a change.
Description, as the server wrote it Saves one Brix36 ready-made fictional portrait on an existing artist using the same service as the app. Requires artist permission and a current starId from the ready-made star list. Returns the saved reference pack and whether it was newly created; choosing the same star retains the existing pack. No image generation or credit charge. Current generation readiness is read separately from the artist list.
Annotations the server declares
- title: Choose a free ready-made character
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_reference_addAdds a customer photograph to Artist DNA through screened identity-reference services.No findings
Why it is in this group
- The name "studio_artist_reference_add" says "add": a word for a change.
Description, as the server wrote it Adds a customer photograph to Artist DNA through screened identity-reference services. Inline input accepts canonical base64, MIME type and angle up to 512 KiB. Larger files have dedicated upload/app paths. Validates and deduplicates bytes under existing face-source/publication rules. Returns pack and created flag. No image generation.
Annotations the server declares
- title: Add existing artist photo
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_reference_pack_quotePrices the artist's missing reference views (photo_pack) or invented look (look) with the same signed price the Brix36 app shows.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prices the artist's missing reference views (photo_pack) or invented look (look) with the same signed price the Brix36 app shows. Charges nothing. Returns creditAmount, operationId, quoteToken, priceVersion and approvalExpiresAt. Approval of the exact credits takes place in this chat; no link is created. When nothing can be offered, says so without claiming their references are complete. Creating an artist stays free.
Annotations the server declares
- title: Price an artist's missing reference pack
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_updateUpdates supplied artist profile fields with expectedRevision from the current profile.No findings
Why it is in this group
- The name "studio_artist_update" says "update": a word for a change.
Description, as the server wrote it Updates supplied artist profile fields with expectedRevision from the current profile. Returns the updated profile and revision; conflicting edits are refused. Photos, voices, identity kind and Film casting have separate operations.
Annotations the server declares
- title: Update Brix36 artist
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_artist_voice_chooseAssigns an offered ready-made voice from the voice library through a durable revision-bound operation.No findings
Why it is in this group
- The description's first verb is "assign": a word for a change.
Description, as the server wrote it Assigns an offered ready-made voice from the voice library through a durable revision-bound operation. voiceId is an opaque catalogue ID and expectedRevision is the current voice revision, or null when no voice exists. May add a shared library voice; creates no speech and debits no credits. Film speech requires its separate quoted financial approval. Identical operation retries retain identity.
Annotations the server declares
- title: Assign an offered character voice
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
studio_artist_voice_recordCreates and selects an artist's own speaking voice from an owned confirmed audio sampleAssetId, typically 30–120 seconds.No findings
Why it is in this group
- The description's first verb is "create": a word for a change.
Description, as the server wrote it Creates and selects an artist's own speaking voice from an owned confirmed audio sampleAssetId, typically 30–120 seconds. App recording validation, durable operation, provider admission and daily spend guards apply. Setup cost is included in the artist's first Film quote; this call debits no customer credits. Identical operation/input retries reconcile the saved effect. Unconfigured cloning refuses before provider work. This voice is for Film dialogue, not song singing.
Annotations the server declares
- title: Use my voice for this artist
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
studio_copy_readRead an owned saved customer-AI text version without generating or charging.1 finding
Why it is in this group
- The name "studio_copy_read" says "copy": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "studio_copy_read" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_copy_read" says "copy": a word for a change.
Description, as the server wrote it Read an owned saved customer-AI text version without generating or charging.
Annotations the server declares
- title: Read saved text variations
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_copy_saveSaves finished customer-authored headline/caption drafts and supporting source facts as a free text version.No findings
Why it is in this group
- The name "studio_copy_save" says "copy": a word for a change.
Description, as the server wrote it Saves finished customer-authored headline/caption drafts and supporting source facts as a free text version. Identical source/revision/result inputs return the saved version. No Brix36 language-model request, publishing or credit charge.
Annotations the server declares
- title: Save my AI’s text variations
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_film_scenes_writeSaves finished Film scenes, visualWorld, camera directions and dialogue against the current revision.No findings
Why it is in this group
- The name "studio_film_scenes_write" says "write": a word for a change.
Description, as the server wrote it Saves finished Film scenes, visualWorld, camera directions and dialogue against the current revision. Scenes form 30-second cards, with at most six spoken lines per card and five minutes per Film. Identical operationId/input retries return the saved result. visualWorld is required for quoting. No Brix36 planning model, media generation or credit charge.
Annotations the server declares
- title: Save finished Film scenes
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_film_script_writeImports finished screenplay-style Film text, with SCENE headings, NAME: dialogue and optional visualWorld.No findings
Why it is in this group
- The name "studio_film_script_write" says "write": a word for a change.
- The input takes a statement or command to run (input.script), which can change anything it can reach.
Description, as the server wrote it Imports finished screenplay-style Film text, with SCENE headings, NAME: dialogue and optional visualWorld. Preserves scenes, dialogue and speaker names, caps Film at five minutes and reports uncast speakers. Identical retries return the same plan. A visualWorld is required for quoting. No Brix36 planning model or credit charge.
Annotations the server declares
- title: Import a finished Film script
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_generation_quotePrices missing storyboard pictures plus the exact video price for one run without spending credits.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prices missing storyboard pictures plus the exact video price for one run without spending credits. Returns totalCredits, totalGbpInclVat, balance, shortfall, signed quoteToken, operationId, revisionId and priceVersion. engineRecommendations contains server-ranked choices, current selections and quoted alternatives; section engine selection returns a revised quote. Film quotes include per-character, per-scene speech, motion and lip-sync routes, or historical_unavailable when prior evidence is absent. Chat-mode confirmation uses these exact quote fields. The saved financial approval covers pictures and video; requested picture changes have separate quotes. No checkout or approval-page URL is created. Existing app approvals and issued codes remain supported.
Annotations the server declares
- title: Price a generation (nothing is charged)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_image_quotePrices one standalone picture from a text prompt and optional owned uploads, using the same pricing as the Brix36 create box.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prices one standalone picture from a text prompt and optional owned uploads, using the same pricing as the Brix36 create box. Returns the exact credits and price with draftId and quoteId. Nothing is generated or charged.
Annotations the server declares
- title: Price a picture
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_media_import_urlImport a public HTTPS song, artist photo or reference into the same private attachment pipeline as an upload.1 finding
Why it is in this group
- The name "studio_media_import_url" says "import": a word for a change.
Findings
- Info
The input schema at properties.url.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.url.description: "...HTTPS media URL, port 443, without user credentials."
Description, as the server wrote it Import a public HTTPS song, artist photo or reference into the same private attachment pipeline as an upload. projectId is optional in the schema but required to attach media: omission returns guidance to select a project, never another user project. Refuses private/loopback destinations, unsafe redirects, DNS rebinding, invalid file types, oversized downloads and slow sources. Song/photo replacement rules remain unchanged. Identical reference bytes in the same project replay the existing asset. Returns assetId and status; no provider or language model is called.
Annotations the server declares
- title: Import public HTTPS media
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
studio_media_upload_urlCreates an HTTPS POST upload capability bound to the user, project, role, exact file metadata and SHA-256, expiring in 15 minutes.No findings
Why it is in this group
- The name "studio_media_upload_url" says "upload": a word for a change.
Description, as the server wrote it Creates an HTTPS POST upload capability bound to the user, project, role, exact file metadata and SHA-256, expiring in 15 minutes. Returns uploadUrl, uploadToken, method and expiresAt. The upload accepts raw bytes with the declared MIME Content-Type; attachment status is confirmed separately. No file bytes pass through MCP and no generation credits are spent.
Annotations the server declares
- title: Prepare a signed file upload
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_media_upload_widgetOpens a file picker for a song, artist photo or image/video reference on the specified project.1 finding
Why it is in this group
- The name "studio_media_upload_widget" says "upload": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "studio_media_upload_widget" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_media_upload_widget" says "upload": a word for a change.
Description, as the server wrote it Opens a file picker for a song, artist photo or image/video reference on the specified project. The customer selects the file; bytes go directly to Brix36. No paid work.
Annotations the server declares
- title: Upload a file in chat
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_motion_createSaves a ready server-rendered Motion scene and returns its exact paid-render quote plus an optional free first-frame preview.No findings
Why it is in this group
- The name "studio_motion_create" says "create": a word for a change.
Description, as the server wrote it Saves a ready server-rendered Motion scene and returns its exact paid-render quote plus an optional free first-frame preview. Supports lyric video, beat-reactive visualiser, kinetic titles, photo-motion poster, promo cards, the 6 music/lyric/visualiser templates (lyric_video, audio_visualiser, living_cover, kinetic_type, club_tunnel, organic_landscape) across 7 genre looks (pop, hiphop_drill, rnb, house_edm, rock, country_acoustic, afrobeats), and all 24 popular motion styles (styleId). Uses owned audio and picture asset IDs; saved song timing supplies lyric cues and the saved scene can be edited. No AI video model or paid render is called. requestId identifies the saved document across retries. Each returned quote has its own identity; rendering requires explicit customer approval bound to that quote.
Annotations the server declares
- title: Create Motion Graphics
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_motion_previewGenerate a free bounded first-frame image of this exact saved revision, maximum 640px long side.1 finding
Why it is in this group
- The name "studio_motion_preview" says "preview": a word for reading.
- The description's first verb is "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "studio_motion_preview" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_motion_preview" says "preview": a word for reading.
Description, as the server wrote it Generate a free bounded first-frame image of this exact saved revision, maximum 640px long side. No LLM, render debit or full free movie. Preview is not an approval or a priced render.
Annotations the server declares
- title: Preview Motion first frame
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_motion_restoreRestores a saved scene as a new revision with optimistic version checking.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Restores a saved scene as a new revision with optimistic version checking. Original versions and media remain intact. Prior quotes become stale; further paid rendering requires a quote for the restored revision.
Annotations the server declares
- title: Restore a Motion version
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_motion_updateSaves typed MotionSceneV1 with exact words, cue frame ranges and owned asset IDs.No findings
Why it is in this group
- The name "studio_motion_update" says "update": a word for a change.
Description, as the server wrote it Saves typed MotionSceneV1 with exact words, cue frame ranges and owned asset IDs. Accepts typed layers and approved fonts; HTML, JS, CSS and URLs are not scene inputs. First save creates an opaque documentId with expectedRevision 0; edits bind the current expectedRevision. Conflicts preserve the newer saved version. No Brix36 language model is called.
Annotations the server declares
- title: Save Motion scene
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_motion_useAdd the exact finished Motion result to project media through normal attachment screening, preserving original assets, movie orders and expected project revision.No findings
Why it is in this group
- The description's first verb is "add": a word for a change.
Description, as the server wrote it Add the exact finished Motion result to project media through normal attachment screening, preserving original assets, movie orders and expected project revision. This does not replace or regenerate a paid movie.
Annotations the server declares
- title: Use Motion result
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_picture_use_uploadSets an owned uploaded photograph as a shot's original picture, bound to attachment contentHash and confirmed rights.No findings
Why it is in this group
- The name "studio_picture_use_upload" says "upload": a word for a change.
Description, as the server wrote it Sets an owned uploaded photograph as a shot's original picture, bound to attachment contentHash and confirmed rights. Creates a canonical revision and retains earlier versions. Identical argument retries reconcile the same operation. No generation or credit charge.
Annotations the server declares
- title: Use my uploaded picture
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_project_palette_writeSave 0–5 unique uppercase #RRGGBB colours as exact project creative direction.No findings
Why it is in this group
- The name "studio_project_palette_write" says "write": a word for a change.
Description, as the server wrote it Save 0–5 unique uppercase #RRGGBB colours as exact project creative direction. An empty list clears the selection. Existing work remains in history; stale revision and active work refuse safely.
Annotations the server declares
- title: Choose project colours
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_project_renameRenames a video or Film using expectedRevision, title and optional songTitle.No findings
Why it is in this group
- The name "studio_project_rename" says "rename": a word for a change.
Description, as the server wrote it Renames a video or Film using expectedRevision, title and optional songTitle. Returns updated project and revision. No generation or charge.
Annotations the server declares
- title: Rename Brix36 project
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_ready_made_stars_listLists the same free fictional character portraits offered by the Brix36 app, with each current star ID, name, description and versioned preview image.1 finding
Why it is in this group
- The name "studio_ready_made_stars_list" says "star": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "studio_ready_made_stars_list" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_ready_made_stars_list" says "star": a word for a change.
Description, as the server wrote it Lists the same free fictional character portraits offered by the Brix36 app, with each current star ID, name, description and versioned preview image. Read-only; creates no artist, image, generation or charge.
Annotations the server declares
- title: Browse Brix36 ready-made characters
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_reference_addStores and screens an image/video reference through the app attachment service.No findings
Why it is in this group
- The name "studio_reference_add" says "add": a word for a change.
Description, as the server wrote it Stores and screens an image/video reference through the app attachment service. Inline files are limited to 512 KiB; larger files have an app upload-link path. Returns attachment and signed preview. scope:project applies to the project; scope:shot supports later shot binding. The reference list exposes persisted results after uncertain replies. No language model or generation-credit charge.
Annotations the server declares
- title: Add customer reference file
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_reference_note_addSave one concrete creative instruction about a customer reference already on this project.No findings
Why it is in this group
- The name "studio_reference_note_add" says "add": a word for a change.
- The input takes a statement or command to run (input.statement), which can change anything it can reach.
Description, as the server wrote it Save one concrete creative instruction about a customer reference already on this project. The connected assistant does the interpretation with the customer; Brix36 validates and stores the finished sentence through the existing app fact service. Returns an approved user-authored fact. Duplicate category/sentence on the same attachment is reused. Free; no server language model is called.
Annotations the server declares
- title: Add assistant-authored reference note
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_reference_upload_linkReturns the app reference-upload screen for an editable project, including for files over the 512 KiB inline limit.1 finding
Why it is in this group
- The name "studio_reference_upload_link" says "upload": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "studio_reference_upload_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_reference_upload_link" says "upload": a word for a change.
Description, as the server wrote it Returns the app reference-upload screen for an editable project, including for files over the 512 KiB inline limit. Uploaded results appear in the project's reference list. No upload or generation occurs in this read.
Annotations the server declares
- title: Open reference upload screen
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_release_createCreates an album, EP or single collection with title, type, year and artwork preset.No findings
Why it is in this group
- The name "studio_release_create" says "create": a word for a change.
Description, as the server wrote it Creates an album, EP or single collection with title, type, year and artwork preset. Returns release summary and app project-creation links. Creation has no replay receipt; the artist's release list exposes saved title/type/year after an uncertain response. No language model, generation or charge.
Annotations the server declares
- title: Create artist release collection
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_section_engine_selectSelects an available modelName or generation profile for one quoted section and returns a revised signed quote with costEstimateId.No findings
Why it is in this group
- The name "studio_section_engine_select" says "select": a word for a change.
Description, as the server wrote it Selects an available modelName or generation profile for one quoted section and returns a revised signed quote with costEstimateId. Film uses saved scene.index. modelName:null restores the server-ranked Recommended choice; omitted modelName preserves explicit selections. profile {aspect,resolution} is constrained to availableProfiles. Other sections retain their choices; outputs fit the project canvas without cropping. The revised quote has its own price and approval binding. operationId identifies identical selection retries. Film speech data reports the actual per-scene routes or historical_unavailable. No credits are spent and no generation starts.
Annotations the server declares
- title: Choose one section’s engine or generation profile and receive its quote
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_sections_set_line_syncSets lip-sync for one existing lyric line identified by section index and stable line ID.No findings
Why it is in this group
- The name "studio_sections_set_line_sync" says "set": a word for a change.
Description, as the server wrote it Sets lip-sync for one existing lyric line identified by section index and stable line ID. sync:true means the artist mouths the line. Defaults are true for the artist's own words and false for guest/ad-lib lines. No generation or charge.
Annotations the server declares
- title: Set whether the artist mouths one line
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_sections_updateUpdates included, type and/or what for one existing 30-second storyboard section.No findings
Why it is in this group
- The name "studio_sections_update" says "update": a word for a change.
Description, as the server wrote it Updates included, type and/or what for one existing 30-second storyboard section. Omitted fields remain unchanged. Timing, names and pictures are outside this operation. No generation or charge.
Annotations the server declares
- title: Change one section: tick, Performance/Story, or What happens
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_shot_video_references_writeBinds up to three owned uploaded 1–15 second original clips as shot motion/composition references.No findings
Why it is in this group
- The name "studio_shot_video_references_write" says "write": a word for a change.
Description, as the server wrote it Binds up to three owned uploaded 1–15 second original clips as shot motion/composition references. Measures bytes and creates one canonical revision. Stricter model limits or unsupported driving-video inputs refuse before payment. Clips remain video references rather than sampled pictures. Empty attachmentIds clears the selection; identical retries reconcile the same write.
Annotations the server declares
- title: Choose shot video references
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_song_attachReturns a song upload widget and a one-time fallback uploadUrl for an existing project.No findings
Why it is in this group
- The name "studio_song_attach" says "attach": a word for a change.
Description, as the server wrote it Returns a song upload widget and a one-time fallback uploadUrl for an existing project. File bytes go directly to Brix36. Repeated calls return the same fallback link or the existing song attachment. No charge.
Annotations the server declares
- title: Upload a song in the chat
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_song_reuseAttaches existing customer audio from an accessible source project to an empty target through the durable upload/analysis path.No findings
Why it is in this group
- The description's first verb is "attach": a word for a change.
Description, as the server wrote it Attaches existing customer audio from an accessible source project to an empty target through the durable upload/analysis path. sourceAttachmentId identifies the saved song attachment. Returns attachment/asset/job IDs or already_attached for identical audio. Repeats return the existing result; different current audio refuses replacement. No arbitrary URL fetch, generated audio or language-model call.
Annotations the server declares
- title: Reuse an uploaded song
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_song_understanding_writeSaves finished song understanding against the current analysisId, assetId and understandingRevision.No findings
Why it is in this group
- The name "studio_song_understanding_write" says "write": a word for a change.
Description, as the server wrote it Saves finished song understanding against the current analysisId, assetId and understandingRevision. Accepts lyrics/description, language, themes and required words/lines arrays in the timed-transcription shape; empty arrays represent unavailable genuine timing. Source text alone supplies no lip-sync timing or voice ownership. voiceAnswer represents the customer's all_me, other_voices or skipped decision. Preserves measured audio facts and returns canonical understanding with a new revision. Stale input is refused. No transcription/planning model or credit charge.
Annotations the server declares
- title: Save customer-authored song understanding
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_storyboard_approveRecords the customer's storyboard approval for the exact current revisionId using the app's approval service.No findings
Why it is in this group
- The name "studio_storyboard_approve" says "approve": a word for a change.
Description, as the server wrote it Records the customer's storyboard approval for the exact current revisionId using the app's approval service. Changed revisions are refused. Directed-board and existing purchase guards remain enforced. No credits are spent and no media is generated.
Annotations the server declares
- title: Approve the customer’s storyboard
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_storyboard_edit_promptSaves finished prompt text and existing uploaded references as an immutable storyboard revision.No findings
Why it is in this group
- The name "studio_storyboard_edit_prompt" says "edit": a word for a change.
Description, as the server wrote it Saves finished prompt text and existing uploaded references as an immutable storyboard revision. Whole/section scope writes shared sectionDirection; shot/still scope writes frame description and optional motion/camera. References replace targeted bindings; [] clears and omission inherits. Requires the current revision. No pictures, video, planning model or credit charge.
Annotations the server declares
- title: Save a finished video, section or still prompt
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_storyboard_prepareValidates and saves visualWorld for an existing Music or Film storyboard at expectedRevisionId.1 finding
Why it is in this group
- The description's first verb is "validate": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "studio_storyboard_prepare" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The description's first verb is "validate": a word for reading.
Description, as the server wrote it Validates and saves visualWorld for an existing Music or Film storyboard at expectedRevisionId. Preserves scenes, dialogue, timing, stable shot IDs, cast, identity choices and references. Returns ready synchronously for a valid world, or needs_visual_world with saved-scene context and schema when absent. An already-valid saved world returns ready without a new revision. No planning model, queue, generation provider or credit use.
Annotations the server declares
- title: Prepare the saved storyboard’s visual world
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_storyboard_redo_requestValidates a widget-selected stableShotId against the current visible storyboard and returns a request to price that picture change.1 finding
Why it is in this group
- The name "studio_storyboard_redo_request" says "request": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "studio_storyboard_redo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "studio_storyboard_redo_request" says "request": a word for a change.
Description, as the server wrote it Validates a widget-selected stableShotId against the current visible storyboard and returns a request to price that picture change. No approval, generation or spending.
Annotations the server declares
- title: Request a picture redo
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_storyboard_stills_quotePrices selected storyboard pictures without spending.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Prices selected storyboard pictures without spending. Supports missing pictures or new_version for exactly one existing picture, bound to the current revision, quality and stableShotIds. lookTest:true selects the saved bounded key-look set. Returns a signed picture-only quote and exact confirmation fields. Missing operationId is derived by the server; new_version uses a stable op_ ID. Chat approval and existing issued confirmation codes are supported. Short balance returns credit information only. This quote covers no video or planning model.
Annotations the server declares
- title: Price the storyboard pictures
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_storyboard_submitValidates and saves a finished Music storyboard with one DirectedShot per fixed shot order, exact expectedRevisionId/audioAnalysisId, optional treatment and visualWorld.No findings
Why it is in this group
- The name "studio_storyboard_submit" says "submit": a word for a change.
Description, as the server wrote it Validates and saves a finished Music storyboard with one DirectedShot per fixed shot order, exact expectedRevisionId/audioAnalysisId, optional treatment and visualWorld. Creates an immutable revision while preserving server-owned timing. visualWorld is required for quoting. No model, queue, provider or credit use.
Annotations the server declares
- title: Save a finished storyboard
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_storyboard_writeUpdates the supplied existing 30-second storyboard sections with what, type and included fields.No findings
Why it is in this group
- The name "studio_storyboard_write" says "write": a word for a change.
Description, as the server wrote it Updates the supplied existing 30-second storyboard sections with what, type and included fields. The server owns section indexes, count, names, timing and pictures. All supplied edits succeed together or the prior board is restored with a refusal identifying the failed section. No generation or credit charge.
Annotations the server declares
- title: Write the storyboard sections the customer drafted
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_video_startCreates a Music or Film project in the customer's catalogue.No findings
Why it is in this group
- The name "studio_video_start" says "start": a word for a change.
Description, as the server wrote it Creates a Music or Film project in the customer's catalogue. Accepts an existing artist name or a new fictional name with createArtist:true. Fictional characters require no photo or likeness consent; real-person creation retains the app consent flow. Music requires songTitle; Film requires title or songTitle and no song. Identical retries return the same project. Returns project identifiers for song upload or Film script import. No generation or charge.
Annotations the server declares
- title: Start a music video or film for this customer
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 40Claude Code: allow
studio_account_readRead the connected customer account and its current catalogue memberships.No findings
Why it is in this group
- The name "studio_account_read" says "read": a word for reading.
Description, as the server wrote it Read the connected customer account and its current catalogue memberships. Returns user details and up to 50 catalogues with roles. The connection determines identity; no account or workspace argument is accepted. Free.
Annotations the server declares
- title: Read Brix36 account
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_actor_readReturns an existing artist's Film castId, identity readiness and Film creation link.No findings
Why it is in this group
- The name "studio_artist_actor_read" says "read": a word for reading.
Description, as the server wrote it Returns an existing artist's Film castId, identity readiness and Film creation link. castId equals artistId. No duplicate actor or artist-flag change is created.
Annotations the server declares
- title: Use artist as Film actor
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_dna_readReturns identity summary, published photo pack, pending screening, approved creative facts and up to 20 recent social-scan statuses.No findings
Why it is in this group
- The name "studio_artist_dna_read" says "read": a word for reading.
Description, as the server wrote it Returns identity summary, published photo pack, pending screening, approved creative facts and up to 20 recent social-scan statuses. Pending or held photos retain their status. The app link identifies consent and scan controls. No scan, language model or image generation starts.
Annotations the server declares
- title: Read Artist DNA and photo status
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_readReturns one artist's profile, current revision and Artist DNA summary, including genres, visual notes and identity readiness.No findings
Why it is in this group
- The name "studio_artist_read" says "read": a word for reading.
Description, as the server wrote it Returns one artist's profile, current revision and Artist DNA summary, including genres, visual notes and identity readiness. The revision binds profile and cover edits. Read-only.
Annotations the server declares
- title: Read Brix36 artist
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_voice_readRead the artist’s saved speaking voice and revision, with a private sample link when available.No findings
Why it is in this group
- The name "studio_artist_voice_read" says "read": a word for reading.
Description, as the server wrote it Read the artist’s saved speaking voice and revision, with a private sample link when available. A recorded voice is already selected for this artist’s Film dialogue. No voice is created, no speech is generated and no credits are spent.
Annotations the server declares
- title: Read the artist’s own voice
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_voice_statusReturns pending, unknown, refused or succeeded for an earlier owned voice operation, with saved voice/revision on success.No findings
Why it is in this group
- The name "studio_artist_voice_status" says "status": a word for reading.
Description, as the server wrote it Returns pending, unknown, refused or succeeded for an earlier owned voice operation, with saved voice/revision on success. Unknown provider effects remain unresolved. This read does not repeat provider work or synthesize speech.
Annotations the server declares
- title: Recover a character voice request
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_artist_voices_listSearches the voice library's ready-made voices.No findings
Why it is in this group
- The name "studio_artist_voices_list" says "list": a word for reading.
Description, as the server wrote it Searches the voice library's ready-made voices. Returns offered opaque IDs, names, descriptions, selected voice, current revision and nextCursor. lib: voices use Brix36's account; acct: voices belong to connected personal accounts and are currently unavailable for Film. No speech generation or credit charge.
Annotations the server declares
- title: Find a character’s voice
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
studio_artists_listLists the customer's artists alphabetically, with IDs, names, identity kind, screened photo count, face-check status and whether the real-person video model can use them.No findings
Why it is in this group
- The name "studio_artists_list" says "list": a word for reading.
Description, as the server wrote it Lists the customer's artists alphabetically, with IDs, names, identity kind, screened photo count, face-check status and whether the real-person video model can use them. Artist IDs also identify Film cast members. Fictional characters need no photo or likeness consent; real-person artists retain the app's consent flow. Free, read-only pagination, up to 50 artists per page.
Annotations the server declares
- title: List the customer's artists, A to Z
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_creative_resultReturns an owned completed creative result by operationId with image.url or video.url, downloadUrl and gallery-widget data.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns an owned completed creative result by operationId with image.url or video.url, downloadUrl and gallery-widget data. Links are private and signed; another read refreshes expired links. The original source is retained. No processing or charge is repeated.
Annotations the server declares
- title: Read the finished creative result
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_credit_usage_listLists the connected customer's purchases, spends, refunds and adjustments newest first.No findings
Why it is in this group
- The name "studio_credit_usage_list" says "list": a word for reading.
Description, as the server wrote it Lists the connected customer's purchases, spends, refunds and adjustments newest first. Returns signed amounts, source, time, accessible projectTitle and nextCursor. Pagination preserves the cursor value. No wallet changes.
Annotations the server declares
- title: List Brix36 credit activity
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_credits_balance_readRead the connected customer wallet.No findings
Why it is in this group
- The name "studio_credits_balance_read" says "read": a word for reading.
Description, as the server wrote it Read the connected customer wallet. Returns productionBalance, sandboxBalance, spendableBalance, status, reviewReason and sandboxSpendingEnabled from the app ledger. A review_required wallet cannot spend. Free; purchases remain in the Brix36 app.
Annotations the server declares
- title: Read Brix36 credit balance
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_film_readReturns saved Film scenes, dialogue, cast, voice assignments, planning state and savedPlan.revision.No findings
Why it is in this group
- The name "studio_film_read" says "read": a word for reading.
Description, as the server wrote it Returns saved Film scenes, dialogue, cast, voice assignments, planning state and savedPlan.revision. Add include:['languages'] for supportedLanguages and nativeSpeechLanguages (the video model's own speech), and include:['artists'] for every artist who can join the cast; leave include out for the project view. nativeSpeechEngines holds model-specific evidence. Saved per-scene voice choices determine routing; absent saved voices use native speech. Audio-off prices are unavailable for speaking scenes. operationId reads prior plan progress without starting or settling work.
Annotations the server declares
- title: Read the Film, cast and dialogue
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_generation_statusWaits up to 45 seconds for an active rendering stage to finish, then returns its current state and continuation data.No findings
Why it is in this group
- The name "studio_generation_status" says "status": a word for reading.
Description, as the server wrote it Waits up to 45 seconds for an active rendering stage to finish, then returns its current state and continuation data. Reads a saved whole-job or picture-only operation by its original projectId and operationId. Returns approval and generation state, next-step data, balance or shortfall where applicable, and any fresh unapproved quote. Whole-job states include making_pictures, pictures_ready, video_waiting_for_payment, starting_video, making_video and failed. Picture-only approval covers only its quoted pictures. Video retains the original financial approval and applicable readiness gates; likeness not_required needs no likeness verdict. This free read does not advance stages or charge credits.
Annotations the server declares
- title: Where an approved generation has got to
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_generation_waitWaits up to 45 seconds for active picture generation or the finished video.No findings
Why it is in this group
- The name "studio_generation_wait" says "wait": a word for reading.
Description, as the server wrote it Waits up to 45 seconds for active picture generation or the finished video. projectId identifies the video; optional operationId identifies its original picture/video approval. A pending response is a nonterminal timeout containing the exact nextCall for another bounded wait. A completed video response contains video.url. Free and read-only; no generation, approval, quote, payment or credit change.
Annotations the server declares
- title: Wait for rendering and the finished video link
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_get_skillReturns one Brix36 creative skill, style card or writing guide by catalogue ID, including full body, version, hash and resource URI.No findings
Why it is in this group
- The name "studio_get_skill" says "get": a word for reading.
Description, as the server wrote it Returns one Brix36 creative skill, style card or writing guide by catalogue ID, including full body, version, hash and resource URI. Read-only.
Annotations the server declares
- title: Read a Brix36 creative skill
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_image_resultReturns the owned picture for an approved quoteId with image.url, downloadUrl and gallery-widget data once ready, or its current progress.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the owned picture for an approved quoteId with image.url, downloadUrl and gallery-widget data once ready, or its current progress. Links are private and signed; another read refreshes them. No processing or charge is repeated.
Annotations the server declares
- title: Read the finished picture
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_list_skillsSearches Brix36 creative skills and style cards by keyword, medium or family.No findings
Why it is in this group
- The name "studio_list_skills" says "list": a word for reading.
Description, as the server wrote it Searches Brix36 creative skills and style cards by keyword, medium or family. Returns summaries rather than full bodies, plus resource URIs and nextCursor. No Brix36 language-model call.
Annotations the server declares
- title: Find Brix36 creative skills
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_media_confirmReturns pending or accepted attachment status and assetId for the exact owned uploadToken.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns pending or accepted attachment status and assetId for the exact owned uploadToken. Reconciles the existing upload without creating a second attachment, generating media or spending credits.
Annotations the server declares
- title: Confirm the uploaded file
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_model_catalogueReturns the current Brix36 model catalogue, including profiles, settings, media limits, availability reasons, recommended choices and qualified starting prices in credits and GBP m…No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the current Brix36 model catalogue, including profiles, settings, media limits, availability reasons, recommended choices and qualified starting prices in credits and GBP minor units including VAT. Starting prices are distinct from generation quotes. Pagination uses nextCursor with the same kind. No generation or charge.
Annotations the server declares
- title: Browse Brix36 models and options
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_motion_catalogueList available Motion Graphics templates (lyric_video, audio_visualiser, living_cover, kinetic_type, club_tunnel, organic_landscape), 7 genre looks (pop, hiphop_drill, rnb, house_e…No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List available Motion Graphics templates (lyric_video, audio_visualiser, living_cover, kinetic_type, club_tunnel, organic_landscape), 7 genre looks (pop, hiphop_drill, rnb, house_edm, rock, country_acoustic, afrobeats), and all 24 popular motion styles with preview video URLs and input requirements. Read-only discovery.
Annotations the server declares
- title: Browse Motion Graphics catalogue
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_motion_quoteReturns the server price in credits and GBP including VAT, bound to the exact revision, output, source and runtime.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns the server price in credits and GBP including VAT, bound to the exact revision, output, source and runtime. A paid render requires one explicit customer approval of this exact price. Edits invalidate prior quotes. No debit or render.
Annotations the server declares
- title: Quote Motion render
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
studio_motion_readRead the exact authored scene and revision, including editable lyric cue timing, text and owned media layers.No findings
Why it is in this group
- The name "studio_motion_read" says "read": a word for reading.
Description, as the server wrote it Read the exact authored scene and revision, including editable lyric cue timing, text and owned media layers.
Annotations the server declares
- title: Read Motion scene
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_motion_resultRead the finished owned asset with video.url and authenticated playback/download links.No findings
Why it is in this group
- The description's first verb is "read": a word for reading.
Description, as the server wrote it Read the finished owned asset with video.url and authenticated playback/download links. Source media remain preserved. Pending work is not a completed result.
Annotations the server declares
- title: Get Motion result
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_motion_statusRead the original durable operation after pending, timeout or unknown outcome.No findings
Why it is in this group
- The name "studio_motion_status" says "status": a word for reading.
Description, as the server wrote it Read the original durable operation after pending, timeout or unknown outcome. Successful work includes playback and download links. Reconcile means the existing effect is being checked; no replacement render is started.
Annotations the server declares
- title: Read Motion render status
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_motion_waitWaits up to 40 seconds for the original Motion operation, then returns its finished video.url and downloadUrl or a nonterminal pending response with an exact nextCall.No findings
Why it is in this group
- The name "studio_motion_wait" says "wait": a word for reading.
Description, as the server wrote it Waits up to 40 seconds for the original Motion operation, then returns its finished video.url and downloadUrl or a nonterminal pending response with an exact nextCall. Each status read checks current access. No generation, approval or credit change.
Annotations the server declares
- title: Wait for Motion video link
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_projects_listLists the customer's videos newest first, optionally filtered by artistId.No findings
Why it is in this group
- The name "studio_projects_list" says "list": a word for reading.
Description, as the server wrote it Lists the customer's videos newest first, optionally filtered by artistId. Returns projectId, title, artist, status, picture, last-change time and nextCursor. Free and read-only, up to 50 projects per page.
Annotations the server declares
- title: List the customer's videos, newest first
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_reference_notes_listReturns a paginated list of existing approved, proposed or rejected reference notes for a project, optionally filtered by attachment.No findings
Why it is in this group
- The name "studio_reference_notes_list" says "list": a word for reading.
Description, as the server wrote it Returns a paginated list of existing approved, proposed or rejected reference notes for a project, optionally filtered by attachment. No server interpretation starts.
Annotations the server declares
- title: Read reference creative notes
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_references_listBrowse customer image/video references across their accessible projects, or filter one project.No findings
Why it is in this group
- The name "studio_references_list" says "list": a word for reading.
Description, as the server wrote it Browse customer image/video references across their accessible projects, or filter one project. Returns up to 50 references with projectId, attachmentId, signed contentUrl, scope, analysis status and a small preview of existing facts, plus nextCursor. Shot references affect only bound shots. Nothing is analysed by this tool.
Annotations the server declares
- title: List video and Film references
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_releases_listLists an artist's album, EP and single collections with projectIds, status, artwork, year, verified app project-creation links and nextCursor.No findings
Why it is in this group
- The name "studio_releases_list" says "list": a word for reading.
Description, as the server wrote it Lists an artist's album, EP and single collections with projectIds, status, artwork, year, verified app project-creation links and nextCursor. Free and read-only. MCP project creation currently creates standalone releases; collection project creation uses the app.
Annotations the server declares
- title: List artist release collections
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_section_enginesReturns engine options for one section of an existing generation quote identified by costEstimateId or quoteToken.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns engine options for one section of an existing generation quote identified by costEstimateId or quoteToken. Film sectionIndex is the saved zero-based scene.index. Includes availability, requirements, selection, server Recommended marker, allocated_final_total section share, availableProfiles and finalVideoCredits. Option selection_total is a whole alternative video quote total, excluding pictures. No selection change or spending.
Annotations the server declares
- title: Read the app’s quoted engine choices for a section
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_sections_readReturns the project's 30-second storyboard sections, including indexes, times, names, inclusion, pictures, action, Performance/Story type and lyric line IDs with lip-sync settings.No findings
Why it is in this group
- The name "studio_sections_read" says "read": a word for reading.
Description, as the server wrote it Returns the project's 30-second storyboard sections, including indexes, times, names, inclusion, pictures, action, Performance/Story type and lyric line IDs with lip-sync settings. These indexes and IDs identify inputs to section-edit tools. Free and read-only.
Annotations the server declares
- title: Read the storyboard sections and their lines
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_shot_video_references_readRead the actual owned driving-video references for a shot.No findings
Why it is in this group
- The name "studio_shot_video_references_read" says "read": a word for reading.
Description, as the server wrote it Read the actual owned driving-video references for a shot. These are distinct from extracted reference pictures. No paid work.
Annotations the server declares
- title: Read shot video references
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_song_statusRead the currently attached song and its technical analysis for a project.No findings
Why it is in this group
- The name "studio_song_status" says "status": a word for reading.
Description, as the server wrote it Read the currently attached song and its technical analysis for a project. Returns the song attachment, latest upload job status, analysis ID, measured duration, tempo, sections and existing themes when available. Absent analysis stays pending. Free; this never starts transcription, reasoning or a storyboard.
Annotations the server declares
- title: Read song upload and analysis
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_songs_listList one artist songs using the app canonical grouping, including their available project versions.No findings
Why it is in this group
- The name "studio_songs_list" says "list": a word for reading.
Description, as the server wrote it List one artist songs using the app canonical grouping, including their available project versions. Returns a bounded songs page and nextCursor. Each song projectId identifies the project holding that song version. Free; this does not upload or generate audio.
Annotations the server declares
- title: List artist songs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_storyboard_contextReturns current song analysis, brief, approved Artist DNA, references, exact shot timings and storyboard for a Music project.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns current song analysis, brief, approved Artist DNA, references, exact shot timings and storyboard for a Music project. Includes audioAnalysisId, expectedRevisionId, fixed skeleton, approved evidence and submission schema for direction and visualWorld. No planning model or other work starts.
Annotations the server declares
- title: Read the song and fixed storyboard format
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_storyboard_previewReturns the stored storyboard as 30-second section cards with lines and numbered shots.No findings
Why it is in this group
- The name "studio_storyboard_preview" says "preview": a word for reading.
Description, as the server wrote it Returns the stored storyboard as 30-second section cards with lines and numbered shots. Each shot includes stableShotId and a signed stillUrl valid for about a day, or null if no picture exists. Supported hosts also receive an interactive preview. Free and read-only.
Annotations the server declares
- title: Preview the storyboard
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_storyboard_readinessReturns readyForVideo, shotsMissingStills, public likenessGate, look-test state and reviewStills for the exact project and revision.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns readyForVideo, shotsMissingStills, public likenessGate, look-test state and reviewStills for the exact project and revision. Each review binding identifies a saved stableShotId/stillAssetId. A likenessGate of not_required needs no likeness verdict; an absent look test needs no look acceptance. Required likeness verdicts and acceptance of the saved look set are recorded separately. Video uses the original approved price and the existing readiness gates. No state change, provider call or charge.
Annotations the server declares
- title: Check storyboard picture readiness
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_video_exportReturns signed download links for existing finished Music video or Film results and selected range files, including results beside unfinished edits.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Returns signed download links for existing finished Music video or Film results and selected range files, including results beside unfinished edits. No public publishing, render, payment or extra export charge.
Annotations the server declares
- title: Get a video download link
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_video_previewReturns current edit status and signed playback links for an existing finished master or selected range files, including finished results beside unfinished edits.No findings
Why it is in this group
- The name "studio_video_preview" says "preview": a word for reading.
Description, as the server wrote it Returns current edit status and signed playback links for an existing finished master or selected range files, including finished results beside unfinished edits. Supported hosts receive players. No generation or credit charge.
Annotations the server declares
- title: Play the finished video
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
studio_video_statusWaits up to 45 seconds while rendering, then returns draft, storyboard_ready, making, ready or needs_attention state, section progress counts, the studio's explanation and video.ur…No findings
Why it is in this group
- The name "studio_video_status" says "status": a word for reading.
Description, as the server wrote it Waits up to 45 seconds while rendering, then returns draft, storyboard_ready, making, ready or needs_attention state, section progress counts, the studio's explanation and video.url when finished, with selected range labels, extent and original file links. Excluded sections are counted separately from failures. Provider fallback remains within the quoted price. No new work or charge.
Annotations the server declares
- title: How this video is going, and the finished video link
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.2.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http brix36 https://api.brix36.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__brix36__studio_artists_list",
"mcp__brix36__studio_projects_list",
"mcp__brix36__studio_model_catalogue",
"mcp__brix36__studio_songs_list",
"mcp__brix36__studio_song_status",
"mcp__brix36__studio_media_confirm",
"mcp__brix36__studio_sections_read",
"mcp__brix36__studio_storyboard_preview",
"mcp__brix36__studio_video_preview",
"mcp__brix36__studio_video_export",
"mcp__brix36__studio_generation_status",
"mcp__brix36__studio_generation_wait",
"mcp__brix36__studio_video_status",
"mcp__brix36__studio_storyboard_readiness",
"mcp__brix36__studio_list_skills",
"mcp__brix36__studio_get_skill",
"mcp__brix36__studio_account_read",
"mcp__brix36__studio_credits_balance_read",
"mcp__brix36__studio_credit_usage_list",
"mcp__brix36__studio_artist_read",
"mcp__brix36__studio_artist_actor_read",
"mcp__brix36__studio_artist_dna_read",
"mcp__brix36__studio_references_list",
"mcp__brix36__studio_reference_notes_list",
"mcp__brix36__studio_releases_list",
"mcp__brix36__studio_film_read",
"mcp__brix36__studio_artist_voices_list",
"mcp__brix36__studio_artist_voice_status",
"mcp__brix36__studio_storyboard_context",
"mcp__brix36__studio_section_engines",
"mcp__brix36__studio_artist_voice_read",
"mcp__brix36__studio_shot_video_references_read",
"mcp__brix36__studio_creative_result",
"mcp__brix36__studio_image_result",
"mcp__brix36__studio_motion_read",
"mcp__brix36__studio_motion_quote",
"mcp__brix36__studio_motion_status",
"mcp__brix36__studio_motion_wait",
"mcp__brix36__studio_motion_result",
"mcp__brix36__studio_motion_catalogue"
],
"ask": [
"mcp__brix36__studio_video_start",
"mcp__brix36__studio_song_attach",
"mcp__brix36__studio_artist_photo",
"mcp__brix36__studio_media_upload_widget",
"mcp__brix36__studio_media_upload_url",
"mcp__brix36__studio_media_import_url",
"mcp__brix36__studio_storyboard_write",
"mcp__brix36__studio_sections_update",
"mcp__brix36__studio_sections_set_line_sync",
"mcp__brix36__studio_film_script_write",
"mcp__brix36__studio_storyboard_redo_request",
"mcp__brix36__studio_generation_quote",
"mcp__brix36__studio_ai_sharing_choose",
"mcp__brix36__studio_storyboard_stills_quote",
"mcp__brix36__studio_storyboard_approve",
"mcp__brix36__studio_song_understanding_write",
"mcp__brix36__studio_account_links_read",
"mcp__brix36__studio_ready_made_stars_list",
"mcp__brix36__studio_artist_ready_made_choose",
"mcp__brix36__studio_artist_create",
"mcp__brix36__studio_artist_update",
"mcp__brix36__studio_artist_dna_write",
"mcp__brix36__studio_artist_reference_add",
"mcp__brix36__studio_artist_cover_set",
"mcp__brix36__studio_song_reuse",
"mcp__brix36__studio_reference_upload_link",
"mcp__brix36__studio_reference_add",
"mcp__brix36__studio_reference_note_add",
"mcp__brix36__studio_release_create",
"mcp__brix36__studio_project_rename",
"mcp__brix36__studio_artist_reference_pack_quote",
"mcp__brix36__studio_film_scenes_write",
"mcp__brix36__studio_artist_voice_choose",
"mcp__brix36__studio_storyboard_prepare",
"mcp__brix36__studio_storyboard_submit",
"mcp__brix36__studio_storyboard_edit_prompt",
"mcp__brix36__studio_section_engine_select",
"mcp__brix36__studio_artist_voice_record",
"mcp__brix36__studio_picture_use_upload",
"mcp__brix36__studio_project_palette_write",
"mcp__brix36__studio_shot_video_references_write",
"mcp__brix36__studio_copy_save",
"mcp__brix36__studio_copy_read",
"mcp__brix36__studio_image_quote",
"mcp__brix36__studio_motion_create",
"mcp__brix36__studio_motion_update",
"mcp__brix36__studio_motion_preview",
"mcp__brix36__studio_motion_use",
"mcp__brix36__studio_motion_restore"
],
"deny": [
"mcp__brix36__studio_video_plan",
"mcp__brix36__studio_storyboard_picture_changes_prepare",
"mcp__brix36__studio_generation_confirm",
"mcp__brix36__studio_storyboard_stills_confirm",
"mcp__brix36__studio_storyboard_likeness_record",
"mcp__brix36__studio_storyboard_look_accept",
"mcp__brix36__studio_artist_delete",
"mcp__brix36__studio_artist_reference_delete",
"mcp__brix36__studio_reference_note_update",
"mcp__brix36__studio_reference_delete",
"mcp__brix36__studio_project_delete",
"mcp__brix36__studio_artist_reference_pack_confirm",
"mcp__brix36__studio_image_confirm",
"mcp__brix36__studio_project_dna_pin",
"mcp__brix36__studio_project_artist_presence_set",
"mcp__brix36__studio_film_set_speech_voice",
"mcp__brix36__studio_film_direction_set",
"mcp__brix36__studio_film_assign_actor",
"mcp__brix36__studio_film_add_line",
"mcp__brix36__studio_film_edit_line",
"mcp__brix36__studio_film_remove_line",
"mcp__brix36__studio_film_toggle_camera",
"mcp__brix36__studio_film_toggle_sound",
"mcp__brix36__studio_film_set_lip_sync",
"mcp__brix36__studio_film_set_duration",
"mcp__brix36__studio_motion_confirm"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as brix36. Review it before you use it.