Skip to main content
Glama

Metadata MCP Connector

Create Keywords

create_keywords

Create one or more positive keywords in the Metadata platform library.

            PURPOSE:
            Batch create positive keywords that can be used in advertising campaigns. Use this tool to
            expand your keyword library by adding new terms, variations, or related keywords for targeting
            and campaign optimization.

            WHEN TO USE:
            - Add new keywords to your campaign library
            - Build keyword lists for new product lines or services
            - Create variations of existing keywords
            - Expand keyword coverage for targeted advertising
            - Create keyword groups for seasonal campaigns
            - Add long-tail keywords for niche targeting
            - Build negative keyword lists (blocked keywords)
            - Bulk import keyword lists from external sources

            KEY FEATURES:
            - BATCH CREATION: Create multiple keywords in a single API request
            - SIMPLE FORMAT: Each keyword is simply a string
            - FLEXIBLE: Create 1 or 100+ keywords at once
            - LIBRARY INTEGRATION: Keywords are added to your keyword library and available for campaigns

            KEYWORD FORMAT:
            Each keyword in the batch should be a simple string:
            - "digital marketing"
            - "seo services"
            - "ppc advertising"

            BATCH SIZE RECOMMENDATIONS:
            - Small batches (5-50 keywords): Ideal for testing and quick additions
            - Medium batches (50-500 keywords): Good for standard imports
            - Large batches (500+ keywords): Use for bulk library imports
            - Maximum recommended: 1000 keywords per request for optimal performance

            KEYWORD NAMING CONVENTIONS:
            - Use lowercase for consistency with platform standards
            - Separate multi-word phrases (e.g., "digital marketing" not "DigitalMarketing")
            - Avoid special characters unless necessary for the keyword
            - Remove leading/trailing whitespace - the API will normalize
            - Empty strings are allowed but won't create keywords
            - Duplicate names in the batch will be deduplicated by the API

            COMMON USE CASES:
            1. Create a single keyword:
               create_keywords(keywords=["marketing"])

            2. Create multiple related keywords:
               create_keywords(keywords=[
                 "digital marketing",
                 "marketing automation",
                 "email marketing"
               ])

            3. Create keyword variations:
               create_keywords(keywords=[
                 "seo",
                 "seo services",
                 "seo tools",
                 "seo optimization"
               ])

            4. Create long-tail keywords:
               create_keywords(keywords=[
                 "best digital marketing agency in new york",
                 "affordable seo services for small business",
                 "enterprise marketing automation platform"
               ])

            5. Bulk import from external list:
               create_keywords(keywords=[
                 "keyword1",
                 "keyword2",
                 "keyword3",
                 ... (repeat for all keywords)
               ])

            6. Create campaign-specific keywords:
               create_keywords(keywords=[
                 "black friday deals",
                 "cyber monday sales",
                 "holiday promotions"
               ])

            7. Create product-related keywords:
               create_keywords(keywords=[
                 "product a",
                 "product a review",
                 "buy product a",
                 "product a price"
               ])

            PARAMETERS:
            - keywords: Required. Array of keyword strings to create.
                       Example: ["goku", "ssj", "ssj1"]
                       - Each keyword is a string
                       - Minimum: 1 keyword
                       - Recommended maximum: 1000 keywords per request
                       - Empty strings are allowed but won't create keywords
                       - Duplicates will be deduplicated

            RESPONSE FORMAT:
            Returns a response containing:
            - Created keywords with their IDs and metadata
            - Success/failure status for each keyword
            - Any validation errors for invalid entries
            - Confirmation of keywords added to the library

            VALIDATION NOTES:
            - Empty strings or null values in the batch are skipped
            - Platform automatically removes duplicate names in the batch
            - Keywords are case-insensitive for deduplication
            - Special characters are preserved as provided
            - Platform validates keyword length (typically 2-100 characters recommended)

            PERFORMANCE TIPS:
            - Keep batch sizes under 1000 keywords for faster processing
            - Group related keywords together for better organization
            - Review the response to confirm all keywords were created successfully
            - Check your keyword library after creation to verify the additions

            EXAMPLES:
            - create_keywords(keywords=["marketing"]) - Create single keyword
            - create_keywords(keywords=["seo", "sem", "ppc"]) - Create multiple keywords
            - create_keywords(keywords=["digital marketing", "online marketing", "internet marketing"]) - Variations
            - create_keywords(keywords=["goku", "ssj", "ssj1", "ssj2"]) - Batch creation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keywordsYesArray of keyword strings to create. Example: ["goku", "ssj", "ssj1"]

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

The description substantially extends the sparse annotations (readOnlyHint=false, destructiveHint=false) by disclosing deduplication of duplicates, case-insensitive dedup, whitespace normalization, empty-string skipping, length validation (2-100 chars), and the 1000-keyword batch ceiling. This is rich, non-obvious behavioral context that annotations do not carry. No contradiction with 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 heavily bloated. The KEY FEATURES, use cases (1-7), EXAMPLES, and PARAMETERS sections all restate the same facts: batch creation, dedup, empty-string handling, naming. Roughly half the content is redundant, and the KEYWORD FORMAT section merely repeats the schema's string type. Clear header structure notwithstanding, it does not earn its length.

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?

For a single-parameter tool with no output schema, nothing an agent needs is missing: response format (IDs, success/failure, validation errors) is explained, validation rules are enumerated, naming conventions and batch limits are given, and numerous examples are provided. It is genuinely complete despite the redundancy.

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 the single keyword array, so baseline is 3, but the description adds significant value beyond the schema: naming conventions (lowercase, multi-word separation), dedup rules, case-insensitivity, length limits, and batch-size recommendations. It properly compensates for what a bare array schema cannot convey, going well above the minimum.

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

Purpose4/5

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

The description states a specific verb+resource ('Create one or more positive keywords in the Metadata platform library') and a separate PURPOSE section. It differentiates from siblings by emphasizing 'positive' keywords, which contrasts with negative-keyword tools like create_negative_keywords_list. However, the contemporaneous WHEN TO USE bullet 'Build negative keyword lists (blocked keywords)' directly contradicts the positive-keywords framing, muddying the purpose.

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

Usage Guidelines2/5

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

An explicit WHEN TO USE list provides eight concrete scenarios. But guidance is partly misleading: it includes 'Build negative keyword lists (blocked keywords)' even though dedicated sibling tools exist (create_negative_keywords_list, add_keywords_to_negative_lists) and this tool is for positive keywords. It never names those alternatives nor states when NOT to use this tool, so it fails to route the agent correctly.

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