Skip to main content
Glama

Export your own videos

own_video_export
Read-onlyIdempotent

Use this when the user wants to export or download videos they uploaded themselves to TikTok, YouTube, Instagram or X. Pass the platform, for example {"platform": "youtube"}. Returns the official steps in order, their limits and the help_url to quote. It does not sign in or fetch the video. Not for any other platform, such as Douyin, Bilibili or Xiaohongshu: no export steps are offered here, so do not call it; tell the user to use that platform's own account settings. Not for someone else's video or for finding footage (use search_free_videos). We do not rip videos from social platforms or remove watermarks.

Input Schema

NameRequiredDescriptionDefault
platformYesWhere the user uploaded the videos. Example call: {"platform": "youtube"}. Steps exist only for these 4; for any other platform, send the user to its own account settings

Output Schema

NameRequiredDescriptionDefault
stepsYesThe official steps, in order, from the platform's help page
limitsYesLimits the help page states, such as file format or waiting time
statusYes
does_notYesWhat this service does not do: no download of other people's videos and no watermark removal
help_urlYesLink to the official help page. Give it to the user with the steps
platformYes
applies_toYesWhose videos the steps cover: only the signed-in account holder's own uploads
checked_onYesDate the help page was last checked (UTC, YYYY-MM-DD)
help_titleYesTitle of the official help page
source_noteYesWhere the steps come from

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedInput schema / examples
      Removed value: -[
      -  {
      -    "platform": "youtube"
      -  }
      -]
    • removedOutput schema / properties / as_of
      Removed value: -{
      -  "description": "ISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / source
      Removed value: -{
      -  "description": "Who the data comes from, to cite and to check it against.",
      -  "properties": {
      -    "name": {
      -      "type": "string"
      -    },
      -    "url": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "name",
      -    "url"
      -  ],
      -  "type": "object"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "platform",
      -  "applies_to",
      -  "does_not",
      -  "steps",
      -  "limits",
      -  "help_title",
      -  "help_url",
      -  "checked_on",
      -  "source_note",
      -  "as_of",
      -  "source"
      -]New value: +[
      +  "status",
      +  "platform",
      +  "applies_to",
      +  "does_not",
      +  "steps",
      +  "limits",
      +  "help_title",
      +  "help_url",
      +  "checked_on",
      +  "source_note"
      +]
  2. Changed6 schema fields changed
    • changedOutput schema / properties / as_of / description
      Previous value: -"Date of this answer (UTC, YYYY-MM-DD)"New value: +"ISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch."
    • changedOutput schema / properties / source / description
      Previous value: -"Help page title and link"New value: +"Who the data comes from, to cite and to check it against."
    • addedOutput schema / properties / source / properties
      Added value: +{
      +  "name": {
      +    "type": "string"
      +  },
      +  "url": {
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / source / required
      Added value: +[
      +  "name",
      +  "url"
      +]
    • changedOutput schema / properties / source / type
      Previous value: -"string"New value: +"object"
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "platform",
      -  "applies_to",
      -  "does_not",
      -  "steps",
      -  "limits",
      -  "help_title",
      -  "help_url",
      -  "checked_on",
      -  "source_note",
      -  "source",
      -  "as_of"
      -]New value: +[
      +  "status",
      +  "platform",
      +  "applies_to",
      +  "does_not",
      +  "steps",
      +  "limits",
      +  "help_title",
      +  "help_url",
      +  "checked_on",
      +  "source_note",
      +  "as_of",
      +  "source"
      +]
  3. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "platform": "youtube"
      +  }
      +]
  4. Changed11 schema fields changed
    • changedInput schema / properties / platform / description
      Previous value: -"The platform where the caller uploaded the videos"New value: +"Where the user uploaded the videos. Example call: {\"platform\": \"youtube\"}. Steps exist only for these 4; for any other platform, send the user to its own account settings"
    • addedOutput schema / properties / applies_to / description
      Added value: +"Whose videos the steps cover: only the signed-in account holder's own uploads"
    • addedOutput schema / properties / as_of / description
      Added value: +"Date of this answer (UTC, YYYY-MM-DD)"
    • addedOutput schema / properties / does_not / description
      Added value: +"What this service does not do: no download of other people's videos and no watermark removal"
    • addedOutput schema / properties / help_title / description
      Added value: +"Title of the official help page"
    • addedOutput schema / properties / help_url / description
      Added value: +"Link to the official help page. Give it to the user with the steps"
    • addedOutput schema / properties / help_url / format
      Added value: +"uri"
    • addedOutput schema / properties / limits / description
      Added value: +"Limits the help page states, such as file format or waiting time"
    • addedOutput schema / properties / source / description
      Added value: +"Help page title and link"
    • addedOutput schema / properties / source_note / description
      Added value: +"Where the steps come from"
    • addedOutput schema / properties / steps / description
      Added value: +"The official steps, in order, from the platform's help page"
  5. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses that the tool does not sign in or fetch the video, that it returns official steps in order plus limits and a help_url, and that it does not rip videos or remove watermarks. These are meaningful behavioral constraints that go beyond readOnly/openWorld/idempotent hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the primary use case and then layers exclusions efficiently. It is somewhat long and repeats the schema's example call, but nearly every sentence carries routing or boundary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single-parameter schema, output schema, and annotations, the description covers what the tool returns, what it does not do, when to avoid it, and which sibling to use instead. Nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the enum already restricts platform to the four supported values. The description repeats the example call and confirms that steps exist only for those platforms, adding only marginal meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: export/download videos the user uploaded to TikTok, YouTube, Instagram or X, returning official steps. It explicitly distinguishes itself from search_free_videos and from other platforms, so an agent can route correctly without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use and when-not-to-use conditions: only for the user's own uploads on the four named platforms, not for other platforms, not for someone else's video, and not for finding footage. It also names the alternative sibling, search_free_videos, for footage search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.