objekts Production Desk
Commercial visual-production planning and estimates by objekts, with optional human review.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"production-desk": {
"url": "https://mcp.objekts.ai/mcp"
}
}
}Remote-Endpunkte
https://mcp.objekts.ai/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (6)
🟢estimate_production(mode, units, includeDepartments, deadlineDays, targetBudgetMin, ...)
Use the objekts Production Desk estimate engine when a commercial, AI/VFX, CGI, motion, animation, adaptation, DOOH or hybrid visual-production scope is understood well enough for a directional budget/timeline range. It packages objekts production-estimation methodology and computes a non-binding estimate from production units, hard locks, continuity, versioning and deadline pressure. Do not use it to invent a precise quote from a vague idea, and do not collect contact information for this tool.
Eingabe-Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"ROM",
"SCOPED_ESTIMATE",
"BUDGET_FIT",
"DEADLINE_FIT"
]
},
"units": {
"minItems": 1,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"department": {
"type": "string",
"enum": [
"CREATIVE",
"PREVIS",
"PRODUCTION",
"AI_VFX",
"CGI_3D",
"MOTION",
"COMPOSITING",
"EDIT",
"COLOR",
"SOUND",
"VERSIONING",
"PHOTO",
"RIGHTS",
"TRAVEL",
"RESERVE",
"OTHER"
]
},
"quantity": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"complexity": {
"type": "string",
"enum": [
"LOW",
"MEDIUM",
"HIGH",
"CRITICAL"
]
},
"hardLocks": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"recurringEntities": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"reusable": {
"type": "boolean"
},
"basis": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"department"
]
}
},
"includeDepartments": {
"type": "array",
"items": {
"type": "string",
"enum": [
"CREATIVE",
"PREVIS",
"PRODUCTION",
"AI_VFX",
"CGI_3D",
"MOTION",
"COMPOSITING",
"EDIT",
"COLOR",
"SOUND",
"VERSIONING",
"PHOTO",
"RIGHTS",
"TRAVEL",
"RESERVE",
"OTHER"
]
}
},
"deadlineDays": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"targetBudgetMin": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"targetBudgetMax": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"externalBidItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"reason": {
"type": "string",
"minLength": 1
}
},
"required": [
"label",
"reason"
]
}
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"exclusions": {
"type": "array",
"items": {
"type": "string"
}
},
"versioning": {
"type": "object",
"properties": {
"derivedVersions": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"recomposedVersions": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"newProductionUnits": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
}
},
"required": [
"mode",
"units"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"ROM",
"SCOPED_ESTIMATE",
"BUDGET_FIT",
"DEADLINE_FIT"
]
},
"currency": {
"type": "string"
},
"confidence": {
"type": "string",
"enum": [
"LOW",
"MEDIUM",
"HIGH"
]
},
"rangeMin": {
"type": "number",
"minimum": 0
},
"rangeMax": {
"type": "number",
"minimum": 0
},
"timelineMinDays": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"timelineMaxDays": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"departments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"department": {
"type": "string",
"enum": [
"CREATIVE",
"PREVIS",
"PRODUCTION",
"AI_VFX",
"CGI_3D",
"MOTION",
"COMPOSITING",
"EDIT",
"COLOR",
"SOUND",
"VERSIONING",
"PHOTO",
"RIGHTS",
"TRAVEL",
"RESERVE",
"OTHER"
]
},
"rangeMin": {
"type": "number",
"minimum": 0
},
"rangeMax": {
"type": "number",
"minimum": 0
},
"basis": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"department",
"rangeMin",
"rangeMax",
"basis"
],
"additionalProperties": false
}
},
"costDrivers": {
"type": "array",
"items": {
"type": "string"
}
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"exclusions": {
"type": "array",
"items": {
"type": "string"
}
},
"unknownCostExposure": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"LOW",
"MEDIUM",
"HIGH",
"UNBOUNDED"
]
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"reason": {
"type": "string"
},
"requiresExternalBid": {
"type": "boolean"
}
},
"required": [
"label",
"reason",
"requiresExternalBid"
],
"additionalProperties": false
}
}
},
"required": [
"level",
"items"
],
"additionalProperties": false
},
"budgetFit": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"WITHIN",
"TIGHT",
"OVER_BUDGET"
]
},
"targetMin": {
"type": [
"number",
"null"
]
},
"targetMax": {
"type": "number",
"minimum": 0
},
"deltaToTarget": {
"type": "number"
}
},
"required": [
"status",
"targetMin",
"targetMax",
"deltaToTarget"
],
"additionalProperties": false
},
"scheduleFit": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"WITHIN",
"TIGHT",
"OVER_DEADLINE"
]
},
"targetDays": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"naturalMinDays": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"naturalMaxDays": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"status",
"targetDays",
"naturalMinDays",
"naturalMaxDays"
],
"additionalProperties": false
}
},
"required": [
"mode",
"currency",
"confidence",
"rangeMin",
"rangeMax",
"timelineMinDays",
"timelineMaxDays",
"departments",
"costDrivers",
"assumptions",
"exclusions",
"unknownCostExposure"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡create_upload_session(filename, mediaType, sizeBytes)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"filename": {
"type": "string",
"minLength": 1
},
"mediaType": {
"type": "string",
"minLength": 1
},
"sizeBytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"filename",
"mediaType",
"sizeBytes"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"uploadId": {
"type": "string"
},
"uploadUrl": {
"type": "string",
"format": "uri"
},
"expiresAt": {
"type": "string"
}
},
"required": [
"uploadId",
"uploadUrl",
"expiresAt"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🔴submit_production_brief(confirmed, contact, brief, selectedAssetIds, files)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"confirmed": {
"type": "boolean",
"const": true
},
"contact": {
"type": "object",
"properties": {
"email": {
"anyOf": [
{
"type": "string",
"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": "null"
}
]
},
"name": {
"type": [
"string",
"null"
]
},
"company": {
"type": [
"string",
"null"
]
},
"telegram": {
"type": [
"string",
"null"
]
}
}
},
"brief": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"selectedAssetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"files": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"download_url": {
"type": "string"
},
"file_id": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"file_name": {
"type": "string"
}
},
"required": [
"download_url",
"file_id"
]
}
}
},
"required": [
"confirmed",
"brief"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"submissionId": {
"type": "string"
},
"status": {
"type": "string",
"const": "RECEIVED"
},
"message": {
"type": "string"
}
},
"required": [
"submissionId",
"status",
"message"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_production_brief_status(submissionId)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"submissionId": {
"type": "string",
"minLength": 8
}
},
"required": [
"submissionId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"submissionId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"RECEIVED",
"REVIEWING",
"NEED_INFO",
"HUMAN_ESTIMATE_READY",
"CALL_PROPOSED",
"WON",
"LOST",
"CLOSED",
"DELETED"
]
},
"questions": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": [
"string",
"null"
]
},
"humanEstimate": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"required": [
"submissionId",
"status",
"questions"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🔴update_production_brief(confirmed, submissionId, answers, briefPatch, addedAssetIds, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"confirmed": {
"type": "boolean",
"const": true
},
"submissionId": {
"type": "string",
"minLength": 8
},
"answers": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"briefPatch": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"addedAssetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"files": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"download_url": {
"type": "string"
},
"file_id": {
"type": "string"
},
"mime_type": {
"type": "string"
},
"file_name": {
"type": "string"
}
},
"required": [
"download_url",
"file_id"
]
}
}
},
"required": [
"confirmed",
"submissionId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"submissionId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"RECEIVED",
"REVIEWING",
"NEED_INFO",
"HUMAN_ESTIMATE_READY",
"CALL_PROPOSED",
"WON",
"LOST",
"CLOSED",
"DELETED"
]
},
"questions": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": [
"string",
"null"
]
},
"humanEstimate": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"required": [
"submissionId",
"status",
"questions"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🔴delete_production_brief(confirmed, submissionId)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"confirmed": {
"type": "boolean",
"const": true
},
"submissionId": {
"type": "string",
"minLength": 8
}
},
"required": [
"confirmed",
"submissionId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"deleted": {
"type": "boolean",
"const": true
}
},
"required": [
"deleted"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Nachweis