objekts Production Desk

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
79%
이름 품질
97%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,853토큰 (도구 정의)
~4.2 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.23%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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개