upload_media_file
Upload a file to the media library or add a hosted file URL (max 25MB for direct uploads)
This record as markdown: /tools/ghl/upload-media-file.md
What upload_media_file does on Ghl
AI agents use upload_media_file to create or update resources in Ghl, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Ghl environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
file | string | — | File data (binary) for direct upload |
name | string | — | Custom name for the uploaded file |
altId | string | — | Location or Agency ID (uses default location if not provided) |
hosted | boolean | — | Set to true if providing a fileUrl instead of direct file upload |
altType | string | — | Context type (location or agency) |
fileUrl | string | — | URL of hosted file (required if hosted=true) |
parentId | string | — | Parent folder ID to upload file into |
Parameters from the server's own tool schema.
Why upload_media_file is rated Medium
This tool creates or adds new media assets to a system (upload_media_file, add hosted file URL). It is a Write operation as it modifies state by adding new content to the media library. It is reversible (media can typically be deleted), so it does not qualify as Destructive. There are no side effects beyond media storage, financial transactions, or code execution, placing it firmly in the Write category.
From the tool's definition Tool description states 'Upload a file to the media library or add a hosted file URL', indicating creation of new media resources in the library.
Risk signalsAccepts file system path (file)
Attacks that exploit this kind of access
The rule that runs upload_media_file safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Ghl, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For upload_media_file, this is the rule to start with:
upload_media_file stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Ghl, apply this rule, and every upload_media_file call is checked against it from then on.
Questions about upload_media_file
Upload a file to the media library or add a hosted file URL (max 25MB for direct uploads). It is categorised as a Write tool in the Ghl MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
upload_media_file accepts 7 parameters: file, name, altId, hosted, altType, fileUrl, parentId. The full parameter table on this page comes from the server's own tool schema.
Register the Ghl MCP server in PolicyLayer and add a rule for upload_media_file: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Ghl. Nothing to install.
upload_media_file is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the upload_media_file rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for upload_media_file. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
upload_media_file is provided by the Ghl MCP server (ghl-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Ghl, and thousands of servers like it.
This server
Across the catalogue