Skip to main content
Glama

Opus Growth, Ad Platforms MCP Connector

Fetch File To Site

site_fetch
Destructive

Downloads a file from a public URL DIRECTLY onto the hosting site, and RESIZES or CONVERTS images on the way in (resize, webp, avif, jpg, quality) — this is the only image processing available for a hosting server, because the container itself has no cwebp, no ImageMagick and no sharp. The CORE fetches the bytes (full internet + memory) and writes them to path under /data/site. Use this for the user's OWN images/logos/PDFs (any domain) or stock photos, INSTEAD of base64-encoding or chunking large files through chat (which wastes memory). Also works around the sandbox's limited outbound DNS (shell curl in site_run_command only reaches whitelisted hosts like images.unsplash.com; site_fetch reaches ANY host). path e.g. 'assets/img/hero.webp'. Binary-safe, up to 20MB per file.

IMAGE PROCESSING happens here, before the file lands: resize accepts '1200x' (width, height follows the aspect ratio), 'x800' (height), '1200x800' (fit inside that box, never cropped or stretched) or '50%'; image_format converts to 'webp', 'jpg', 'png' or 'avif'; quality is 1-100 for the lossy formats (default 82). The hosting container has no cwebp, no ImageMagick and no sharp, so this is how a photo becomes a right-sized WebP — download a 4000px original and write a 1200px WebP in one call. Images are never enlarged past their real size, because upscaling only adds bytes. Not for SVG: an SVG is written through untouched (it is already scalable), and it cannot be rasterised into a PNG favicon here — for that install sharp with site_run_command(background=true).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
pathYes
siteNo
resizeNo
serverNo
qualityNo
image_formatNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Added
  4. Removed
  5. Added
  6. Removed
  7. Added
  8. Removed
  9. Added
  10. Removed
  11. Added
  12. Removed
  13. Added
  14. Removed
  15. Added
  16. Removed
  17. Added
  18. Removed
  19. Added
  20. Removed
  21. Added
  22. Removed
  23. Added
  24. Removed
  25. Added
  26. Removed
  27. Added
  28. Removed
  29. Added
  30. Removed
  31. Added
  32. Removed
  33. Added
  34. Removed
  35. Added
  36. Removed
  37. Added
  38. Removed
  39. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare write/destructive/open-world behavior, and the description adds substantial context: 20MB per-file limit, binary-safe handling, no upscaling, image processing order before landing, absent container tooling, SVG pass-through, and inability to rasterise SVG into PNG here. It does not state overwrite semantics or auth/permission requirements, so it stops short of full behavioral coverage.

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 and the length is largely justified by the tool's complexity. It still repeats the hosting container's lack of cwebp, ImageMagick, and sharp twice, and restates that image processing happens here, so it could be tightened without losing meaning.

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?

For a write-heavy 7-parameter tool with an output schema and many siblings, the description covers the key usage, image-processing options, limits, DNS workaround, and SVG exception. The main missing pieces are the meanings of the site and server parameters and explicit overwrite behavior, but output schema handles return values and annotations cover the safety profile.

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 description coverage is 0%, so the description must compensate. It explains url (public URL), path with an example, resize syntax such as '1200x', 'x800', '1200x800', '50%', image_format values, and quality range/default. However, it completely omits the site and server parameters, and its quality default of 82 differs from the schema default of 0, leaving real gaps for a 7-parameter tool.

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 and resource: downloads a file from a public URL directly onto the hosting site and resizes/converts images inline. It clearly distinguishes itself from siblings like fetch, site_write_file, upload_image, and wordpress_upload_media by explaining it is the only image-processing path on the hosting container and should replace base64/chunking.

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?

Gives explicit when-to-use cases (user's own images/logos/PDFs, any domain, stock photos), alternatives it replaces (base64 encoding or chunking through chat), a sandbox workaround (site_run_command curl only reaches whitelisted hosts while site_fetch reaches any host), and an explicit exclusion (not for SVG rasterisation, with the alternative of installing sharp via site_run_command).

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.