Skip to main content
Glama

Islam West Africa Collection (IWAC)

Places on a map

get_place_distribution
Read-onlyIdempotent

Place tags joined to authority coordinates. Separates publication countries from mentioned places; missing geocodes are counted explicitly.

Input Schema

NameRequiredDescriptionDefault
exactNoAND values. Fields: subject/spatial/author/language/country/newspaper/topic_id/min_prob/scored_by; country_raw=whole cell; polarity:<model>.
top_nNoGeocoded places returned (default 60, max 200)
subsetNoarticles (default) | publications | references
countryNoExact country name (accents optional)
date_toNo
keywordNo
subjectNoExact tag
date_fromNoInclusive date bounds: YYYY[-MM[-DD]]
newspaperNoNewspaper/periodical substring
hijri_yearNo
hijri_monthNo
keyword_modeNoliteral: the whole keyword as one substring
keyword_aliasesNo

Output Schema

NameRequiredDescriptionDefault
noteNo
viewYes
placesYes
subsetYes
filtersYes
ungeocodedNo
total_matchesYes
geocode_coverageNo
items_by_countryNo
items_with_placeYes
ungeocoded_mentionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / keyword_mode / description
      Added value: +"literal: the whole keyword as one substring"
  2. Changed15 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Exact country name: Benin | Burkina Faso | Côte d'Ivoire | Niger | Nigeria | Togo (accents optional)"New value: +"Exact country name (accents optional)"
    • changedInput schema / properties / date_from / description
      Previous value: -"YYYY-MM-DD (or YYYY)"New value: +"Inclusive date bounds: YYYY[-MM[-DD]]"
    • removedInput schema / properties / date_to / description
      Removed value: -"YYYY-MM-DD (or YYYY)"
    • addedInput schema / properties / exact
      Added value: +{
      +  "additionalProperties": {
      +    "items": {
      +      "type": "string"
      +    },
      +    "maxItems": 20,
      +    "minItems": 1,
      +    "type": "array"
      +  },
      +  "description": "AND values. Fields: subject/spatial/author/language/country/newspaper/topic_id/min_prob/scored_by; country_raw=whole cell; polarity:<model>.",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / hijri_month
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / hijri_year
      Added value: +{
      +  "type": "integer"
      +}
    • removedInput schema / properties / keyword / description
      Removed value: -"ONE French concept keyword; substring over the subset's text fields"
    • addedInput schema / properties / keyword / minLength
      Added value: +1
    • addedInput schema / properties / keyword_aliases
      Added value: +{
      +  "items": {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 12,
      +  "type": "array"
      +}
    • addedInput schema / properties / keyword_mode
      Added value: +{
      +  "enum": [
      +    "literal",
      +    "all_terms"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / newspaper / description
      Previous value: -"Newspaper (articles) or periodical/series title (publications)"New value: +"Newspaper/periodical substring"
    • changedInput schema / properties / subject / description
      Previous value: -"Exact subject tag (pipe-aware)"New value: +"Exact tag"
    • removedInput schema / properties / top_n / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / top_n / minimum
      Removed value: --9007199254740991
    • addedOutput schema / properties / geocode_coverage
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "geocoded": {
      +      "type": "number"
      +    },
      +    "total": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "geocoded"
      +  ],
      +  "type": "object"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  4. Added

TDQS

B3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior. The description adds meaningful data behavior: place tags are joined to authority coordinates, publication countries are separated from mentioned places, and missing geocodes are counted explicitly. No contradiction.

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?

Two tight sentences with no filler. However, the first sentence is jargon-heavy and not maximally front-loaded; it is concise but could be clearer.

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?

Core conceptual behavior is present and an output schema exists, so return values need not be described. But for a 13-parameter analytical tool, missing usage guidance and filter semantics leave the definition only minimally complete.

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?

The description mentions no parameters at all, and with 13 params at 62% schema coverage several fields such as date_to, keyword, hijri_year, hijri_month, and keyword_aliases lack descriptions. It does not explain subset, country, top_n, or filtering semantics beyond what the schema partially provides.

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

Purpose3/5

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

The description identifies the resource (place tags joined to authority coordinates) and a key data distinction, but it never states the operation explicitly—no verb like 'returns counts/distribution' and no sibling differentiation from list_locations or get_country_comparison. The name carries most of 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?

There is no when-to-use, when-not-to-use, or alternative tool guidance. It does not explain whether to choose this over list_locations, get_country_comparison, or get_semantic_map.

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.