Skip to main content
Glama

Metadata MCP Connector

List Negative Keywords Lists

list_negative_keywords_list
Read-only

List and search negative keywords lists by name filter.

            PURPOSE:
            Retrieve a list of negative keywords lists from the Metadata platform with optional name filtering.
            Use this tool to discover and search for specific negative keywords lists for campaign management and optimization.

            ACCOUNT LIMIT:
            WARNING: MAXIMUM 20 NEGATIVE KEYWORDS LISTS PER ACCOUNT
            Each account can have a maximum of 20 negative keyword lists. Use this tool to check your current list count
            and manage your existing lists. If you need to create a new list but have reached the limit, you'll need to
            delete or archive existing lists first.

            WHEN TO USE:
            - Browse all available negative keywords lists in the account
            - Search for specific negative keywords lists by name
            - Find negative keywords lists by partial name matching
            - Get all negative keywords lists data
            - Discover available negative keywords lists for campaign use
            - Check current list count to manage the 20-list limit

            KEY FEATURES:
            - NAME SEARCH: Filter by negative keywords list name for targeted searches (optional)
            - MULTIPLE SEARCH: Search for multiple list names at once with automatic deduplication
            - SIMPLE INTERFACE: Only name-based filtering, no pagination or sorting needed
            - LIST COUNTING: Use to verify your current count against the 20-list maximum

            NAME SEARCH:
            The optional 'name' parameter supports:
            1. Single name (string): Searches for one negative keywords list name
               - "branded" → Finds negative keywords list named "Branded"
               - "competitor" → Finds negative keywords list named "Competitor"
               - "generic" → Finds negative keywords list named "Generic"

            2. Multiple names (array of strings): Searches for multiple negative keywords lists at once
               - ["branded", "competitor", "generic"] → Aggregates results from all three searches
               - Makes separate API requests for each name and combines results
               - Automatically deduplicates lists by ID
               - Returns all unique negative keywords lists matching any of the provided names

            - Omit 'name' parameter to list all negative keywords lists without filtering
            - Both single and multiple searches support partial matching

            RESPONSE FORMAT:
            Returns a response with:
            {
              "data": [
                {
                  "name": "BRanded",
                  "id": 123
                },
                {
                  "name": "Competitor",
                  "id": 124
                }
              ]
            }

            COMMON USE CASES:
            1. List all negative keywords lists:
               list_negative_keywords_list()

            2. Search for "branded" negative keywords list:
               list_negative_keywords_list(name="branded")

            3. Find specific negative keywords list:
               list_negative_keywords_list(name="BRanded")

            4. Search for multiple negative keywords list names at once:
               list_negative_keywords_list(name=["branded", "competitor", "generic"])

            5. Search multiple negative keywords list names:
               list_negative_keywords_list(name=["competitor", "generic"])

            PARAMETERS:
            - name: Optional negative keywords list name or partial name to search for. Can be a string or array of strings.
                    Supports partial matching. Omit to list all negative keywords lists. (optional)

            PERFORMANCE TIPS:
            - Use name parameter for targeted searches to reduce result set
            - When searching multiple names, each name triggers a separate API request
              Use reasonable list sizes to avoid excessive API calls
            - Results are automatically deduplicated when searching multiple names

            EXAMPLES:
            - list_negative_keywords_list() - Get all negative keywords lists
            - list_negative_keywords_list(name="branded") - Search for branded negative keywords list
            - list_negative_keywords_list(name=["branded", "competitor"]) - Search multiple negative keywords lists
            - list_negative_keywords_list(name="competitor") - Find competitor negative keywords list
            - list_negative_keywords_list(name=["branded", "generic"]) - Multiple list names search

            CHANNEL SCOPE:
            BOTH search channels are supported: pass channel=MICROSOFT_ADS for Microsoft
            Ads (Bing) and channel=GOOGLE_ADS for Google. The two channels hold SEPARATE
            lists, so never substitute one channel for the other to get "close enough"
            results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoOptional negative keywords list name(s) to search for. Can be a single string or array of strings. Supports partial matching. Omit to list all negative keywords lists.
channelNoAd channel scope. Both search channels are supported. These are PER-CHANNEL resources: GOOGLE_ADS and MICROSOFT_ADS hold separate sets, and one is invisible to the other. Defaults to GOOGLE_ADS when the user does not say which.GOOGLE_ADS

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable context: the 20-list per-account limit, that multiple names trigger separate API requests, automatic deduplication, and the per-channel separation of lists. These are meaningful behavioral details beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is excessively long and repetitive. It repeats examples multiple times (e.g., list_negative_keywords_list(name="branded") appears in COMMON USE CASES, EXAMPLES, and NAME SEARCH). The sections overlap (PURPOSE, WHEN TO USE, KEY FEATURES all say similar things). It is not front-loaded; the critical channel warning is buried at the end. A more concise version would be far more effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the verbosity, it covers everything an agent needs: parameter semantics, response format with a JSON example, common use cases, performance tips, and channel scope. There is no output schema, but the response example fills that gap. The description is complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for both parameters, so baseline is 3. The description adds substantial extra value: it explains the array behavior (separate requests, deduplication), gives concrete examples of single vs. multiple name searches, and emphasizes the channel parameter's per-channel separation with an explicit warning. This goes beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists and searches negative keywords lists by name filter. It explicitly distinguishes itself from sibling tools like get_negative_keywords_list_details, create_negative_keywords_list, and delete_negative_keyword_lists. The purpose is unambiguous and specific to the resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use scenarios (browse all lists, search by name, partial matching, count check) and notes the channel scope with a warning not to substitute channels. It also implies when not to use it (e.g., for details, use get_negative_keywords_list_details). This is highly actionable guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources