Skip to main content
Glama

get_adoption

Read-only

Get a country's adoption aggregates

Peppol adoption for one country as one bare object: headline totals (universe, on_peppol, penetration), the single-dimension cuts (sector with a NACE Rev. 2.1 section rollup (A–V), region, FR-only département, size class (FR and NO), BE-only province + postcode + mandate scope, legal-form family, and company age), the same categorical cuts cross-tabbed by company-age band (cuts_by_age), and the trend (monthly new adopters plus per-run penetration history). Region cells carry ISO 3166-2 (BE, NO, SK) / INSEE région (FR) codes and sector cells the NACE Rev. 2.1 division code, so the choropleth joins geometry with no string matching. Numerator cells below 10 matched companies are suppressed (on_peppol/penetration null, suppressed true); denominators are never suppressed. Cached for a day (data moves monthly).

Input Schema

NameRequiredDescriptionDefault
countryYesCountry code — `be`, `fr`, `sk`, `no`, `se`, `fi` or `si`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Country code — `be`, `fr`, `sk`, `no`, `se` or `fi`."New value: +"Country code — `be`, `fr`, `sk`, `no`, `se`, `fi` or `si`."
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "be",
      -  "fr",
      -  "sk",
      -  "no",
      -  "se",
      -  "fi"
      -]New value: +[
      +  "be",
      +  "fr",
      +  "sk",
      +  "no",
      +  "se",
      +  "fi",
      +  "si"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Country code — `be`, `fr`, `sk`, `no` or `se`."New value: +"Country code — `be`, `fr`, `sk`, `no`, `se` or `fi`."
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "be",
      -  "fr",
      -  "sk",
      -  "no",
      -  "se"
      -]New value: +[
      +  "be",
      +  "fr",
      +  "sk",
      +  "no",
      +  "se",
      +  "fi"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Country code — `be`, `fr`, `sk` or `no`."New value: +"Country code — `be`, `fr`, `sk`, `no` or `se`."
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "be",
      -  "fr",
      -  "sk",
      -  "no"
      -]New value: +[
      +  "be",
      +  "fr",
      +  "sk",
      +  "no",
      +  "se"
      +]
  4. Changed2 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Country code — `be` or `fr`."New value: +"Country code — `be`, `fr`, `sk` or `no`."
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "be",
      -  "fr"
      -]New value: +[
      +  "be",
      +  "fr",
      +  "sk",
      +  "no"
      +]
  5. First observed

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond readOnlyHint=true by disclosing caching ('cached for a day'), the update cadence ('data moves monthly'), the suppression rule (numerator cells under 10 companies suppressed, denominators never suppressed), and the code systems used for joins (ISO 3166-2 / INSEE / NACE Rev. 2.1). This is exactly the behavioral context annotations cannot carry.

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?

Front-loaded with the core purpose, then dense but information-bearing sentences; with no output schema the return-shape detail is justified. The heavy parenthetical enumerations make it a run-on, costing some readability.

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 no-output-schema tool, the description fully explains the return structure, suppression semantics, and geographic/sector code conventions an agent needs to interpret results, and annotations already cover the read-only safety profile.

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

Parameters3/5

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

The single country parameter is fully documented in the schema (100% coverage, enum of seven codes). The description adds country-specific nuance (FR-only département, BE-only province/postcode, FR and NO size class) but no syntax or format meaning beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ('Get a country's adoption aggregates') and elaborates the exact content (totals, cuts, cross-tabs, trend). It is clearly distinguishable in content from siblings like get_country_churn or get_country_providers, though it never explicitly contrasts itself with them.

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?

No explicit when-to-use, when-not, or alternative guidance is given. Usage is only implied by the exhaustive content listing (adoption/penetration analytics for one country), which lets an agent infer the fit but does not route it against sibling tools.

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