Skip to main content
Glama

Geotone — Global News Signals

Country statistics

get_country
Read-only

Live media-coverage statistics for one country by ISO-3166 alpha-2 code (e.g. 'ua', 'cn'): 90-day daily series of coverage volume (share of world news coverage that is about that country) and tone, plus armed-conflict fatalities (UCDP, trailing 12 months), displacement stocks (UNHCR: IDPs, refugees, asylum seekers), and coverage origin (what share of coverage about the country is produced by its own outlets vs abroad).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
iso2YesISO2 code, e.g. 'ua'

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
iso2Yes
metaNo
nameYes
pageNo
statsNo
conflictNoUCDP GED trailing-12-month organized-violence totals; recent months preliminary
snapshotsYes
activeTopicsNo
displacementNoUNHCR year-end displacement stocks
coverageOriginNoTrailing-14d share of coverage about the country produced by domestic outlets (floor estimate)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / conflict
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "UCDP GED trailing-12-month organized-violence totals; recent months preliminary",
      +  "properties": {
      +    "civilianDeaths": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "events": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "fatalities": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "window": {
      +      "type": "string"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / coverageOrigin
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Trailing-14d share of coverage about the country produced by domestic outlets (floor estimate)",
      +  "properties": {
      +    "knownSourceArticles14d": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "localSharePct": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "type": "string"
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / displacement
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "UNHCR year-end displacement stocks",
      +  "properties": {
      +    "asylumSeekers": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "idps": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "refugeesAbroad": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "refugeesHosted": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "year": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "activeTopics": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "meta": {
      +            "properties": {
      +              "attribution": {
      +                "type": "string"
      +              },
      +              "license": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "slug": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "iso2": {
      +      "type": "string"
      +    },
      +    "meta": {
      +      "properties": {
      +        "attribution": {
      +          "type": "string"
      +        },
      +        "license": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "page": {
      +      "type": "string"
      +    },
      +    "snapshots": {
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "date": {
      +            "type": "string"
      +          },
      +          "meta": {
      +            "properties": {
      +              "attribution": {
      +                "type": "string"
      +              },
      +              "license": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "toneAvg": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "volIntensity": {
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "stats": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "meta": {
      +          "properties": {
      +            "attribution": {
      +              "type": "string"
      +            },
      +            "license": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "type": "string"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "wowChangePct": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "zScore": {
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "iso2",
      +    "name",
      +    "snapshots"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate read-only and closed world. Description adds valuable behavioral details: time ranges (90-day daily series), specific data sources (UCDP fatalities, UNHCR displacement), and coverage origin split by domestic vs foreign production. This is rich context 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.

Conciseness4/5

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

The description is a single, well-structured sentence that front-loads the main purpose and then lists the specific metrics. It is concise given the amount of information, but could be slightly more readable with bullet points.

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

Completeness4/5

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

The description covers the major data categories (series, fatalities, displacement, origin). With an output schema present, it doesn't need to detail return format. It provides sufficient context for an agent to decide whether to use this tool.

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?

The schema already describes iso2, but the description adds the standard name 'ISO-3166 alpha-2' and examples 'ua', 'cn', reinforcing correct usage. It also explains the output context, helping the agent understand the parameter's role.

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?

Clear verb and resource: provides live media-coverage statistics for a single country by ISO code. Includes specific data types and time ranges, distinguishing it from sibling tools which focus on topics, relations, or trends.

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

Usage Guidelines3/5

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

The description implies use when country-specific statistics are needed, but does not provide explicit guidance on when to use this tool vs siblings like get_topic or search_topics. A simple sentence like 'For media coverage data by topic, use get_topic instead' would improve it.

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