objekts Production Desk
Server Details
Commercial visual-production planning and estimates by objekts, with optional human review.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- peach420fuzz/objekts-production-desk
- GitHub Stars
- 0
TDQS
Scored across 6 tools
Each tool maps to a distinct action in the production-brief lifecycle (submit, update, delete, status, estimate, upload), and descriptions explicitly gate when each should be used. The only mild overlap is create_upload_session versus the files field in submit/update, but the descriptions clarify the boundary well.
Tools follow a verb_noun pattern (create_upload_session, delete_production_brief, get_production_brief_status, submit_production_brief, update_production_brief). estimate_production and create_upload_session deviate slightly by dropping the 'brief' noun, but the convention is still readable and predictable.
Six tools is well-scoped for a single purpose (submitting and estimating production briefs). Each tool earns its place with no redundant or filler operations.
The surface covers the full brief lifecycle: create/submit, update, delete, status retrieval, estimation, and upload handling. Minor gap: there is no explicit tool to list or fetch full brief contents, though status retrieval may partially cover that need.
Available Tools
6 toolscreate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | ||
| confirmed | Yes | ||
| mediaType | Yes | ||
| sizeBytes | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| uploadId | Yes | |
| expiresAt | Yes | |
| uploadUrl | Yes |
TDQS
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.
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.
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.
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.
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.
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 briefADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmed | Yes | ||
| submissionId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| deleted | Yes |
TDQS
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.
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.
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.
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.
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.
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.
estimate_productionEstimate visual productionCRead-onlyIdempotentInspect
Use the objekts Production Desk estimate engine only when the user explicitly asks about price, cost, budget, quote, or budget fit. Set scopeType to WHOLE_PRODUCTION or BOUNDED_SHOT_POST and pass a short verbatim scopeEvidence phrase. Use USER_EXPLICIT when the requested object itself is clear: for example, a request to make/price a finished commercial is whole-production, while a request to make/fix/price named shots or scene post work is bounded. Use INFERRED only when the requested object is genuinely ambiguous; then the tool returns no price until clarified, or you may calculate clearly labeled SCENARIO estimates. Pass runtimeSeconds when known. It packages objekts production-estimation methodology and computes a non-binding estimate from production units, scope type, runtime, hard locks, continuity, versioning and deadline pressure. Do not collect contact information for this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| units | Yes | ||
| scopeType | Yes | 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. | |
| exclusions | No | ||
| scopeBasis | Yes | One concise sentence stating exactly what the estimate includes. Never imply a bounded shot/post scope is the price of the whole commercial. | |
| versioning | No | ||
| assumptions | No | ||
| deadlineDays | No | ||
| scopeDecision | Yes | 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. | |
| scopeEvidence | Yes | 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. | |
| runtimeSeconds | Yes | 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. | |
| targetBudgetMax | No | ||
| targetBudgetMin | No | ||
| externalBidItems | No | ||
| includeDepartments | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | |
| currency | Yes | |
| rangeMax | Yes | |
| rangeMin | Yes | |
| budgetFit | No | |
| scopeType | Yes | |
| confidence | Yes | |
| exclusions | Yes | |
| scopeBasis | Yes | |
| assumptions | Yes | |
| costDrivers | Yes | |
| departments | Yes | |
| scheduleFit | No | |
| scopeDecision | Yes | |
| scopeEvidence | Yes | |
| runtimeSeconds | Yes | |
| timelineMaxDays | Yes | |
| timelineMinDays | Yes | |
| unknownCostExposure | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is clear. The description adds that the estimate is non-binding, that INFERRED returns no price until clarified, and that it packages production-estimation methodology. It also says not to collect contact info. However, it doesn't cover important behaviors like output format details (though output schema exists) or any rate/performance characteristics. It adds some context but not rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense wall of text with procedural instructions that overlap heavily with the parameter descriptions in the schema. It buries the high-level purpose in detailed scope-decision rules. It is not front-loaded: the core purpose appears only near the end. Many sentences could be trimmed or moved to parameter descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 15 parameters, 33% schema coverage, nested objects, and a critical required 'units' array. The description does not explain the meaning of 'mode' (ROM, SCOPED_ESTIMATE, etc.), the structure of 'units', or the roles of many other parameters. While an output schema exists, the input side is severely under-documented, and the description fails to fill that gap. It assumes the user will infer from the schema alone, which is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only 5 of 15 parameters have descriptions in the schema), yet the description focuses on scopeDecision, scopeType, scopeEvidence, and runtimeSeconds, which are already documented in the schema. It provides no meaning for the many undocumented parameters like mode, units (and its nested fields), exclusions, versioning, assumptions, deadlineDays, targetBudgetMin/Max, externalBidItems, includeDepartments. The description fails to compensate for the low schema coverage, leaving the majority of parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool computes a non-binding production estimate from production units, scope, runtime, etc., and names the 'objekts Production Desk estimate engine'. However, it doesn't explicitly contrast with siblings, which are all about production briefs (create/update/delete/status/upload), and the overall purpose is obscured by the procedural scopeDecision guidance. It's clear enough but not sharply distinguished from the production-brief tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage conditions: 'use only when the user explicitly asks about price, cost, budget, quote, or budget fit', which is a strong when-to-use signal. It also provides detailed guidance for setting scopeType and scopeDecision (USER_EXPLICIT vs INFERRED vs SCENARIO), though it doesn't name the sibling tools or state when not to use it in favor of them.
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 statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| submissionId | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| message | No | |
| questions | Yes | |
| submissionId | Yes | |
| humanEstimate | No |
TDQS
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.
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.
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.
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.
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.
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 objektsADestructiveInspect
Use this only after the user explicitly confirms that the prepared production brief, requested contact details and selected files should be sent to objekts for human production review. When ChatGPT 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.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | Yes | ||
| files | No | ||
| contact | No | ||
| confirmed | Yes | ||
| selectedAssetIds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| message | Yes | |
| submissionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, openWorldHint=true and idempotentHint=false, so the safety profile is covered by structured data. The description usefully adds the human-review nature of the action and the confirmation requirement, but does not warn about the non-idempotent/duplicate-submission risk or what happens after dispatch, which the annotations flag as relevant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the confirmation precondition before the file-handling tip and exclusions. No filler; every sentence adds a distinct constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the usage guidance is thorough for a destructive, open-world mutation. What is missing is post-submission behavior and element-level parameter detail, which matters given 0% schema coverage and nested objects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are five parameters including nested objects, so the description must carry more weight. It does explain the files field and alludes to contact details, the brief, and the confirmation gate, but it never disambiguates selected files from selectedAssetIds nor describes the brief object's expected shape, leaving real gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (send) and resource (prepared production brief) with its destination and purpose (objekts for human production review). It implicitly separates itself from the estimate_production and status/update siblings through explicit exclusions, so an agent can distinguish it without opening another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit gating condition (only after the user explicitly confirms), an alternative-handling rule (pass ChatGPT-held files through the files field rather than re-uploading), and named exclusions (local analysis, estimation, or when the user said not to send). This is as close to when/when-not/alternatives as a description gets.
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 briefADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | ||
| answers | No | ||
| confirmed | Yes | ||
| briefPatch | No | ||
| submissionId | Yes | ||
| addedAssetIds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| message | No | |
| questions | Yes | |
| submissionId | Yes | |
| humanEstimate | No |
TDQS
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.
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.
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.
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.
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.
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 tool update
- Changed
estimate_production18 fields changed- added
Input schema / properties / assumptions / items / maxLengthAdded value: +1000 - added
Input schema / properties / assumptions / maxItemsAdded value: +50 - added
Input schema / properties / exclusions / items / maxLengthAdded value: +1000 - added
Input schema / properties / exclusions / maxItemsAdded value: +50 - added
Input schema / properties / externalBidItems / items / properties / label / maxLengthAdded value: +300 - added
Input schema / properties / externalBidItems / items / properties / reason / maxLengthAdded value: +1000 - added
Input schema / properties / externalBidItems / maxItemsAdded value: +50 - added
Input schema / properties / includeDepartments / maxItemsAdded value: +20 - changed
Input schema / properties / runtimeSeconds / anyOfPrevious value: -[ - { - "exclusiveMinimum": 0, - "type": "number" - }, - { - "type": "null" - } -]New value: +[ + { + "exclusiveMinimum": 0, + "maximum": 36000, + "type": "number" + }, + { + "type": "null" + } +] - changed
Input schema / properties / scopeDecision / descriptionPrevious 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." - changed
Input schema / properties / scopeEvidence / descriptionPrevious 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." - changed
Input schema / properties / units / items / properties / hardLocks / maximumPrevious value: -9007199254740991New value: +100 - changed
Input schema / properties / units / items / properties / quantity / maximumPrevious value: -9007199254740991New value: +1000 - changed
Input schema / properties / units / items / properties / recurringEntities / maximumPrevious value: -9007199254740991New value: +100 - added
Input schema / properties / units / maxItemsAdded value: +200 - changed
Input schema / properties / versioning / properties / derivedVersions / maximumPrevious value: -9007199254740991New value: +1000 - changed
Input schema / properties / versioning / properties / newProductionUnits / maximumPrevious value: -9007199254740991New value: +1000 - changed
Input schema / properties / versioning / properties / recomposedVersions / maximumPrevious value: -9007199254740991New value: +1000
4 tool updates
- Changed
create_upload_session2 fields changed- added
Input schema / properties / confirmedAdded value: +{ + "const": true, + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "filename", - "mediaType", - "sizeBytes" -]New value: +[ + "confirmed", + "filename", + "mediaType", + "sizeBytes" +]
- Changed
estimate_production12 fields changed- added
Input schema / properties / runtimeSecondsAdded 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." +} - added
Input schema / properties / scopeBasisAdded 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" +} - added
Input schema / properties / scopeDecisionAdded 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" +} - added
Input schema / properties / scopeEvidenceAdded 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" +} - added
Input schema / properties / scopeTypeAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "mode", - "units" -]New value: +[ + "mode", + "scopeType", + "scopeDecision", + "scopeEvidence", + "runtimeSeconds", + "scopeBasis", + "units" +] - added
Output schema / properties / runtimeSecondsAdded value: +{ + "anyOf": [ + { + "exclusiveMinimum": 0, + "type": "number" + }, + { + "type": "null" + } + ] +} - added
Output schema / properties / scopeBasisAdded value: +{ + "type": "string" +} - added
Output schema / properties / scopeDecisionAdded value: +{ + "enum": [ + "USER_EXPLICIT", + "SCENARIO", + "INFERRED" + ], + "type": "string" +} - added
Output schema / properties / scopeEvidenceAdded value: +{ + "type": "string" +} - added
Output schema / properties / scopeTypeAdded value: +{ + "enum": [ + "WHOLE_PRODUCTION", + "BOUNDED_SHOT_POST" + ], + "type": "string" +} - changed
Output schema / requiredPrevious 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" +]
- Changed
submit_production_brief13 fields changed- added
Input schema / properties / contact / properties / company / anyOfAdded value: +[ + { + "maxLength": 200, + "type": "string" + }, + { + "type": "null" + } +] - removed
Input schema / properties / contact / properties / company / typeRemoved value: -[ - "string", - "null" -] - changed
Input schema / properties / contact / properties / email / anyOfPrevious 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" + } +] - added
Input schema / properties / contact / properties / name / anyOfAdded value: +[ + { + "maxLength": 200, + "type": "string" + }, + { + "type": "null" + } +] - removed
Input schema / properties / contact / properties / name / typeRemoved value: -[ - "string", - "null" -] - added
Input schema / properties / contact / properties / telegram / anyOfAdded value: +[ + { + "maxLength": 200, + "type": "string" + }, + { + "type": "null" + } +] - removed
Input schema / properties / contact / properties / telegram / typeRemoved value: -[ - "string", - "null" -] - added
Input schema / properties / files / items / properties / download_url / maxLengthAdded value: +4096 - added
Input schema / properties / files / items / properties / file_id / maxLengthAdded value: +512 - added
Input schema / properties / files / items / properties / file_name / maxLengthAdded value: +255 - added
Input schema / properties / files / items / properties / mime_type / maxLengthAdded value: +200 - added
Input schema / properties / selectedAssetIds / items / maxLengthAdded value: +128 - added
Input schema / properties / selectedAssetIds / maxItemsAdded value: +50
- Changed
update_production_brief9 fields changed- added
Input schema / properties / addedAssetIds / items / maxLengthAdded value: +128 - added
Input schema / properties / addedAssetIds / maxItemsAdded value: +50 - added
Input schema / properties / answers / additionalProperties / maxLengthAdded value: +4000 - added
Input schema / properties / answers / propertyNames / maxLengthAdded value: +200 - added
Input schema / properties / briefPatch / propertyNames / maxLengthAdded value: +200 - added
Input schema / properties / files / items / properties / download_url / maxLengthAdded value: +4096 - added
Input schema / properties / files / items / properties / file_id / maxLengthAdded value: +512 - added
Input schema / properties / files / items / properties / file_name / maxLengthAdded value: +255 - added
Input schema / properties / files / items / properties / mime_type / maxLengthAdded value: +200
6 tool updates
- First observed
create_upload_session - First observed
delete_production_brief - First observed
estimate_production - First observed
get_production_brief_status - First observed
submit_production_brief - First observed
update_production_brief
Related MCP Connectors
Deterministic visual marketing engine. Your agent plans, renders, and posts on-brand campaigns.
Build and run visual creative-production workflows from your AI agent.
Operating system for creative companies: clients, projects, estimates, contracts, invoices, talent
Plan, compare, price, generate, and recover AI video from compatible MCP clients.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to turn natural-language creative direction, transcripts, and source media into fully structured, editable video projects, then verify and render delivery files.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to commission cinematic campaign films and image sets from IBO, an AI-native film studio, with tools for offers, payments, briefs, and project status.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to produce video commercials from product descriptions via a multi-stage pipeline with human-in-the-loop approval gates and explicit spend authorization.5MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP-powered AI Production Manager that converts ChatGPT into a filmmaking assistant for automating production planning, scheduling, budgeting, and weather-aware logistics.-
Glama MCP Gateway
Add one secure layer between your agents and this server.