Skip to main content
Glama

The census

get_census
Read-onlyIdempotent

Monthly counts of what AI agents can do at the websites this network checked, by country, kind of business, platform, source or city; counts only, no business named. Without edition, the latest. Open data under CC BY 4.0: credit "Surfing Dog census, surfingdog.ai, CC BY 4.0", and "© Overture Maps Foundation" with city counts.

Input Schema

NameRequiredDescriptionDefault
keyNoOne key of the scope: a country code (GB), a group slug, a platform slug, a source, or a city slug (madrid). Without it, every key of the scope with its headline counts.
scopeNoall (the default), country, group (kind of business), platform, source (where the sites came from) or city.
editionNoThe month, YYYY-MM. Without it, the latest published edition.

Output Schema

NameRequiredDescriptionDefault
csvYes
keyYes
urlYes
jsonYes
noteYes
rowsYes
as_ofYes
scopeYes
titleYes
methodYes
statusYes
editionYes
licenceYes
truncatedYes
vocabularyYes
published_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / title
      Removed value: -"MCP get_census: arguments"
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / description
      Added value: +"Every field is described in this tool's outputSchema at https://network.surfingdog.ai/.well-known/mcp/server-card.json."
    • removedOutput schema / properties / as_of / pattern
      Removed value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
    • removedOutput schema / properties / edition / description
      Removed value: -"The month the edition records, YYYY-MM."
    • removedOutput schema / properties / json / description
      Removed value: -"Every count of the edition."
    • removedOutput schema / properties / key / description
      Removed value: -"The key asked for, or null for the whole scope."
    • removedOutput schema / properties / licence / properties / attribution / description
      Removed value: -"How to credit it: \"Surfing Dog census, surfingdog.ai, CC BY 4.0\"."
    • removedOutput schema / properties / licence / properties / credits / description
      Removed value: -"Credit for others' data the counts rest on, given with the attribution: \"© Overture Maps Foundation\" when the cities are counted from Overture Maps places data."
    • removedOutput schema / properties / method / description
      Removed value: -"How it was counted, with every definition."
    • removedOutput schema / properties / note / description
      Removed value: -"Why a withdrawn edition was withdrawn; null otherwise."
    • removedOutput schema / properties / published_at / pattern
      Removed value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
    • removedOutput schema / properties / rows / description
      Removed value: -"The counts: every metric of one key, or the headline ones of each key."
    • removedOutput schema / properties / rows / items / properties / key / description
      Removed value: -"The scope's key: empty for all."
    • removedOutput schema / properties / rows / items / properties / metric / description
      Removed value: -"A metric's name, or a family's with its key after a colon: checked, agent_ready, can:<capability>, door:<door type>, level:<level name>, no_ai, for a city places, and for the whole, a country and a city pay_read, pay:<payment token>, pay_declared:<payment token> today. Metrics are added, never renamed: a reader skips one it does not know."
    • removedOutput schema / properties / rows / items / properties / scope / description
      Removed value: -"all, country, group, platform, source or city; a reader skips a scope it does not know."
    • removedOutput schema / properties / rows / items / properties / value / maximum
      Removed value: -9007199254740991
    • removedOutput schema / properties / scope / description
      Removed value: -"all, country, group, platform, source or city; a reader skips a scope it does not know."
    • removedOutput schema / properties / truncated / description
      Removed value: -"Whether more keys are in the edition than rows holds."
    • removedOutput schema / properties / url / description
      Removed value: -"The edition's page."
    • removedOutput schema / properties / vocabulary / description
      Removed value: -"The capability vocabulary the can: metrics are defined in."
    • removedOutput schema / title
      Removed value: -"MCP get_census: structuredContent"
  2. Changed2 schema fields changed
    • changedOutput schema / properties / rows / items / properties / metric / description
      Previous value: -"checked, agent_ready, can:<capability>, door:<door type>, level:<level name>, no_ai, or for a city places."New value: +"A metric's name, or a family's with its key after a colon: checked, agent_ready, can:<capability>, door:<door type>, level:<level name>, no_ai, for a city places, and for the whole, a country and a city pay_read, pay:<payment token>, pay_declared:<payment token> today. Metrics are added, never renamed: a reader skips one it does not know."
    • changedOutput schema / properties / rows / items / properties / metric / pattern
      Previous value: -"^(checked|agent_ready|places|no_ai|can:[a-z][a-z0-9_]*|door:[a-z0-9_]+|level:[a-z]+)$"New value: +"^[a-z][a-z0-9_]*(:[a-z0-9_]+)?$"
  3. Added

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive operation. The description adds useful behavioral context beyond annotations: monthly cadence, latest-edition default, no named businesses, and required CC BY 4.0/Overture attribution.

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

Conciseness5/5

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

The description is front-loaded with what the tool returns and its scope, then adds only the necessary edition default and licensing obligations. Every sentence carries useful information and there is no filler.

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?

Given the rich annotations and the presence of an output schema, the description supplies the remaining essentials: aggregation dimensions, no-business-naming constraint, edition default, and license attribution requirements. An agent has enough context to call this correctly without needing more prose.

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?

Schema description coverage is 100%, so all three optional parameters are already well documented. The description reinforces the available dimensions and the latest-edition default, but it does not add syntax or edge-case meaning beyond the schema.

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 states the resource precisely: monthly counts of what AI agents can do at checked websites, broken down by country, business kind, platform, source, or city. It also distinguishes this aggregate census from business-level siblings by explicitly saying 'counts only, no business named.'

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 when this tool is appropriate by emphasizing aggregate counts with no business names, which contrasts with business lookup tools. However, it does not explicitly name alternatives or state when not to use it, so the routing guidance remains implicit.

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