Skip to main content
Glama

Islam West Africa Collection (IWAC)

Coverage over time

get_temporal_distribution
Read-onlyIdempotent

Counts of matching items per year (or month) — the direct way to chart coverage trends over time instead of paging through search results. Defaults to articles; also works on publications, references, documents, audiovisual, and images. Accepts the same filters as the corresponding search_* tool (keyword = ONE substring over the subset's text fields, country, newspaper/series, subject, date range). Optional group_by=country|newspaper returns one distribution per group. Items dated only to a year keep a bare-year key even at month granularity; undated items are counted in undated_count, never dropped silently. Set calendar=hijri to bucket by the Islamic (Umm al-Qura) calendar instead — with granularity=lunar_month this collapses every year into the twelve lunar months, which is the ONLY way to see observance-driven coverage (Ramadan, Dhu al-Hijja/hajj, Shawwal/Korité): the lunar year drifts ~11 days against the Gregorian, so a Gregorian axis smears each observance across all twelve months. Hijri buckets need a full YYYY-MM-DD, so items dated only to a year or month are reported in imprecise_date_count.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
subsetNoarticles (default) | publications | references | documents | audiovisual
countryNoExact country name: Benin | Burkina Faso | Côte d'Ivoire | Niger | Nigeria | Togo (accents optional)
date_toNoYYYY-MM-DD (or YYYY)
keywordNoONE French concept keyword (French/English for references); substring over the subset's text fields
subjectNoExact subject tag (pipe-aware)
calendarNogregorian (default) | hijri — bucket by the Islamic (Umm al-Qura) calendar
group_byNocountry | newspaper — one distribution per group value
date_fromNoYYYY-MM-DD (or YYYY)
newspaperNoNewspaper (articles) or periodical/series title (publications)
granularityNoyear (default) | month | lunar_month (all years collapsed into 12 lunar months; needs calendar=hijri)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
viewYes
subsetYes
filtersYes
calendarNo
group_byNo
dated_countYes
granularityYes
distributionNo
month_labelsNo
total_matchesYes
undated_countYes
imprecise_date_countNo
distribution_by_groupNo

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds substantial behavioral detail beyond annotations: undated items are counted in undated_count and never dropped silently; month-granularity keeps bare-year keys for items dated only to a year; hijri buckets require full YYYY-MM-DD, with imprecise dates reported in imprecise_date_count. Also explains the lunar_month collapsing behavior and the ~11-day drift reason. No contradiction with annotations.

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 long but each sentence earns its place. It fronts the main purpose, then covers subsets, filters, grouping, date precision handling, and the hijri calendar use case. The structure flows logically from general function to specific exceptions, and no sentence is redundant with the schema or annotations.

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 tool's complexity (10 optional parameters, two calendars, group_by, and date precision edge cases), the description is remarkably complete. It covers all key behavioral aspects: counting aggregation, applicable subsets, filter compatibility, grouping behavior, and handling of undated/imprecise dates. An output schema exists, so return values are documented elsewhere. No major gaps remain.

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?

Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema: it clarifies that keyword is exactly ONE substring, explains the interaction between calendar=hijri and granularity=lunar_month (collapsing years into twelve lunar months), and specifies that group_by returns one distribution per group. It also names the shared filter set (country, newspaper/series, subject, date range) as 'the same filters as the corresponding search_* tool.' This enriches the parameter context enough to warrant a 4.

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 opens with a specific verb+resource ('Counts of matching items per year (or month)') and immediately differentiates from search tools by positioning itself as 'the direct way to chart coverage trends over time instead of paging through search results.' This distinguishes it from sibling distribution tools like get_field_distribution or get_topic_distribution by emphasizing the temporal dimension.

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

Usage Guidelines5/5

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

Explicitly states when to use: as a direct aggregation alternative to paging through search results. It also provides a strong exclusion/alternative note for the hijri calendar, calling it 'the ONLY way to see observance-driven coverage' (Ramadan, hajj, etc.), making clear when this tool is uniquely appropriate. No explicit 'when not to use' beyond the search alternative, but the context is unambiguous.

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.

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct resource or analytical dimension: get_* tools are specific to item categories (article, audiovisual, document, image, publication, reference) or specific analyses (cooccurrence, field distribution, lexical metrics, semantic map, sentiment distribution, similar items, temporal distribution, topic distribution). Search tools are clearly separated by subset, with generic 'search' for cross-category discovery and search_* for filtered queries. The only potential overlap between 'fetch' and get_* is resolved by 'fetch' returning a standard format while get_* tools provide category-specific extra metadata.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: fetch, get_*, list_*, search_*. The verbs are clear and the nouns precisely indicate the resource or action. There are no mixed conventions (e.g., no camelCase or inconsistent verb styles), making the naming predictable and easy to navigate.

Tool Count2/5

At 34 tools, the count is well above the 25+ threshold that the rubric flags as too many. While the server's comprehensive scope for a digital archive with multiple subsets and analytical features explains the high count, the sheer number may overwhelm agents and makes the toolset feel heavy rather than well-scoped. Some grouping or consolidation (e.g., merging distribution tools or providing a single fetch with optional detail levels) could reduce the load without losing functionality.

Completeness5/5

The tool surface provides complete coverage for the domain: every content type (articles, publications, references, documents, audiovisual, images, index) has both search and get/retrieve tools, plus listing tools for key vocabularies. Analytical tools for statistics, distributions, sentiment, topics, and similarity are fully realized. There are no obvious dead ends—users can discover, retrieve, and analyze all parts of the collection, and even gaps in the underlying data (e.g., limited OCR coverage) are explicitly surfaced via tools like get_collection_stats.