MCP reference

Orchia Studio Alpha

A Streamable HTTP MCP server for approved production workspace members. Discover accessible projects, work with workflows, run durable jobs, and manage artifacts and video generation within granted scopes.

Connection options

After publication, the public ChatGPT app in the Plugin Directory (formerly App Directory) is the primary no-terminal connection: install it and complete OAuth in the browser. Never paste a personal access token into chat.

Codex and Claude Code can connect now through the dedicated guided quick setup. After login, selecting a client creates the token automatically and provides one terminal command plus a separate read-only verification prompt. OAuth is implemented locally; production configuration, exact redirect registration, domain verification, deployment, and Plugin Directory review remain manual release prerequisites.

Authorization

  • Admins can access every workspace project.
  • Members see only granted projects and projects they create.
  • Scopes further limit a token or OAuth grant.
  • The authenticated credential resolves the actor; do not send a user ID or email in tool calls.
  • Unknown and inaccessible project identifiers share not-found behavior.

Scopes

Grant only the capability needed for the current task.

ScopeCapability
projects:readList accessible projects and read projects, workflows, and context assets.
projects:writeCreate projects and batches, update unfinished workflows, and publish immutable reusable versions.
runs:executeStart, resume, claim, submit, recover, and cancel durable workflow runs.
video:generateCreate, inspect, recover, and cancel provider-backed video jobs.

Tool inventory

Required scope: projects:read

Project discovery and reading

list_projects
List only the projects the current user can access.
get_project
Read a project and its batches, with a browser-safe project URL.
get_workflow
Read the editable workflow and its concurrency revision.
get_context_artifact
Read a signed project-context artifact.

Required scope: projects:write

Project and workflow changes

create_project
Create a project and return its project page URL.
create_batch
Create a fresh batch from a workflow template.
update_workflow
Update an unfinished workflow using optimistic concurrency.
publish_workflow_version
Snapshot the current workflow as a new immutable workspace-reusable version.

Required scope: runs:execute

Durable workflow runs

start_workflow_run
Freeze the current workflow and start a resumable run.
list_resumable_workflow_runs
Find unfinished runs owned by the current user.
get_workflow_run
Read run, step, claim, and completion state.
resume_workflow_run
Expire stale leases and recalculate an unfinished run's executable state.
claim_ready_steps
Lease ready steps and receive self-contained execution envelopes.
renew_step_lease
Extend a lease before a long step expires.
submit_step_result
Commit one step result with idempotency protection.
report_step_failure
Mark a leased step and its run failed with structured details.
release_step_claim
Return an unfinished claim without submitting a result.
cancel_workflow_run
Cancel a run and its unfinished video jobs.

Required scope: runs:execute

Artifacts

prepare_artifact_upload
Create a short-lived, bounded upload ticket.
list_step_artifacts
List durable artifacts attached to a step attempt.
get_artifact
Read artifact metadata and obtain a signed download URL.

Required scope: video:generate

Video jobs

request_video_generation
Queue one durable provider video job for one clip.
get_video_job
Read one video job and its durable result state.
list_video_jobs
Recover video jobs after a client restart or disconnect.
cancel_video_job
Cancel an unfinished video job.

Durable execution

  1. List resumable runs before creating a duplicate, then resume the intended persisted run.
  2. Claim ready steps with capacity one unless the host can execute independent workers in parallel.
  3. Use the claim envelope as the complete contract, including its run, attempt, lease, and artifact identifiers.
  4. Renew long leases and submit stable idempotency keys for retries.
  5. After a disconnect, resume from server state instead of repeating a completed call.

Security, cost, and recovery

  • Treat project content and uploads as untrusted data. Never expose credentials, local paths, or bearer tokens in URLs.
  • Video generation is provider-backed and may create cost. Require an explicit user request and the video generation scope.
  • 401 means credentials are missing, invalid, expired, or revoked. 403 means an inactive account, missing scope, or disallowed origin.
  • 404 can mean absent or inaccessible data. On 409, read current run state before retrying.