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 个工具