Skip to main content
Glama

Islam West Africa Collection (IWAC)

Search photographs

search_images
Read-onlyIdempotent

Search the IWAC photographs (30 items: mosques, radio stations, schools, signage and street scenes documented during fieldwork). Keyword matches title, creator, subject, place and the rare caption. Each result carries image_url (the full-resolution file), coordinates ('lat, lng' where known) and the canonical IWAC page. Call with no arguments to list all. Captions are almost never present, so prefer subject/place filters over keywords, or semantic_search_images when it is enabled.

Input Schema

NameRequiredDescriptionDefault
limitNoDefault 20, max 50
offsetNo
countryNoExact country name: Benin | Burkina Faso | Côte d'Ivoire | Niger | Nigeria | Togo (accents optional)
creatorNoPhotographer name (substring match)
date_toNoYYYY-MM-DD (or YYYY)
keywordNoFrench concept keyword; every word must occur in the title, creator, subject, place or caption; "quote" a phrase
spatialNoExact place name, e.g. Ouagadougou (pipe-aware)
subjectNoExact subject tag (pipe-aware)
date_fromNoYYYY-MM-DD (or YYYY)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / keyword / description
      Previous value: -"French concept keyword; substring match on title, creator, subject, place and caption"New value: +"French concept keyword; every word must occur in the title, creator, subject, place or caption; \"quote\" a phrase"
  2. Changed4 schema fields changed
    • removedInput schema / properties / limit / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / limit / minimum
      Removed value: --9007199254740991
    • removedInput schema / properties / offset / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / offset / minimum
      Removed value: --9007199254740991
  3. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  4. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: the collection's small size, the return payload (image_url, coordinates, canonical page), and the caption-scarcity caveat that affects result quality. It stops short of describing pagination defaults or match-ordering, which keeps it below a 5.

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?

Four sentences, each carrying distinct information: scope, matching fields, return shape, and the filtering/alternative recommendation. Front-loaded with what the tool searches, with no repetition of schema-declared details.

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?

No output schema exists, yet the description enumerates the key returned fields (image_url, coordinates, canonical page) and warns about sparse captions, so an agent knows what comes back and what limits recall. Combined with the 9 documented params, nothing essential is missing for correct invocation.

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 89%, so the schema already documents most parameters, setting the baseline at 3. The description contributes the matching scope of keyword (title, creator, subject, place, caption) and steers agents away from keyword toward subject/place, which is a modest but genuine addition over the schema text.

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?

States a specific verb and resource ('Search the IWAC photographs'), quantifies the corpus (30 items) and enumerates its content types. It also implicitly separates itself from get_image (full record fetch) and semantic_search_images (embedding search) by describing keyword matching semantics.

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 says 'Call with no arguments to list all' and names a sibling alternative: 'semantic_search_images when it is enabled'. It also gives a concrete selection rule between filter types — prefer subject/place over keyword because captions are almost never present.

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.