Skip to main content
Glama

fpt_launch_app

Launch a DCC application in the correct ShotGrid context by routing through Toolkit's tank CLI when available, otherwise fall back to a direct app open. Resolve versions and Flame project links.

Instructions

Launch a DCC application scoped to a ShotGrid entity.

Discovery is OS-first: if the app is not installed on this machine the tool fails immediately without consulting ShotGrid. When the owning project has an Advanced Setup PipelineConfiguration whose tank CLI is reachable on disk, the launch is routed through tank so Toolkit pre-launch hooks run and the app opens in the correct context. Otherwise the tool falls back to a direct open -a launch and surfaces a warning — the app still opens, but without context injection from Toolkit.

Version selection: the FPT-selected version (SG Software version_names) is authoritative over "newest installed"; a warning names both when the selected one is not installed locally.

MAYA / Sequence: a bare Sequence launch is step-LESS (no work templates); the tank route resolves it to its Step Task (step param, default Layout) so Maya boots the sequence_layout env.

FLAME (route='auto'/'direct'): NATIVE-LINK DISCOVERY drives the launch (Chat 93). The tool reads each local project's stored FPT link (shotgunProjectName, from the project metadata clib on disk — the 1:1 native relation): exactly one linked to this FPT project → opens it directly (payload fpt_linked=true); several → INCONSISTENT error (break the wrong project's link from Flame's own FPT menu); none → choice_required with the local list (each project's link included) — ask the user and re-call with flame_project=. Links are CREATED and BROKEN only from Flame's own Flow Production Tracking menu: flame-mcp's fpt_link merely reports the link (its write path was removed in Chat 98 — it triggered Flame's error report in-vivo). "already running" refusal: single-instance + project locks (close it or force=true).

Common failure modes to explain to the user if they surface:

  • error: "... is not installed ..." — the DCC binary is not under the expected install path. Tell the user to install it and retry.

  • Popen succeeds but the launched process dies immediately with a tank message like EOF when reading a line or Authentication ... expired. This means the Toolkit tank CLI lost its cached session. The user must run <PipelineConfiguration>/tank <Entity> <id> once in an interactive terminal, authenticate via the browser, and retry. The tool cannot do this because it cannot deliver the browser approval step.

  • Popen succeeds but tank errors with does not exist on disk for an engine (e.g. tk-shell v0.10.2). The pipeline config expects bundles under <config>/install/ which are absent. Suggest the user add bundle_cache_fallback_roots pointing to ~/Library/Caches/Shotgun/bundle_cache in the config's pipeline_configuration.yml.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden — and it delivers: it discloses the degraded fallback path ('falls back to a direct open -a launch and surfaces a warning'), side effects ('can CREATE a missing Flame project'), the 'already running' single-instance refusal with its force override, and three fully documented failure modes with root causes and remediation steps. It even discloses an architectural limitation ('The tool cannot do this because it cannot deliver the browser approval step'). The Chat 93/98 references indicate provenance and that the FLAME write path was deliberately removed, preempting confusion about missing functionality. No contradictions with annotations exist since none are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The structure is excellent: front-loaded purpose, then clearly delineated sections (OS-first, version selection, MAYA/Sequence, FLAME, refusal, failure modes) using a scannable headerless markdown format. Every section earns its place for a tool of this complexity, and the failure-mode catalog is dense with load-bearing knowledge rather than fluff. However, inline references like 'Chat 93' and 'Chat 98' are historical noise for a fresh agent, and the step-parameter explanation appears in both the description and the schema, creating slight redundancy. It could shed 10% of its bulk (especially the Chat references) without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, multi-DCC tool with three routing modes and an interactive discovery protocol, this description is exceptionally complete: purpose, scope, routing fallbacks, precedence rules, per-DCC behavior, interaction loop, overrides, explicit failure taxonomy, and user-facing remediation — everything is present. An agent facing an auth-expiry or bundle_cache_fallback_roots error would be able to diagnose and communicate the issue without ever seeing the real failure. With an output schema present, the absence of return-value details is correct, not a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema coverage, the description deeply enriches the highest-complexity parameters: step ('a bare Sequence launch is step-LESS... resolves it to its Step Task'), route ('for flame this runs pre-launch hooks and can CREATE a missing Flame project'), and flame_project (link discovery and the 1:1/INCONSISTENT/none semantics). Parameters like dry_run, workspace, and force are left entirely to the schema's own detailed descriptions, which is acceptable for the low-ambiguity ones but slightly asymmetric with the depth given to others. The description focuses its limited compensation budget exactly where parameter semantics are non-obvious.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence — 'Launch a DCC application scoped to a ShotGrid entity' — provides a specific verb (launch), a specific resource type (DCC application), and a clear scope (ShotGrid entity), which cleanly distinguishes it from the querying/uploading/publish siblings in its list. The 'scoped to a ShotGrid entity' phrasing conveys the same scope-narrowing quality as the get_calls HIGH example's 'in date range' qualifier. Purpose is instantly graspable with no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Massively explicit: describes the internal route selection ('auto' prefers toolkit; 'direct' skips it; 'toolkit' forces pre-launch hooks), the choice_required protocol ('ask the user and re-call with flame_project=<choice>'), and the precedence rule ('FPT-selected version... is authoritative over newest installed'). The list_projects schema description adds 'Use after list_projects/choice_required' and the critical exclusion 'never guess: a name-derived match is NOT evidence of a native FPT link'. The FLAME decision tree (one link → open directly; several → INCONSISTENT; none → choice_required) functions as explicit when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/abrahamADSK/fpt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server