google_ads_list_keywords
List Google Ads Keywords
GoogleDescription
Read-onlyIdempotentOpen-world
Usage
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "google_ads_list_keywords",
"arguments": {
"customer_id": "1234567890",
"approval_status": [
"DISAPPROVED",
"UNDER_REVIEW",
"PENDING_REVIEW"
],
"reason": "Daily check for disapproved keywords"
}
}
}
hopkin google keywords list
| Flag | Type | Required | Description |
|---|---|---|---|
--customer-id | string | Required | The Google Ads Customer ID (10 digits, with or without dashes) |
--login-customer-id | string | Optional | MCC (Manager) Customer ID; required for managed accounts |
--campaign | string | Optional | Only keywords in this campaign. Omit for the whole account. |
--ad-group-id | string | Optional | Only keywords in this ad group. |
--approval-status | array | Optional | Filter by Google's policy review result: DISAPPROVED (not serving; see disapproval_reasons), UNDER_REVIEW, PENDING_REVIEW, APPROVED. Pass ["DISAPPROVED","UNDER_REVIEW","PENDING_REVIEW"] to list every keyword with a policy problem in one call. |
--system-serving-status | array | Optional | Filter by serving status: RARELY_SERVED (Google shows it rarely, usually low search volume) or ELIGIBLE. |
--status | array | Optional | Filter by keyword status: ENABLED, PAUSED, REMOVED. Default ENABLED and PAUSED. Removed keywords carry no approval or serving status. |
--match-type | array | Optional | Filter by match type: EXACT, PHRASE, BROAD |
--limit | integer | Optional | Number of keywords per page (default: 50, max: 200) |
--cursor | string | Optional | Opaque cursor from the previous response's nextCursor. Pass it with otherwise identical parameters to get the next page; a cursor reused with different filters is rejected. Omit for the first page. |
--connection-id | string | Optional | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
{
"mcpServers": {
"google-ads": {
"url": "https://google.mcp.hopkin.ai",
"transport": "sse"
}
}
}
- Policy problems
- Rarely served
- One campaign
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
customer_id |
string |
Required | The Google Ads Customer ID (10 digits, with or without dashes)maxLength: 20, pattern: ^[\d-]+$ |
reason |
string |
Required | Why this tool call is neededminLength: 1, maxLength: 500 |
Optional parameters (10)
| Name | Type | Required | Description |
|---|---|---|---|
login_customer_id |
string |
Optional | MCC (Manager) Customer ID; required for managed accountsmaxLength: 20, pattern: ^[\d-]+$ |
campaign_id |
string |
Optional | Only keywords in this campaign. Omit for the whole account.maxLength: 20, pattern: ^\d+$ |
ad_group_id |
string |
Optional | Only keywords in this ad group.maxLength: 20, pattern: ^\d+$ |
approval_status |
array |
Optional | Filter by Google's policy review result: DISAPPROVED (not serving; see disapproval_reasons), UNDER_REVIEW, PENDING_REVIEW, APPROVED. Pass ["DISAPPROVED","UNDER_REVIEW","PENDING_REVIEW"] to list every keyword with a policy problem in one call. |
system_serving_status |
array |
Optional | Filter by serving status: RARELY_SERVED (Google shows it rarely, usually low search volume) or ELIGIBLE. |
status |
array |
Optional | Filter by keyword status: ENABLED, PAUSED, REMOVED. Default ENABLED and PAUSED. Removed keywords carry no approval or serving status. |
match_type |
array |
Optional | Filter by match type: EXACT, PHRASE, BROAD |
limit |
integer |
Optional | Number of keywords per page (default: 50, max: 200)min: 1, max: 200 |
cursor |
string |
Optional | Opaque cursor from the previous response's nextCursor. Pass it with otherwise identical parameters to get the next page; a cursor reused with different filters is rejected. Omit for the first page.minLength: 1 |
connection_id |
string |
Optional | Optional ID of a specific connection to use for this call. Omit to use the actor's default connection for this network. Call <platform>_list_connections to discover available connection IDs. |
Examples
Policy problems
{
"customer_id": "1234567890",
"approval_status": [
"DISAPPROVED",
"UNDER_REVIEW",
"PENDING_REVIEW"
],
"reason": "Daily check for disapproved keywords"
}
hopkin google keywords list --customer-id 1234567890 --approval-status DISAPPROVED,UNDER_REVIEW,PENDING_REVIEW
Rarely served
{
"customer_id": "1234567890",
"system_serving_status": [
"RARELY_SERVED"
],
"reason": "Find low-volume keywords Google rarely shows"
}
hopkin google keywords list --customer-id 1234567890 --system-serving-status RARELY_SERVED
One campaign
{
"customer_id": "1234567890",
"campaign_id": "5555555555",
"reason": "Review the keywords in one campaign"
}
hopkin google keywords list --customer-id 1234567890 --campaign 5555555555