meta_list_pixels
List the Meta Pixels installed on a Meta advertiser.
Ask which Pixel an ad set that optimizes for conversions can use. The agent reads the Pixels of the advertiser, so that it does not guess one.
Which Pixel should a conversion campaign on Northwind use?
The agent calls meta_list_pixels, and you see each Pixel with the time of its last event. The agent proposes the Pixel with the most recent event. Change what runs on Meta shows where this step comes in the job.
Reference
List the Meta Pixels installed on a Meta ad account. A conversion-optimizing ad set must name one, so call this before creating such an ad set. Returns { id, name, lastFiredTime } per Pixel — prefer one that has fired recently, since a pixel that has never fired is usually not installed. An empty list means the account has no Pixel.
Input
| Argument | Type | Required | Description |
|---|---|---|---|
advertiserId |
string | yes | Advertiser account ID (acc_<id>). Must belong to the active organization — find one with list_advertisers. |
Output
A successful call returns this object in structuredContent.
| Field | Type | Always present | Description |
|---|---|---|---|
pixels |
array of object | yes | The Meta Pixels of the advertiser. The list holds 100 Pixels at most. An empty list means that the advertiser has no Pixel. |
pixels[].id |
string | yes | The Meta id of the Pixel. Give it as pixelId to meta_create_adset. |
pixels[].lastFiredTime |
string or null | yes | The time of the last event that the Pixel received, as Meta writes it (ISO 8601). It is null for a Pixel that never received an event. |
pixels[].name |
string | yes | The name of the Pixel in Meta. |
Failure codes
A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.
not_foundprovider_not_connectedprovider_errorforbiddeninvalid_requestinternal_error
Scope
The token must hold observe:read. Auth & scopes lists each scope.
Annotations
A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.
- Read-only. The tool changes nothing.
- Open world. The tool reaches a system outside AdCrunch, such as an ad platform.
Example
The arguments:
{
"advertiserId": "acc_1485443900032333"
}
The result, in structuredContent:
{
"pixels": [
{
"id": "812345678901234",
"lastFiredTime": "2026-09-24T08:15:02+0000",
"name": "Northwind Web Pixel"
},
{
"id": "698765432109876",
"lastFiredTime": null,
"name": "Old test pixel"
}
]
}