Skip to main content
Call actions_capabilities to check whether live Meta changes are enabled. Creation, duplication, and status requests default to dry_run: true. Campaigns, ad sets, and ads created through these tools start paused. Direct budget amounts use integer account-currency minor units. The tables list arguments and common nested fields. Expand Full input schema for all fields and allowed values. Workspace and account permissions apply to every tool.

actions_capabilities

Check which Meta actions and live changes are enabled. Access: mcp:read. Arguments: none.

media_uploads_create

Open a media picker or prepare a signed upload to the workspace library. The picker accepts up to ten files, with a default total limit of 64 MiB. To get a signed upload URL for one file, supply its metadata. A successful upload saves the file in the library. Use media_asset_id with Launcher tools or media_id with creatives_create. Uploading a file does not create a Meta creative. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

media_uploads_complete

Upload one to ten selected files and return a result for each file. The default combined limit is 64 MiB. Use media_asset_id with Launcher tools or media_id with creatives_create. After a partial failure, retry with the same request_id and files to retain the results for files that already succeeded. Access: mcp:read and mcp:write. Retries: reuse the same request_id with unchanged inputs for the same operation.

creatives_create

Create a Meta creative from one completed signed media upload. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

campaigns_create

Validate campaign inputs or create a paused Meta campaign. The default is dry_run: true. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

adsets_create

Validate ad-set inputs or create a paused Meta ad set. The default is dry_run: true. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

ads_create

Validate ad inputs or create a paused Meta ad. The default is dry_run: true. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

actions_execute

Change the status of a campaign, ad set, or ad with set_status. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

campaigns_duplicate

Preview or copy a campaign with its children in the same account, paused. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

adsets_duplicate

Preview or copy an ad set with its ads in the same campaign, paused. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

ads_duplicate

Preview or copy an ad in the same ad set, paused. Access: mcp:read and mcp:write.

payload fields

Retries: reuse the same request_id with unchanged inputs for the same operation.

actions_get

Read an action result using its activity ID. Access: mcp:read.