Skip to main content
Glama

Import Media by URL (Popcraft)

popcraft_media_import_url
Idempotent

Mirror a web media URL (image/video/audio) into Popcraft-owned GCS storage and return a media_id. Use this whenever a generation needs to reference media that lives outside Popcraft — e.g. a URL the user pasted, a link from search results, or an asset from another tool. The returned media_id is a stable GCS https URL: pass it as a medias[].value entry to popcraft_generate_image / popcraft_generate_video / popcraft_generate_audio. A media_id Popcraft already issued passes through unchanged — no need to re-import one you already have; any other URL (including a third-party storage.googleapis.com one) is fetched and re-hosted. Blocked for private/internal network addresses (SSRF protection). If the media is a LOCAL file with no public URL, use popcraft_media_upload_inline instead — do not ask the user to host it somewhere first. Popcraft MCP API docs: https://popcraft.ai/mcp.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesPublicly fetchable http(s) URL of the image/video/audio to import; gs:// or storage.googleapis.com URLs pass through unchanged
typeNoExpected media type — used for validation/routing; omit to infer from the response

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Adds substantial context beyond annotations: idempotent pass-through of already-issued media_ids, re-hosting of arbitrary URLs, and SSRF blocking of private/internal addresses. Annotations cover the safety profile, and the description enriches it with real operational behavior.

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?

Purpose and return value are front-loaded, and most sentences earn their place by conveying routing or behavioral detail. It is dense and slightly long, with a trailing docs URL that is marginally extraneous.

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?

For a two-param import tool with no output schema, the description fully explains the return (a stable media_id / GCS https URL) and its downstream usage, leaving nothing an agent needs to call it correctly.

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 description coverage is 100%, so the schema already documents both parameters (baseline 3). The description adds meaning by clarifying pass-through semantics for gs:// URLs and how the returned media_id is consumed downstream.

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?

States a specific verb+resource (mirror a web media URL into Popcraft-owned GCS storage) plus the return value (media_id). Clearly distinguishes itself from the upload/upload_inline siblings by focusing on externally-hosted URLs.

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?

Explicitly states when to use it ('whenever a generation needs to reference media that lives outside Popcraft') with concrete examples, and names the alternative condition ('If the media is a LOCAL file with no public URL, use popcraft_media_upload_inline instead'). Routing to siblings is fully specified.

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.

Resources