upload_media_from_url

Import an image from a public URL into the PostEverywhere media library. The image is fetched server-side, stored, and immediately ready to attach to posts via media_ids. Supported: JPEG, PNG, GIF, WebP, HEIC, HEIF — up to 25 MB. Image-only for now; videos still require the 3-step REST flow (POST...

Server Posteverywhere posteverywhere/mcp
Category Write
Risk class Medium
Parameters 00 required

What upload_media_from_url does on Posteverywhere

AI agents use upload_media_from_url to create or update resources in Posteverywhere — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Posteverywhere environment.

Why upload_media_from_url needs a policy

This tool creates and stores new media assets in a system where they can be attached to social media posts. While reversible (via delete_media), uploading arbitrary media from URLs could be misused to flood a media library, create spam assets, or associate inappropriate content with an account.

From the tool's definition Tool description states the image is 'stored' in the media library and becomes 'immediately ready to attach to posts'. The tool 'import[s]' and 'store[s]' media, creating new persistent resources (media_id) that can be used across posts.

Questions about upload_media_from_url

What does the upload_media_from_url tool do? +

Import an image from a public URL into the PostEverywhere media library. The image is fetched server-side, stored, and immediately ready to attach to posts via media_ids. Supported: JPEG, PNG, GIF, WebP, HEIC, HEIF — up to 25 MB. Image-only for now; videos still require the 3-step REST flow (POST /v1/media/upload → PUT presigned URL → POST /v1/media/{id}/complete). Returns { media_id, url, content_type, size } — pass media_id directly to create_post. It is categorised as a Write tool in the Posteverywhere MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on upload_media_from_url? +

Register the Posteverywhere MCP server in PolicyLayer and add a rule for upload_media_from_url: 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 Posteverywhere. Nothing to install.

What risk level is upload_media_from_url? +

upload_media_from_url is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit upload_media_from_url? +

Yes. Add a rate_limit block to the upload_media_from_url 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.

How do I block upload_media_from_url completely? +

Set action: deny in the PolicyLayer policy for upload_media_from_url. 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.

What MCP server provides upload_media_from_url? +

upload_media_from_url is provided by the Posteverywhere MCP server (posteverywhere/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

// LOOK UP ANOTHER SERVER

Every MCP server has a record like this.

Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.