Skip to main content
Glama

Islam West Africa Collection (IWAC)

Rank a field's values

get_field_distribution
Read-onlyIdempotent

Rank exact metadata values, splitting pipe-separated tags. Reports missing metadata and optional coverage over time. Choose spatial for mentioned places, country for stored country tags, or subject/author/language.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
exactNoAND values. Fields: subject/spatial/author/language/country/newspaper/topic_id/min_prob/scored_by; country_raw=whole cell; polarity:<model>.
fieldYessubject | spatial | author | language | newspaper | country
top_nNoValues returned (default 25, max 100)
subsetNoarticles (default) | publications | references
countryNoExact country name (accents optional)
date_toNo
keywordNo
subjectNoExact tag
date_fromNoInclusive date bounds: YYYY[-MM[-DD]]
newspaperNoNewspaper/periodical substring
over_timeNoAlso return the per-year share of items carrying a value
hijri_yearNo
hijri_monthNo
keyword_modeNo
keyword_aliasesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
viewYes
fieldYes
subsetYes
valuesYes
filtersYes
other_valuesNo
total_matchesYes
distinct_valuesYes
coverage_by_yearNo
items_with_valueYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 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
  2. 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"
  3. Added

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive) and open-world status. The description adds behavioral value beyond that: it discloses tag-splitting behavior, that missing metadata is reported, and that over-time coverage is optional, which the annotations do not convey.

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 tight sentences, appropriately front-loaded with the core action ('Rank exact metadata values') before behavioral and field-choice details. Nearly every clause earns its place, though the final field-selection sentence is somewhat crammed.

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?

With 15 parameters and nested objects, the description is thin: it covers the key field decision and the over_time behavior, and the output schema handles return values. But it leaves most filters and options (subset, top_n default, date ranges, keyword modes) unexplained, so it is only minimally adequate for a tool of this complexity.

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 coverage is 60%, so the description must partially compensate. It clarifies the most important parameter (field) by explaining the meaning of spatial vs country vs subject/author/language values, and hints at pipe-separated tag handling and the over_time option, but says nothing about the many filter parameters (exact, subset, keyword, hijri_year, etc.).

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 states a specific verb and resource ('Rank exact metadata values') and adds scope detail ('splitting pipe-separated tags'). However, it never distinguishes this tool from distribution siblings like get_place_distribution or get_topic_distribution, leaving the agent to infer the relationship.

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 sentence 'Choose spatial for mentioned places, country for stored country tags, or subject/author/language' gives explicit field-selection guidance, but it addresses parameter choice rather than when to use this tool over an alternative. There is no routing to or from 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.