Upload Media is a WordPress ability from Page Builder: Pagelayer – Drag and Drop website builder — usable via Easy MCP AI, which connects Claude, ChatGPT, and any AI assistant to your site.
Install Free Plugin →Upload Media
WriteSideload an image from a remote URL into the WordPress Media Library.
Requires the Pagelayer plugin on WordPress 6.9+ (or another source of wp_register_ability()) for the Abilities API — registration is skipped entirely via a function_exists() guard when it isn't available, and ability categories similarly require wp_register_ability_category(). Most abilities require the 'edit_posts' capability; update-global-styles, create-menu, and delete-menu require 'manage_options'. search-images additionally needs a Pexels API key configured on the Pagelayer AI Agents settings page, and get-library-sections/import-library-section call Pagelayer's own hosted library API. Four near-duplicate abilities (get-widget, get-widgets-summary, edit-layout, navigator) are registered in source with mcp_public:false — fully callable over the REST Abilities API but intentionally left out of the advertised MCP tool list as duplicates of get-widget-schema, list-widgets, update-page, and get-page respectively — and are excluded from this listing.
What it does
Downloads the file at the given url and sideloads it into the Media Library via media_handle_sideload, attaching the given alt_text as its description. Used internally by create-post/update-post/create-website whenever a featured_image is supplied as a URL rather than an attachment ID, and exposed directly for any other image the caller wants uploaded ahead of time.
See it in action
You ask your AI assistant
"Upload this image URL to the media library: https://images.example.com/hero.jpg"
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Remote image URL. |
| alt_text | string | No | Alt text / description for the attachment. |
Returns
An object with attachment_id and url (the uploaded attachment's Media Library URL), or a WP_Error if the download or sideload fails.
Permission
Requires the 'edit_posts' capability.
More Page Builder: Pagelayer – Drag and Drop website builder abilities
Add Element
Insert a new element node into a page at a given parent container and index.
Begin Transaction
Snapshot a page's current layout and content as a backup before a multi-step editing sequence.
Change Element Styles
Batch-apply style property changes to page elements matched by ID, pagelayer-id, or widget tag.
Commit Transaction
Discard a page's transaction backup, finalizing the changes made since begin-transaction.
Create / Update Navigation Menu
Create a WordPress nav menu from a list of items (or rebuild an existing one of the same name), optionally with nested Mega Menu content, and assign it to a theme location.
Create Design UI Sections
Append new section nodes onto an existing page without touching what's already there.