{
  "name": "get_transcript",
  "title": "Read a Meetly transcript page",
  "description": "Use this to read a bounded page of primary transcript evidence. Continue with nextCursor until null for full coverage, check revision metadata, and request timestamped source speaker labels with segments. Never infer speakers from calendar invitees. Use fetch for the whole transcript and separately attributed calendar/capture context.",
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "openWorldHint": false,
    "idempotentHint": true
  },
  "securitySchemes": [
    {
      "type": "oauth2",
      "scopes": [
        "meetings:read"
      ]
    }
  ],
  "_meta": {
    "securitySchemes": [
      {
        "type": "oauth2",
        "scopes": [
          "meetings:read"
        ]
      }
    ],
    "openai/toolInvocation/invoking": "Reading transcript…",
    "openai/toolInvocation/invoked": "Transcript page ready"
  },
  "inputSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "string",
        "minLength": 1,
        "description": "Meeting identifier."
      },
      "cursor": {
        "type": "number",
        "minimum": 0,
        "description": "Character offset; defaults to 0."
      },
      "maxChars": {
        "type": "number",
        "minimum": 1,
        "maximum": 20000,
        "description": "Characters to return; defaults to 12,000 and is capped at 20,000."
      },
      "segments": {
        "type": "boolean",
        "description": "Include only timestamped segments that overlap this transcript page; defaults to false."
      }
    },
    "required": [
      "id"
    ]
  },
  "outputSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "dateIso": {
        "type": "string",
        "format": "date-time"
      },
      "transcriptText": {
        "type": "string"
      },
      "cursor": {
        "type": "number"
      },
      "nextCursor": {
        "type": [
          "number",
          "null"
        ]
      },
      "totalChars": {
        "type": "number"
      },
      "truncated": {
        "type": "boolean"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": {
          "type": [
            "string",
            "number",
            "boolean",
            "null"
          ]
        }
      },
      "segments": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "startSec": {
              "type": "number"
            },
            "endSec": {
              "type": "number"
            },
            "speaker": {
              "type": "string"
            },
            "text": {
              "type": "string"
            },
            "partial": {
              "type": "boolean"
            }
          },
          "required": [
            "startSec",
            "endSec",
            "speaker",
            "text",
            "partial"
          ]
        }
      }
    },
    "required": [
      "id",
      "title",
      "dateIso",
      "transcriptText",
      "cursor",
      "nextCursor",
      "totalChars",
      "truncated"
    ]
  }
}
