Skip to main content
Glama

List Available Countries

dynamoi_list_available_countries
Read-only

Use this when the user asks which countries they can target for a Smart Campaign or YouTube campaign. Always pass campaignType because Smart Campaign and YouTube country catalogs are different. Do not use this for generic country marketing advice.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "campaignType": "<campaignType>"
    },
    "name": "dynamoi_list_available_countries"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNo
queryNo
cursorNo
formatNo
campaignTypeYes

Output Schema

NameRequiredDescriptionDefault
codeNo
dataNo
kindNo
fieldNo
statusYes
draftIdNo
messageNo
retryableNo
nextActionNo
failureStageNo
prerequisiteNo
screeningResultNo
retryAfterSecondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Changed5 schema fields changed
    • changedOutput schema / additionalProperties
      Previous value: -{}New value: +false
    • addedOutput schema / properties / data
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "campaignType": {
      +          "enum": [
      +            "SMART_CAMPAIGN",
      +            "YOUTUBE"
      +          ],
      +          "type": "string"
      +        },
      +        "countries": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "code": {
      +                "type": "string"
      +              },
      +              "dominantLanguage": {
      +                "type": "string"
      +              },
      +              "googleAdsId": {
      +                "type": "number"
      +              },
      +              "name": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "code",
      +              "googleAdsId",
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "nextCursor": {
      +          "type": "string"
      +        },
      +        "notes": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "source": {
      +          "enum": [
      +            "SMART_CAMPAIGN_COUNTRIES",
      +            "GOOGLE_ADS_COUNTRIES"
      +          ],
      +          "type": "string"
      +        },
      +        "totalCount": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "campaignType",
      +        "countries",
      +        "notes",
      +        "source",
      +        "totalCount"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "nextCursor": {
      +          "type": "string"
      +        },
      +        "summary": {
      +          "type": "string"
      +        },
      +        "totalCount": {
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "summary",
      +        "totalCount"
      +      ],
      +      "type": "object"
      +    }
      +  ]
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "enum": [
      +    "validation",
      +    "business",
      +    "platform",
      +    "unknown"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / message
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / status / enum
      Previous value: -[
      -  "success",
      -  "partial_success",
      -  "error"
      -]New value: +[
      +  "success",
      +  "error"
      +]
  4. Added

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered by structured data. The description adds genuinely useful behavior context: Smart Campaign and YouTube country catalogs are distinct datasets, which explains why results differ by campaignType. It says nothing about pagination, result volume, or the summary vs json output, which matters for a 5-param listing tool.

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

Conciseness4/5

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

Three short sentences, zero filler, with the usage trigger front-loaded and the constraint and exclusion following in priority order. Sizing is appropriate for a small listing tool.

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

Completeness3/5

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

The output schema exists, so return values needn't be explained, and the required-parameter rationale is well covered. However, with 5 parameters at 0% schema description coverage, the description omits any guidance on search/pagination (query, cursor, limit) or output format selection, which an agent needs to invoke this tool efficiently rather than paging blindly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden and largely does not: only campaignType is explained (mandatory and why it changes results). The limit, query, cursor, and format parameters are never mentioned, leaving four parameters with no prose semantics anywhere.

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 frames the tool around a specific task (finding which countries can be targeted) and scopes it to Smart Campaign and YouTube, which distinguishes it from siblings like dynamoi_get_artist_billing_country or country data embedded in campaign tools. It never states the verb 'list' or 'returns available countries' directly, but the intent is unambiguous when paired with the title.

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

Usage Guidelines4/5

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

It gives an explicit activation condition ('when the user asks which countries they can target') and an explicit exclusion ('Do not use this for generic country marketing advice'), which is stronger than most definitions. It does not name sibling tools that might be confused with this one (e.g. billing-country lookups), so it falls short of a 5.

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.