App-only tools

recordings_update

Update recording metadata

Use this when the user wants to rename a BitterClip recording or set/replace its description or chapters. Video visual analysis is automatic; audio-only recordings skip it. This does not re-transcribe, edit media, create clips, render, or publish.

Surface: App-only

Product release 185ad8f4adfa21ae055b5bd6f97968d9044480d1
Public contract commit d2ab41fab4088c07c0f6b924fa4f3c63481b936a
Public contract SHA-256 2365c73c2aef7b9f85e8434d8e29ea29f40824bc3a46a72a356155ea328757fc
Captured 2026-10-29T03:35:56.855Z. Review or improve this contract on GitHub.

These blocks show the complete MCP descriptors captured from serving Rails. Security schemes and resource URIs can differ by connected host.

App descriptor

{
  "name": "recordings_update",
  "title": "Update recording metadata",
  "description": "Use this when the user wants to rename a BitterClip recording or set/replace its description or chapters. Video visual analysis is automatic; audio-only recordings skip it. This does not re-transcribe, edit media, create clips, render, or publish.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "recording_id": {
        "type": "string",
        "description": "Recording public ID."
      },
      "title": {
        "type": "string",
        "description": "Optional new recording title. Blank titles are rejected."
      },
      "description": {
        "type": "string",
        "description": "Optional recording description; an empty string clears it."
      },
      "chapters": {
        "type": "array",
        "description": "Optional user-authored recording chapters. Each item needs start_seconds and title.",
        "items": {
          "type": "object",
          "properties": {
            "start_seconds": {
              "type": "number"
            },
            "title": {
              "type": "string"
            }
          }
        }
      }
    },
    "required": [
      "recording_id"
    ],
    "additionalProperties": false
  },
  "annotations": {
    "title": "Update recording metadata",
    "readOnlyHint": false,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "securitySchemes": [
    {
      "type": "noauth"
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "noauth"
      }
    ],
    "ui": {
      "visibility": [
        "app"
      ]
    },
    "openai/widgetAccessible": true,
    "openai/visibility": "private"
  },
  "outputSchema": {
    "type": "object",
    "properties": {
      "source": {
        "type": "object",
        "description": "Updated source payload with title and description."
      },
      "recording": {
        "type": "object",
        "description": "Updated project recording payload."
      },
      "project": {
        "type": [
          "object",
          "null"
        ],
        "description": "Parent project payload when the recording belongs to a project."
      }
    },
    "required": [],
    "additionalProperties": false
  }
}

Errors

[
  "recording_not_found",
  "invalid_input"
]

Examples

[]