Amazon Ads
Sponsored Brands Ad Group Management v4
Work with ad groups to organize advertised products, targeting and bids within your Sponsored Brands advertising campaigns. Uses version 4.
MCP tool name
nexscope_data_amazon_ads_developer_proxy_sb_v4_ad_groupsMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "data-amazon-ads-developer-proxy-sb-v4-ad-groups-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_amazon_ads_developer_proxy_sb_v4_ad_groups",
"arguments": {
"accept": "application/vnd.sbadgroupresource.v4+json",
"body": "{}",
"contentType": "application/vnd.sbadgroupresource.v4+json",
"method": "POST"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
connectionId | integer | required | An Amazon Ads connection owned by the authenticated Nexscope user. Example: {} |
fetchAll | boolean | optional | Automatic page turning; SP and SB V4 main resource lists use `nextToken`, SB Target/BudgetRule uses `nextToken` (BudgetRule query must contain `pageSize`), SB Keyword GET, SB V3 GET and SD use `startIndex + count`. Example: true |
maxResults | integer | optional | Single page 1–100; SD corresponds to count. Example: 100 |
skipDepCheck | boolean | optional | Skip dependency checking. Example: false |
includeExtendedDataFields | boolean | optional | Some entities return extended fields; SD is switched through the /extended path. Example: {} |
locale | string | optional | Localization parameters (supported by some keyword scripts). Example: {} |
method | string | required | Upstream HTTP methods: `POST` creation, `PUT` modification. Example: {} |
body | string | required | The payload must be provided; the skill will serialize it and forward it to the upstream, and the Amazon access token cannot be put into the payload. Example: {} |
contentType | string | optional | application/vnd.sbadgroupresource.v4+json。 Example: {} |
accept | string | optional | `application/vnd.sbadgroupresource.v4+json`。 Example: {} |
queryString | string | optional | Pass upstream query parameters when needed. Example: {} |
confirmationToken | string | optional | For mutations, first preview without a token, then confirm using the returned single-use token. Example: {} |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
success | boolean | optional | Whether the API completed the call successfully. Example: {} |
apiVersion | string | optional | `V3` or `V4` (if provided by the script). Example: {} |
amazonResourceVersion | string | optional | The actual Amazon resource version (if provided by the script). Example: {} |
adGroups | array | optional | Array of Sponsored Brands V4 ad groups; actual fields returned by Amazon. Example: {} |
total | integer | optional | The number of aggregated entries (if provided by the script). Example: {} |
pagesFetched | integer | optional | Number of pages obtained. Example: {} |
truncated | boolean | optional | Whether it was truncated due to paging limit. Example: {} |
name | string | optional | Name (returned if supported by the entity). Example: {} |
state | string | optional | `ENABLED`, `PAUSED` or `ARCHIVED` (SD upstream may use lowercase). Example: {} |
Examples
Example arguments
{
"accept": "application/vnd.sbadgroupresource.v4+json",
"body": "{}",
"contentType": "application/vnd.sbadgroupresource.v4+json",
"method": "POST"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}