Skip to main content
Glama
zezeron
by zezeron

Extract Media URLs

tweetsave_extract_media
Read-onlyIdempotent

Extract direct media URLs from a tweet for downloading or embedding. Filter by photos, videos, or all types.

Instructions

Extract direct media URLs (photos, videos, GIFs) from a tweet.

Returns direct URLs that can be downloaded or embedded. Video URLs are the highest quality available.

Args:

  • url (string): Tweet URL or tweet ID

  • media_type ('all' | 'photos' | 'videos'): Filter by media type (default: 'all')

Returns: List of media items with:

  • type (photo/video/gif)

  • url (direct download URL)

  • dimensions (width/height)

  • duration (for videos)

Examples:

  • "Get all media from this tweet: https://x.com/user/status/123"

  • "Extract video URLs from tweet 123456"

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesTweet URL or tweet ID
media_typeNoType of media to extract: 'all', 'photos', or 'videos'all
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, etc. Description adds useful behavioral details like 'Video URLs are the highest quality available' and return structure, enhancing transparency beyond annotations.

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

Conciseness5/5

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

Description is well-organized with sections (Args, Returns, Examples), concise, and front-loaded with the main purpose. Every sentence adds value without redundancy.

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

Completeness4/5

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

Given no output schema, description provides return structure (type, url, dimensions, duration), which covers key aspects. It lacks error handling or limits, but is sufficient for basic use.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. Description adds examples and clarifies that 'url' can be a URL or ID, and explains the media_type filter with defaults, providing extra semantic value.

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?

Description clearly states 'Extract direct media URLs' and specifies types (photos, videos, GIFs). It distinguishes from siblings like tweetsave_get_tweet which likely returns tweet text, making the tool's specific resource and action unambiguous.

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

Usage Guidelines4/5

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

Description provides clear context for when to use this tool (extracting media) and includes examples. However, it does not explicitly state when not to use it or compare with sibling tools, so it lacks exclusions but offers sufficient context.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zezeron/tweetsave-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server