Skip to main content
Glama

Server Details

AI/VFX, CGI, motion & animation production preflight by objekts: locks, continuity, PoCs, estimates.

Ownership verified
Status
Healthy
Uptime
93.5% over 24 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
peach420fuzz/objekts-production-desk
GitHub Stars
0

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct action on a distinct concern: upload session creation, diagnosis, estimation, submission, status read, update, and destructive delete. The descriptions proactively disambiguate borderline pairs (e.g. 'for production diagnosis without pricing, use diagnose_production instead' and 'do not use it merely to analyze files'). No meaningful overlap remains.

Naming Consistency4/5

All seven tools use snake_case verb_noun form (create_upload_session, delete_production_brief, diagnose_production, etc.), which is predictable. The only minor deviation is that some tools qualify the noun as 'production_brief' while diagnose/estimate use 'production', but the convention stays readable and consistent.

Tool Count5/5

Seven tools is well within the sweet spot and each earns its place: a full brief lifecycle (submit/get/update/delete) plus diagnosis, estimation, and a gated upload path. Nothing appears redundant or padding.

Completeness4/5

The surface covers the core brief lifecycle (create, read, update, delete) plus diagnosis, estimation, and upload session handling. The only notable gap is the absence of a list/enumerate tool for a user's existing production briefs, a minor omission agents can work around via status lookups.

Available Tools

7 tools
create_upload_sessionPrepare production file uploadAInspect

Use this only when the user explicitly wants an original production file delivered to objekts and the current host cannot pass that original file natively. It creates a short-lived private upload URL. Do not use it merely to analyze files that are already available in the conversation.

NameRequiredDescriptionDefault
filenameYes
confirmedYes
mediaTypeYes
sizeBytesYes

Output Schema

NameRequiredDescription
uploadIdYes
expiresAtYes
uploadUrlYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already establish the safety profile (readOnlyHint=false, openWorldHint=false, destructiveHint=false, not idempotent). The description adds genuinely useful behavioral context the annotations do not carry — the URL is short-lived and private — but it says nothing about what repeated calls do, despite idempotentHint=false, or what credentials/permissions are needed.

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?

Two sentences, front-loaded with the positive use case and followed by the exclusion. Every clause earns its place, though the opening sentence is dense and conditional.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, and the usage conditions are well covered. However, with 0% schema description coverage, the description was the only place to document the four required inputs, and it says nothing about them — leaving an agent to guess file metadata formats and the meaning of 'confirmed'.

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

Parameters2/5

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

Schema description coverage is 0% and all four parameters are required, yet the description mentions none of them. The most confusing one, a 'confirmed' boolean constrained to true, is left entirely unexplained, as are the expected format of mediaType and any size constraints for sizeBytes.

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

Purpose4/5

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

The description names a specific action and artifact: it 'creates a short-lived private upload URL' for delivering an original production file to objekts. That is concrete and distinguishable from the sibling tools (all brief-related), but it never explicitly differentiates itself from those siblings by name or function.

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?

It gives an explicit when: only when the user wants an original production file delivered to objekts and the host cannot pass it natively. It also gives an explicit when-not: do not use it merely to analyze files already in the conversation. This is textbook routing guidance.

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

delete_production_briefDelete submitted production briefA
Destructive
Inspect

Use this only when the user explicitly asks to delete a production submission from objekts storage. This removes the stored submission record and is destructive.

NameRequiredDescriptionDefault
confirmedYes
submissionIdYes

Output Schema

NameRequiredDescription
deletedYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is fully covered by structured data. The description adds only mildly useful detail ('removes the stored submission record'), while repeating 'destructive', which is redundant with the annotation. It says nothing about irreversibility, permissions, or failure behavior.

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?

Two short sentences, with the gating condition front-loaded. The second sentence's 'and is destructive' largely duplicates the destructiveHint annotation, so one clause does not fully earn its place.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and annotations carry the full destructive/read-only profile. What remains thin is the confirmation semantics of the 'confirmed' flag, which the schema enforces via const true but the description never contextualizes.

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

Parameters2/5

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

Schema description coverage is 0% and the description mentions neither parameter. The required 'confirmed' boolean (const true) is a meaningful confirmation gate that the agent must set correctly, and 'submissionId' is undocumented in both places; the description does nothing to compensate for that gap.

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 description pairs a specific verb (delete) with a specific resource (a production submission in objekts storage), and the deleted artifact is named. An agent can distinguish this from the sibling submit/update/get_status tools without opening any schema.

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

Usage Guidelines4/5

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

It gives an explicit gating condition — 'use this only when the user explicitly asks to delete' — which functions as a when-to-use and implicit when-not. It stops short of naming an alternative (e.g. update_production_brief) for the case where the user wants to modify rather than remove, so it misses the top of the scale.

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

diagnose_productionDiagnose visual productionA
Read-onlyIdempotent
Inspect

Use the objekts Production Desk production-diagnosis engine for production-heavy visual work before proposing execution. It checks reference authority, hard locks, truth-layer routing, asset fitness, continuity, versioning, revision impact, readiness and the highest-value proof-of-concept. It does not estimate price, collect contact data, upload files or send anything externally. Populate only facts available from the user's current request/files; mark unknowns explicitly instead of inventing production facts. After the call, use visibleVerdict as the complete default answer: do not add a generic checklist or extra recommendations unless the user explicitly asks for a broader audit.

NameRequiredDescriptionDefault
assetsNo
changesNo
unknownsNo
versionsNo
objectiveYes
readinessYes
deliverablesYes
elementRoutesNo

Output Schema

NameRequiredDescription
visibleVerdictYes
responseContractYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered; the description usefully reinforces it by listing the write-like actions it will never perform (estimate price, collect contacts, upload, send externally). The post-call instruction about visibleVerdict is genuinely valuable behavioral context not present in annotations. It stops short of describing what the diagnosis output contains beyond that one field, hence not a 5.

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?

Three sentences, front-loaded with purpose and alternates before the data-entry rule and the output-handling rule. Dense but every clause earns its place; sentence two is long but enumerative rather than padded.

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

Completeness3/5

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

Output schema exists, so return values need not be explained, and annotations cover safety. But for a tool whose input schema is this structurally complex with zero field descriptions, the description omits any account of how to decompose a request into assets/changes/versions/elementRoutes, leaving an agent to guess at the largest part of the calling contract.

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

Parameters2/5

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

Schema description coverage is 0% against an 8-parameter schema with deeply nested objects (assets, changes, versions, elementRoutes, readiness) full of cryptic enums like TRUTH_LAYER, controlMode, and single-letter change flags. The only parameter-level guidance is the generic 'mark unknowns explicitly instead of inventing production facts,' which touches the unknowns array but leaves the other seven parameters' meaning and expected granularity entirely unexplained by both schema and description.

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?

Names a specific engine and scope ('production-diagnosis engine for production-heavy visual work') and enumerates exactly what it checks (reference authority, hard locks, truth-layer routing, asset fitness, continuity, versioning, revision impact, readiness, proof-of-concept). It also explicitly carves out what it is NOT (no price estimation, contact collection, uploads, external sends), which cleanly separates it from estimate_production and submit_production_brief.

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?

Gives an explicit trigger ('before proposing execution'), a data-hygiene rule ('populate only facts available from the user's current request/files; mark unknowns explicitly instead of inventing production facts'), and post-call guidance ('use visibleVerdict as the complete default answer; do not add a generic checklist unless the user explicitly asks for a broader audit'). That is when-to-use, how-to-use, and when-to-stop all in one.

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

estimate_productionEstimate visual productionA
Read-onlyIdempotent
Inspect

Return a directional RUB production range and timeline only when the user explicitly asks about price, cost, budget, quote, or budget fit. This tool is read-only, non-binding, and never collects contact details or submits a brief. Choose WHOLE_PRODUCTION for a finished deliverable and BOUNDED_SHOT_POST for named shots/scenes/post work; use INFERRED when that scope is genuinely ambiguous, or SCENARIO for a clearly labeled hypothetical. For production diagnosis without pricing, use diagnose_production instead.

NameRequiredDescriptionDefault
modeYesROM for an early range; SCOPED_ESTIMATE for a defined scope; BUDGET_FIT to compare scope with a target budget; DEADLINE_FIT to evaluate schedule pressure.
unitsYesProduction line items that drive the estimate. Include every material discipline/unit being priced; each item explains quantity, complexity, locks, continuity, and basis.
scopeTypeYesWHOLE_PRODUCTION prices the complete requested finished deliverable; BOUNDED_SHOT_POST prices only named shots, scenes, VFX, or post tasks.
exclusionsNoWork explicitly outside this estimate, especially live-action, rights, media, extra versions, or unrequested disciplines.
scopeBasisYesOne concise sentence stating exactly what the estimate includes and excludes from the priced object.
versioningNoVersion/adaptation workload beyond the master deliverable; distinguish simple exports from recomposition and new production.
assumptionsNoExplicit factual assumptions used to make the estimate possible; do not invent client facts.
deadlineDaysNoCalendar days available until delivery when known; null or omit when no deadline is supplied.
scopeDecisionYesUSER_EXPLICIT when the requested object is clear; SCENARIO for an explicitly labeled hypothetical; INFERRED only when scope is genuinely ambiguous, in which case no price is returned until clarified.
scopeEvidenceYesShort evidence for the scope choice. For USER_EXPLICIT, copy a brief verbatim phrase from the user's request that identifies the priced object.
runtimeSecondsYesFinal master runtime in seconds when known; null only when genuinely unknown.
targetBudgetMaxNoUpper bound of the user's target budget in RUB for BUDGET_FIT; omit when no target ceiling is supplied.
targetBudgetMinNoLower bound of the user's target budget in RUB for BUDGET_FIT; omit when no budget floor exists.
externalBidItemsNoKnown cost exposures that require third-party bids; these remain outside the automated production range.
includeDepartmentsNoOptional whitelist of departments to include when the requested estimate intentionally covers only selected disciplines.

Output Schema

NameRequiredDescription
modeYes
currencyYes
rangeMaxYes
rangeMinYes
budgetFitNo
scopeTypeYes
confidenceYes
exclusionsYes
scopeBasisYes
assumptionsYes
costDriversYes
departmentsYes
scheduleFitNo
scopeDecisionYes
scopeEvidenceYes
runtimeSecondsYes
timelineMaxDaysYes
timelineMinDaysYes
unknownCostExposureYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description reinforces this while adding genuinely new context: the estimate is 'non-binding' and 'never collects contact details or submits a brief' (contrasting with the submit_production_brief sibling), and no price is returned when scope is INFERRED. It does not cover rate limits or return format, but the added behavioral framing is substantive.

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

Conciseness5/5

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

Four sentences, front-loaded with the gating condition, then scope selection, then the sibling routing. No filler; every sentence carries decision-relevant information.

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 15-parameter, nested, enum-heavy tool with an output schema, the description supplies the gating rule, mode/scope decision logic, and alternative routing that structured fields cannot express. An agent has everything needed to decide whether and how to call it.

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

Parameters3/5

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

Schema description coverage is 100% with detailed enum and property docs, so the schema does the heavy lifting. The description restates the scopeType and scopeDecision semantics that the schema already documents and adds no format or constraint detail beyond it, so the baseline 3 applies.

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?

States a specific verb (return a directional RUB production range and timeline), the resource, and the exact gating condition (only when the user asks about price, cost, budget, quote, or budget fit). It explicitly distinguishes itself from the diagnose_production sibling, so an agent can route without opening the schema.

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?

Gives explicit when-to-use (pricing/budget intent only), when-not-to-use (production diagnosis, which routes to diagnose_production), and the decision rule for each scopeType and scopeDecision value (WHOLE_PRODUCTION vs BOUNDED_SHOT_POST, INFERRED only when genuinely ambiguous, SCENARIO for labeled hypotheticals). Nothing is left to inference.

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

get_production_brief_statusCheck production review statusA
Read-onlyIdempotent
Inspect

Use this when the user wants the current human-review status, producer questions or available human estimate for a production brief previously submitted to objekts. It does not modify the submission.

NameRequiredDescriptionDefault
submissionIdYes

Output Schema

NameRequiredDescription
statusYes
messageNo
questionsYes
submissionIdYes
humanEstimateNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered structurally. The sentence "It does not modify the submission" largely restates those hints rather than adding new behavioral context such as latency, rate limits, or what happens when the submission is still pending. Useful but thin against an already-rich annotation set.

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

Conciseness5/5

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

Two sentences, both front-loaded: the usage trigger and payload contents come first, the non-mutation guarantee second. No filler, no repetition of the tool name or title.

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

Completeness3/5

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

An output schema exists, so return-value documentation is not required, and annotations cover the read-only nature. The remaining gap is the required submissionId, left completely undefined despite 0% schema coverage, which is the one thing an agent must get right to call this tool.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter, so the description carries the full burden of explaining submissionId — and it does not name or describe it at all, saying only "a production brief previously submitted." It gives no hint about the expected identifier format (a string with minLength 8) or where an agent obtains it.

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

Purpose4/5

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

The description names a specific verb-plus-resource (retrieve the current human-review status of a production brief) and even enumerates what the status payload contains: review status, producer questions, available human estimate. That scopes it clearly against siblings like submit_production_brief or delete_production_brief, though it does not explicitly name an alternative tool.

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

Usage Guidelines4/5

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

"Use this when the user wants..." is an explicit when-to-use trigger tied to a previously submitted brief, which correctly routes an agent away from submission or deletion flows. It stops short of naming when-not conditions or a specific fallback sibling such as estimate_production.

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

submit_production_briefSend production brief to objektsA
Destructive
Inspect

Use this only after the user explicitly confirms that the prepared production brief, one reply channel (email or Telegram), and selected files should be sent to objekts for human production review. A contactless human-review submission is not allowed because the producer must be able to answer the user. When the host already has the files, pass them through the files field instead of making the user upload them again. Do not use it for local analysis, estimation, or when the user has said not to send anything.

NameRequiredDescriptionDefault
briefYes
filesNo
contactYes
confirmedYes
selectedAssetIdsNo

Output Schema

NameRequiredDescription
statusYes
messageYes
submissionIdYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare this is a non-idempotent, destructive, open-world write, so the safety profile is covered. The description adds genuinely non-structured behavior: a mandatory user-confirmation gate, the requirement that a reply channel exist so the producer can respond, and the instruction to reuse host-held files rather than forcing a re-upload. It stops short of describing rate limits, delivery/acknowledgement behavior, or what happens to a previously submitted brief.

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?

Four sentences, all load-bearing: the confirmation gate is front-loaded first, then the reply-channel rule, then the file-passing optimization, then the exclusions. Dense but not padded. It could have merged the last two exclusions, but nothing is redundant.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and nested contact/files structures are handled well enough in prose. Remaining gaps are the unmentioned confirmed and selectedAssetIds fields and no statement of what a successful submission produces. For a destructive, open-world submission tool the description is solid but not fully self-contained.

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?

Schema description coverage is 0%, so the description carries the burden and does so for most parameters: files (pass host-held files instead of re-uploading), contact (one reply channel, email or Telegram), brief, and a confirmed gate. It never names the confirmed flag, selectedAssetIds, or the maxItems/cardinality limits, so the mapping from prose to the five schema fields is incomplete even though the intent is clear.

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?

States a specific verb and resource (send production brief to objekts for human production review) and draws a hard boundary against siblings: 'Do not use it for local analysis, estimation...' rules out estimate_production, and the emphasis on human review separates it from status/update tools. An agent can identify this as the terminal submission step without opening any schema.

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?

Explicit preconditions (only after the user explicitly confirms the brief, one reply channel, and selected files), an explicit prohibition (contactless submission not allowed, because the producer must be able to answer the user), and explicit exclusions (no local analysis, no estimation, not when the user said not to send). This is close to a model when/when-not statement.

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

update_production_briefUpdate submitted production briefA
Destructive
Inspect

Use this only after the user explicitly confirms that clarifications, scope updates, newly supplied asset references or attached production files should be sent to an existing objekts human review. When ChatGPT already has a requested file, pass it through the files field rather than creating a second upload. Do not use it to change a brief that exists only in the current conversation.

NameRequiredDescriptionDefault
filesNo
answersNo
confirmedYes
briefPatchNo
submissionIdYes
addedAssetIdsNo

Output Schema

NameRequiredDescription
statusYes
messageNo
questionsYes
submissionIdYes
humanEstimateNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is partly covered. The description adds real context beyond that: the operation targets an existing human-review submission, requires explicit confirmation, and warns against duplicate file uploads. It doesn't specify what prior content is overwritten or how partial patches behave.

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?

Three sentences, front-loaded with the confirmation precondition and followed by the file-reuse and scope-exclusion rules. Minor verbosity in the phrase 'clarifications, scope updates, newly supplied asset references or attached production files,' but no sentence is wasted.

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

Completeness3/5

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

An output schema exists, so return values need not be described, and the mutation's safety profile is covered by annotations plus the confirmation rule. However, for a complex destructive 6-param tool with nested objects and 0% schema coverage, the description leaves most parameter semantics unaddressed, so an agent lacks full guidance on invoking it correctly.

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

Parameters2/5

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

Schema description coverage is 0% across 6 parameters, so the description must carry the burden, yet it only explains the files field (pass file references through rather than re-upload). The required confirmed and submissionId params, plus briefPatch, answers, and addedAssetIds, get no semantic explanation, leaving most of the parameter surface undocumented.

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

Purpose4/5

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

The description makes clear this sends clarifications, scope updates, or new assets/files to an already-submitted brief that is in objekts human review. The verb 'update/send' and resource (existing submitted brief) are identifiable, but it never explicitly distinguishes itself from the sibling submit_production_brief or delete_production_brief by name.

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?

It states a hard precondition (only after explicit user confirmation), a when-not rule ('do not use it to change a brief that exists only in the current conversation'), and a routing heuristic (reuse the files field instead of re-uploading). This is explicit when/when-not guidance rather than implied.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedestimate_production28 fields changed
      • addedInput schema / properties / assumptions / description
        Added value: +"Explicit factual assumptions used to make the estimate possible; do not invent client facts."
      • addedInput schema / properties / deadlineDays / description
        Added value: +"Calendar days available until delivery when known; null or omit when no deadline is supplied."
      • addedInput schema / properties / exclusions / description
        Added value: +"Work explicitly outside this estimate, especially live-action, rights, media, extra versions, or unrequested disciplines."
      • addedInput schema / properties / externalBidItems / description
        Added value: +"Known cost exposures that require third-party bids; these remain outside the automated production range."
      • addedInput schema / properties / externalBidItems / items / properties / label / description
        Added value: +"External cost item that cannot be responsibly priced by this engine, such as talent, location, licensed music, or live-action vendor work."
      • addedInput schema / properties / externalBidItems / items / properties / reason / description
        Added value: +"Why this cost requires an external quote or remains unknown."
      • addedInput schema / properties / includeDepartments / description
        Added value: +"Optional whitelist of departments to include when the requested estimate intentionally covers only selected disciplines."
      • addedInput schema / properties / mode / description
        Added value: +"ROM for an early range; SCOPED_ESTIMATE for a defined scope; BUDGET_FIT to compare scope with a target budget; DEADLINE_FIT to evaluate schedule pressure."
      • changedInput schema / properties / runtimeSeconds / description
        Previous value: -"Final master runtime in seconds when known. Use null only when runtime is genuinely unknown; for whole-production pricing, runtime is a material pricing input."New value: +"Final master runtime in seconds when known; null only when genuinely unknown."
      • changedInput schema / properties / scopeBasis / description
        Previous value: -"One concise sentence stating exactly what the estimate includes. Never imply a bounded shot/post scope is the price of the whole commercial."New value: +"One concise sentence stating exactly what the estimate includes and excludes from the priced object."
      • changedInput schema / properties / scopeDecision / description
        Previous value: -"USER_EXPLICIT when the user request itself clearly targets either a finished commercial/film/video deliverable or a bounded shot/scene/post task. Literal words like whole/only are not required when the requested object is already clear. SCENARIO is for a clearly labeled hypothetical. INFERRED is only for genuinely ambiguous scope and returns no price until clarified."New value: +"USER_EXPLICIT when the requested object is clear; SCENARIO for an explicitly labeled hypothetical; INFERRED only when scope is genuinely ambiguous, in which case no price is returned until clarified."
      • changedInput schema / properties / scopeEvidence / description
        Previous value: -"For USER_EXPLICIT, copy a short verbatim phrase from the user's request; do not paraphrase, add words, or summarize. The phrase must make the requested object clear: a finished deliverable or a bounded shot/scene/post task. For SCENARIO/INFERRED, briefly state that this is a scenario or inferred interpretation."New value: +"Short evidence for the scope choice. For USER_EXPLICIT, copy a brief verbatim phrase from the user's request that identifies the priced object."
      • changedInput schema / properties / scopeType / description
        Previous value: -"WHOLE_PRODUCTION for the complete production being priced; BOUNDED_SHOT_POST for only named shots/scenes/post tasks. Never silently reinterpret one as the other."New value: +"WHOLE_PRODUCTION prices the complete requested finished deliverable; BOUNDED_SHOT_POST prices only named shots, scenes, VFX, or post tasks."
      • addedInput schema / properties / targetBudgetMax / description
        Added value: +"Upper bound of the user's target budget in RUB for BUDGET_FIT; omit when no target ceiling is supplied."
      • addedInput schema / properties / targetBudgetMin / description
        Added value: +"Lower bound of the user's target budget in RUB for BUDGET_FIT; omit when no budget floor exists."
      • addedInput schema / properties / units / description
        Added value: +"Production line items that drive the estimate. Include every material discipline/unit being priced; each item explains quantity, complexity, locks, continuity, and basis."
      • addedInput schema / properties / units / items / properties / basis / description
        Added value: +"Short factual notes explaining why this unit, quantity, complexity, or lock count was chosen."
      • addedInput schema / properties / units / items / properties / complexity / description
        Added value: +"LOW, MEDIUM, HIGH, or EXTREME execution complexity for this unit."
      • addedInput schema / properties / units / items / properties / department / description
        Added value: +"Department responsible for this unit; use the closest production discipline from the enum."
      • addedInput schema / properties / units / items / properties / hardLocks / description
        Added value: +"Number of exact visual constraints this unit must preserve, such as product geometry, identity, logo, camera, or wardrobe."
      • addedInput schema / properties / units / items / properties / id / description
        Added value: +"Stable short ID for this production unit, such as hero-shots, compositing, or edit."
      • addedInput schema / properties / units / items / properties / quantity / description
        Added value: +"Count of comparable units in this line item. Defaults to 1 when omitted."
      • addedInput schema / properties / units / items / properties / recurringEntities / description
        Added value: +"Count of products, characters, vehicles, or other entities that must stay consistent across multiple outputs."
      • addedInput schema / properties / units / items / properties / reusable / description
        Added value: +"True when the unit creates a reusable asset/system that materially reduces repeated production work."
      • addedInput schema / properties / versioning / description
        Added value: +"Version/adaptation workload beyond the master deliverable; distinguish simple exports from recomposition and new production."
      • addedInput schema / properties / versioning / properties / derivedVersions / description
        Added value: +"Count of low-effort versions derived from the master without new composition or production."
      • addedInput schema / properties / versioning / properties / newProductionUnits / description
        Added value: +"Count of versions that introduce new camera, action, mise-en-scène, shot, or equivalent fresh production."
      • addedInput schema / properties / versioning / properties / recomposedVersions / description
        Added value: +"Count of adaptations that require material reframing, redesign, or recomposition."
  2. 1 tool update
    • Changeddiagnose_production13 fields changed
      • removedOutput schema / properties / assetFitness
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "assetId": {
        -        "type": "string"
        -      },
        -      "controlsHardDomains": {
        -        "items": {
        -          "enum": [
        -            "CHARACTER_IDENTITY",
        -            "FACE",
        -            "BODY",
        -            "WARDROBE",
        -            "PRODUCT_GEOMETRY",
        -            "PRODUCT_COLOR",
        -            "PACKAGING",
        -            "MATERIAL_RESPONSE",
        -            "LOCATION_GEOMETRY",
        -            "ARCHITECTURE",
        -            "CAMERA",
        -            "LENS",
        -            "COMPOSITION",
        -            "LIGHTING",
        -            "COLOR",
        -            "LOGO",
        -            "TYPOGRAPHY",
        -            "COPY",
        -            "MOTION",
        -            "POSE",
        -            "INTERIOR_GEOMETRY",
        -            "SCALE",
        -            "DEPTH_PLANE",
        -            "FOCUS_BEHAVIOR",
        -            "SOUND",
        -            "OTHER"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "fitness": {
        -        "enum": [
        -          "FIT",
        -          "FIT_WITH_REBUILD",
        -          "NOT_FIT",
        -          "UNKNOWN"
        -        ],
        -        "type": "string"
        -      },
        -      "label": {
        -        "type": "string"
        -      },
        -      "notes": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "assetId",
        -      "label",
        -      "fitness",
        -      "controlsHardDomains",
        -      "notes"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / authority
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "conflicts": {
        -      "items": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "assetIds": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": "array"
        -          },
        -          "domain": {
        -            "enum": [
        -              "CHARACTER_IDENTITY",
        -              "FACE",
        -              "BODY",
        -              "WARDROBE",
        -              "PRODUCT_GEOMETRY",
        -              "PRODUCT_COLOR",
        -              "PACKAGING",
        -              "MATERIAL_RESPONSE",
        -              "LOCATION_GEOMETRY",
        -              "ARCHITECTURE",
        -              "CAMERA",
        -              "LENS",
        -              "COMPOSITION",
        -              "LIGHTING",
        -              "COLOR",
        -              "LOGO",
        -              "TYPOGRAPHY",
        -              "COPY",
        -              "MOTION",
        -              "POSE",
        -              "INTERIOR_GEOMETRY",
        -              "SCALE",
        -              "DEPTH_PLANE",
        -              "FOCUS_BEHAVIOR",
        -              "SOUND",
        -              "OTHER"
        -            ],
        -            "type": "string"
        -          },
        -          "reason": {
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "domain",
        -          "assetIds",
        -          "reason"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    },
        -    "winners": {
        -      "items": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "approvalState": {
        -            "enum": [
        -              "EXPLORATORY",
        -              "CANDIDATE",
        -              "APPROVED",
        -              "FROZEN",
        -              "SUPERSEDED",
        -              "REJECTED"
        -            ],
        -            "type": "string"
        -          },
        -          "assetId": {
        -            "type": "string"
        -          },
        -          "domain": {
        -            "enum": [
        -              "CHARACTER_IDENTITY",
        -              "FACE",
        -              "BODY",
        -              "WARDROBE",
        -              "PRODUCT_GEOMETRY",
        -              "PRODUCT_COLOR",
        -              "PACKAGING",
        -              "MATERIAL_RESPONSE",
        -              "LOCATION_GEOMETRY",
        -              "ARCHITECTURE",
        -              "CAMERA",
        -              "LENS",
        -              "COMPOSITION",
        -              "LIGHTING",
        -              "COLOR",
        -              "LOGO",
        -              "TYPOGRAPHY",
        -              "COPY",
        -              "MOTION",
        -              "POSE",
        -              "INTERIOR_GEOMETRY",
        -              "SCALE",
        -              "DEPTH_PLANE",
        -              "FOCUS_BEHAVIOR",
        -              "SOUND",
        -              "OTHER"
        -            ],
        -            "type": "string"
        -          },
        -          "strength": {
        -            "enum": [
        -              "HARD",
        -              "SOFT"
        -            ],
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "domain",
        -          "assetId",
        -          "strength",
        -          "approvalState"
        -        ],
        -        "type": "object"
        -      },
        -      "type": "array"
        -    }
        -  },
        -  "required": [
        -    "winners",
        -    "conflicts"
        -  ],
        -  "type": "object"
        -}
      • removedOutput schema / properties / changes
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "changeId": {
        -        "type": "string"
        -      },
        -      "impact": {
        -        "enum": [
        -          "NONE",
        -          "LOCAL_REVISION",
        -          "UPSTREAM_INVALIDATION",
        -          "NEW_PRODUCTION_UNIT",
        -          "REESTIMATE_REQUIRED"
        -        ],
        -        "type": "string"
        -      },
        -      "label": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "changeId",
        -      "label",
        -      "impact"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / criticalQuestions
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "affects": {
        -        "items": {
        -          "enum": [
        -            "CREATIVE",
        -            "FEASIBILITY",
        -            "COST",
        -            "SCHEDULE",
        -            "RIGHTS",
        -            "DELIVERY"
        -          ],
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "impact": {
        -        "enum": [
        -          "LOW",
        -          "MEDIUM",
        -          "HIGH",
        -          "BLOCKING"
        -        ],
        -        "type": "string"
        -      },
        -      "question": {
        -        "type": "string"
        -      },
        -      "unknownId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "unknownId",
        -      "question",
        -      "impact",
        -      "affects"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / objective
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / pocPlan
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "affectedIds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "pocId": {
        -        "type": "string"
        -      },
        -      "reason": {
        -        "type": "string"
        -      },
        -      "successCriterion": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "pocId",
        -      "title",
        -      "reason",
        -      "successCriterion",
        -      "affectedIds"
        -    ],
        -    "type": "object"
        -  },
        -  "maxItems": 3,
        -  "type": "array"
        -}
      • removedOutput schema / properties / professionalInsights
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "affectedIds": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "code": {
        -        "enum": [
        -          "AUTHORITY_CONFLICT",
        -          "UNBOUND_HARD_LOCK",
        -          "UNSAFE_TRUTH_LAYER",
        -          "ASSET_NOT_PRODUCTION_FIT",
        -          "CONTINUITY_RISK",
        -          "VERSION_CREATES_SCOPE",
        -          "CHANGE_INVALIDATES_WORK",
        -          "READINESS_BLOCKER"
        -        ],
        -        "type": "string"
        -      },
        -      "decision": {
        -        "type": "string"
        -      },
        -      "finding": {
        -        "type": "string"
        -      },
        -      "severity": {
        -        "enum": [
        -          "BLOCKER",
        -          "HIGH",
        -          "MEDIUM"
        -        ],
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "severity",
        -      "code",
        -      "title",
        -      "finding",
        -      "decision",
        -      "affectedIds"
        -    ],
        -    "type": "object"
        -  },
        -  "maxItems": 3,
        -  "type": "array"
        -}
      • removedOutput schema / properties / readiness
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "blockers": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "overall": {
        -      "enum": [
        -        "IDEA",
        -        "BRIEFABLE",
        -        "ESTIMATABLE",
        -        "QUOTE_READY",
        -        "PRODUCTION_READY"
        -      ],
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "overall",
        -    "blockers"
        -  ],
        -  "type": "object"
        -}
      • addedOutput schema / properties / responseContract
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "allowGenericChecklist": {
        +      "const": false,
        +      "type": "boolean"
        +    },
        +    "maxDecisions": {
        +      "const": 3,
        +      "type": "number"
        +    },
        +    "maxPocs": {
        +      "const": 1,
        +      "type": "number"
        +    },
        +    "maxQuestions": {
        +      "const": 3,
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "maxDecisions",
        +    "maxPocs",
        +    "maxQuestions",
        +    "allowGenericChecklist"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / routeChecks
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "elementId": {
        -        "type": "string"
        -      },
        -      "label": {
        -        "type": "string"
        -      },
        -      "reason": {
        -        "type": "string"
        -      },
        -      "recommendedControlMode": {
        -        "enum": [
        -          "DETERMINISTIC",
        -          "REFERENCE_LOCKED",
        -          "GENERATIVE"
        -        ],
        -        "type": "string"
        -      },
        -      "recommendedTruthLayer": {
        -        "enum": [
        -          "LIVE_ACTION",
        -          "CONTROLLED_CGI",
        -          "AI_GENERATED",
        -          "SOURCE_ASSET",
        -          "GRAPHICS",
        -          "COMPOSITE"
        -        ],
        -        "type": "string"
        -      },
        -      "safe": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "elementId",
        -      "label",
        -      "safe",
        -      "reason"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • removedOutput schema / properties / versions
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "classification": {
        -        "enum": [
        -          "MASTER",
        -          "DERIVED_VERSION",
        -          "RECOMPOSED_VERSION",
        -          "NEW_PRODUCTION_UNIT"
        -        ],
        -        "type": "string"
        -      },
        -      "label": {
        -        "type": "string"
        -      },
        -      "versionId": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "versionId",
        -      "label",
        -      "classification"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / visibleVerdict
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "blockingInputs": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "maxItems": 3,
        +      "type": "array"
        +    },
        +    "decisions": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "action": {
        +            "type": "string"
        +          },
        +          "code": {
        +            "enum": [
        +              "AUTHORITY_CONFLICT",
        +              "UNBOUND_HARD_LOCK",
        +              "UNSAFE_TRUTH_LAYER",
        +              "ASSET_NOT_PRODUCTION_FIT",
        +              "CONTINUITY_RISK",
        +              "VERSION_CREATES_SCOPE",
        +              "CHANGE_INVALIDATES_WORK",
        +              "READINESS_BLOCKER"
        +            ],
        +            "type": "string"
        +          },
        +          "finding": {
        +            "type": "string"
        +          },
        +          "severity": {
        +            "enum": [
        +              "BLOCKER",
        +              "HIGH",
        +              "MEDIUM"
        +            ],
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "severity",
        +          "code",
        +          "title",
        +          "finding",
        +          "action"
        +        ],
        +        "type": "object"
        +      },
        +      "maxItems": 3,
        +      "type": "array"
        +    },
        +    "firstPoc": {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "reason": {
        +              "type": "string"
        +            },
        +            "successCriterion": {
        +              "type": "string"
        +            },
        +            "title": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "title",
        +            "reason",
        +            "successCriterion"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "type": "null"
        +        }
        +      ]
        +    },
        +    "readiness": {
        +      "enum": [
        +        "IDEA",
        +        "BRIEFABLE",
        +        "ESTIMATABLE",
        +        "QUOTE_READY",
        +        "PRODUCTION_READY"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "readiness",
        +    "decisions",
        +    "firstPoc",
        +    "blockingInputs"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "objective",
        -  "authority",
        -  "routeChecks",
        -  "assetFitness",
        -  "versions",
        -  "changes",
        -  "readiness",
        -  "criticalQuestions",
        -  "professionalInsights",
        -  "pocPlan"
        -]New value: +[
        +  "responseContract",
        +  "visibleVerdict"
        +]
  3. 1 tool update
    • Addeddiagnose_production
  4. 1 tool update
    • Changedsubmit_production_brief1 field changed
      • changedInput schema / required
        Previous value: -[
        -  "confirmed",
        -  "brief"
        -]New value: +[
        +  "confirmed",
        +  "contact",
        +  "brief"
        +]
  5. 1 tool update
    • Changedestimate_production18 fields changed
      • addedInput schema / properties / assumptions / items / maxLength
        Added value: +1000
      • addedInput schema / properties / assumptions / maxItems
        Added value: +50
      • addedInput schema / properties / exclusions / items / maxLength
        Added value: +1000
      • addedInput schema / properties / exclusions / maxItems
        Added value: +50
      • addedInput schema / properties / externalBidItems / items / properties / label / maxLength
        Added value: +300
      • addedInput schema / properties / externalBidItems / items / properties / reason / maxLength
        Added value: +1000
      • addedInput schema / properties / externalBidItems / maxItems
        Added value: +50
      • addedInput schema / properties / includeDepartments / maxItems
        Added value: +20
      • changedInput schema / properties / runtimeSeconds / anyOf
        Previous value: -[
        -  {
        -    "exclusiveMinimum": 0,
        -    "type": "number"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "exclusiveMinimum": 0,
        +    "maximum": 36000,
        +    "type": "number"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / scopeDecision / description
        Previous value: -"USER_EXPLICIT only when the user explicitly distinguishes full/whole/turnkey production from only/just/bounded shots or post. SCENARIO when calculating a clearly labeled hypothetical. INFERRED when the model had to guess the scope; INFERRED calls return no price and require one clarification question."New value: +"USER_EXPLICIT when the user request itself clearly targets either a finished commercial/film/video deliverable or a bounded shot/scene/post task. Literal words like whole/only are not required when the requested object is already clear. SCENARIO is for a clearly labeled hypothetical. INFERRED is only for genuinely ambiguous scope and returns no price until clarified."
      • changedInput schema / properties / scopeEvidence / description
        Previous value: -"A short verbatim phrase from the user's request that supports USER_EXPLICIT, or a short explanation that this is a labeled SCENARIO/INFERRED interpretation."New value: +"For USER_EXPLICIT, copy a short verbatim phrase from the user's request; do not paraphrase, add words, or summarize. The phrase must make the requested object clear: a finished deliverable or a bounded shot/scene/post task. For SCENARIO/INFERRED, briefly state that this is a scenario or inferred interpretation."
      • changedInput schema / properties / units / items / properties / hardLocks / maximum
        Previous value: -9007199254740991New value: +100
      • changedInput schema / properties / units / items / properties / quantity / maximum
        Previous value: -9007199254740991New value: +1000
      • changedInput schema / properties / units / items / properties / recurringEntities / maximum
        Previous value: -9007199254740991New value: +100
      • addedInput schema / properties / units / maxItems
        Added value: +200
      • changedInput schema / properties / versioning / properties / derivedVersions / maximum
        Previous value: -9007199254740991New value: +1000
      • changedInput schema / properties / versioning / properties / newProductionUnits / maximum
        Previous value: -9007199254740991New value: +1000
      • changedInput schema / properties / versioning / properties / recomposedVersions / maximum
        Previous value: -9007199254740991New value: +1000
  6. 4 tool updates
    • Changedcreate_upload_session2 fields changed
      • addedInput schema / properties / confirmed
        Added value: +{
        +  "const": true,
        +  "type": "boolean"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "filename",
        -  "mediaType",
        -  "sizeBytes"
        -]New value: +[
        +  "confirmed",
        +  "filename",
        +  "mediaType",
        +  "sizeBytes"
        +]
    • Changedestimate_production12 fields changed
      • addedInput schema / properties / runtimeSeconds
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Final master runtime in seconds when known. Use null only when runtime is genuinely unknown; for whole-production pricing, runtime is a material pricing input."
        +}
      • addedInput schema / properties / scopeBasis
        Added value: +{
        +  "description": "One concise sentence stating exactly what the estimate includes. Never imply a bounded shot/post scope is the price of the whole commercial.",
        +  "maxLength": 600,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / scopeDecision
        Added value: +{
        +  "description": "USER_EXPLICIT only when the user explicitly distinguishes full/whole/turnkey production from only/just/bounded shots or post. SCENARIO when calculating a clearly labeled hypothetical. INFERRED when the model had to guess the scope; INFERRED calls return no price and require one clarification question.",
        +  "enum": [
        +    "USER_EXPLICIT",
        +    "SCENARIO",
        +    "INFERRED"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / scopeEvidence
        Added value: +{
        +  "description": "A short verbatim phrase from the user's request that supports USER_EXPLICIT, or a short explanation that this is a labeled SCENARIO/INFERRED interpretation.",
        +  "maxLength": 300,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / scopeType
        Added value: +{
        +  "description": "WHOLE_PRODUCTION for the complete production being priced; BOUNDED_SHOT_POST for only named shots/scenes/post tasks. Never silently reinterpret one as the other.",
        +  "enum": [
        +    "WHOLE_PRODUCTION",
        +    "BOUNDED_SHOT_POST"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "mode",
        -  "units"
        -]New value: +[
        +  "mode",
        +  "scopeType",
        +  "scopeDecision",
        +  "scopeEvidence",
        +  "runtimeSeconds",
        +  "scopeBasis",
        +  "units"
        +]
      • addedOutput schema / properties / runtimeSeconds
        Added value: +{
        +  "anyOf": [
        +    {
        +      "exclusiveMinimum": 0,
        +      "type": "number"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / scopeBasis
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / scopeDecision
        Added value: +{
        +  "enum": [
        +    "USER_EXPLICIT",
        +    "SCENARIO",
        +    "INFERRED"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / scopeEvidence
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / scopeType
        Added value: +{
        +  "enum": [
        +    "WHOLE_PRODUCTION",
        +    "BOUNDED_SHOT_POST"
        +  ],
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "mode",
        -  "currency",
        -  "confidence",
        -  "rangeMin",
        -  "rangeMax",
        -  "timelineMinDays",
        -  "timelineMaxDays",
        -  "departments",
        -  "costDrivers",
        -  "assumptions",
        -  "exclusions",
        -  "unknownCostExposure"
        -]New value: +[
        +  "mode",
        +  "scopeType",
        +  "scopeDecision",
        +  "scopeEvidence",
        +  "runtimeSeconds",
        +  "scopeBasis",
        +  "currency",
        +  "confidence",
        +  "rangeMin",
        +  "rangeMax",
        +  "timelineMinDays",
        +  "timelineMaxDays",
        +  "departments",
        +  "costDrivers",
        +  "assumptions",
        +  "exclusions",
        +  "unknownCostExposure"
        +]
    • Changedsubmit_production_brief13 fields changed
      • addedInput schema / properties / contact / properties / company / anyOf
        Added value: +[
        +  {
        +    "maxLength": 200,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedInput schema / properties / contact / properties / company / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • changedInput schema / properties / contact / properties / email / anyOf
        Previous value: -[
        -  {
        -    "format": "email",
        -    "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "format": "email",
        +    "maxLength": 320,
        +    "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedInput schema / properties / contact / properties / name / anyOf
        Added value: +[
        +  {
        +    "maxLength": 200,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedInput schema / properties / contact / properties / name / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedInput schema / properties / contact / properties / telegram / anyOf
        Added value: +[
        +  {
        +    "maxLength": 200,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedInput schema / properties / contact / properties / telegram / type
        Removed value: -[
        -  "string",
        -  "null"
        -]
      • addedInput schema / properties / files / items / properties / download_url / maxLength
        Added value: +4096
      • addedInput schema / properties / files / items / properties / file_id / maxLength
        Added value: +512
      • addedInput schema / properties / files / items / properties / file_name / maxLength
        Added value: +255
      • addedInput schema / properties / files / items / properties / mime_type / maxLength
        Added value: +200
      • addedInput schema / properties / selectedAssetIds / items / maxLength
        Added value: +128
      • addedInput schema / properties / selectedAssetIds / maxItems
        Added value: +50
    • Changedupdate_production_brief9 fields changed
      • addedInput schema / properties / addedAssetIds / items / maxLength
        Added value: +128
      • addedInput schema / properties / addedAssetIds / maxItems
        Added value: +50
      • addedInput schema / properties / answers / additionalProperties / maxLength
        Added value: +4000
      • addedInput schema / properties / answers / propertyNames / maxLength
        Added value: +200
      • addedInput schema / properties / briefPatch / propertyNames / maxLength
        Added value: +200
      • addedInput schema / properties / files / items / properties / download_url / maxLength
        Added value: +4096
      • addedInput schema / properties / files / items / properties / file_id / maxLength
        Added value: +512
      • addedInput schema / properties / files / items / properties / file_name / maxLength
        Added value: +255
      • addedInput schema / properties / files / items / properties / mime_type / maxLength
        Added value: +200
  7. 6 tool updates
    • First observedcreate_upload_session
    • First observeddelete_production_brief
    • First observedestimate_production
    • First observedget_production_brief_status
    • First observedsubmit_production_brief
    • First observedupdate_production_brief

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.