objekts Production Desk

Commercial visual-production planning and estimates by objekts, with optional human review.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
79%
命名品質
97%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,853Token(工具定義)
~4.2 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.23%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "production-desk": {
      "url": "https://mcp.objekts.ai/mcp"
    }
  }
}

遠端端點

https://mcp.objekts.ai/mcpstreamable-http

它能做什麼

工具清單

工具(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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "submissionId": {
      "type": "string",
      "minLength": 8
    }
  },
  "required": [
    "submissionId"
  ],
  "$schema": "http://json-schema.org/draft-07/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.

輸入結構描述

{
  "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#"
}

輸出結構描述

{
  "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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "confirmed": {
      "type": "boolean",
      "const": true
    },
    "submissionId": {
      "type": "string",
      "minLength": 8
    }
  },
  "required": [
    "confirmed",
    "submissionId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "deleted": {
      "type": "boolean",
      "const": true
    }
  },
  "required": [
    "deleted"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具