Amazon Ads
Amazon Advertising
Manage Amazon Sponsored Products, Sponsored Brands, and Sponsored Display advertising. Call the Amazon Advertising API via REST or MCP from 10 credits per call.
MCP tool name
nexscope_amazon_advertisingMCP 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": "amazon-advertising-1",
"method": "tools/call",
"params": {
"name": "nexscope_amazon_advertising",
"arguments": {
"connectionId": 123,
"operationId": "ads_manager.sp.list_campaigns",
"payload": {
"campaignIdFilter": {
"include": [
"123456789"
]
},
"maxResults": 10
}
}
}
}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 |
|---|---|---|---|
operationId | string | required | Exact catalog operation ID, for example ads_manager.sp.list_campaigns. Example: ads_manager.sp.list_campaigns |
connectionId | integer | required | Owned Amazon Ads connection ID. Example: 123 |
payload | object | optional | Documented fields for the selected operation; required by create/update operations. SP POST /list filters such as campaignIdFilter and stateFilter belong in payload as objects with non-empty include arrays of strings. Example: {
"campaignIdFilter": {
"include": [
"123456789"
]
},
"maxResults": 10
} |
queryString | string | optional | Optional operation-specific query string without a leading ?; do not use it for SP POST /list filters. Example: |
adType | string | optional | Required only by ads_manager.sb.create_ads. Example: video |
action | string | optional | preview (default) or confirm for mutations; ignored for reads. Example: preview |
confirmationToken | string | optional | Single-use token required when action is confirm. Example: opaque-token |
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: {} |
campaigns | array | optional | Campaign query array; 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
{
"connectionId": 123,
"operationId": "ads_manager.sp.list_campaigns",
"payload": {
"campaignIdFilter": {
"include": [
"123456789"
]
},
"maxResults": 10
}
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}