Skip to main content
Glama

Islam West Africa Collection (IWAC)

Filter articles by AI sentiment

search_by_sentiment
Read-onlyIdempotent

Filter articles by gpt-5-6-luna sentiment labels (accent/case-insensitive exact match). One model's reading, not a consensus — 4 other models scored the same articles and often disagree; get_sentiment_distribution with model:"all" shows by how much. subjectivity is much the weakest of the three scales, so treat a set selected on it as a lead to read rather than as a finding.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoDefault 20, max 100
offsetNo
countryNoExact country name: Benin | Burkina Faso | Côte d'Ivoire | Niger | Togo (accents optional)
subjectNo
disputedNopolarite | centralite | subjectivite — keep only articles the panel SPLIT on for that field (French field names, as stored). Selects contested readings, not a sentiment value.
polarityNoTrès positif | Positif | Neutre | Négatif | Très négatif | Non applicable
centralityNoTrès central | Central | Secondaire | Marginal | Non abordé
subjectivityNoTrès objectif | Plutôt objectif | Mixte | Plutôt subjectif | Très subjectif — least to most subjective. Unscored where the model answered Non abordé, so this filter also excludes those.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / disputed
      Added value: +{
      +  "description": "polarite | centralite | subjectivite — keep only articles the panel SPLIT on for that field (French field names, as stored). Selects contested readings, not a sentiment value.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / subjectivity
      Added value: +{
      +  "description": "Très objectif | Plutôt objectif | Mixte | Plutôt subjectif | Très subjectif — least to most subjective. Unscored where the model answered Non abordé, so this filter also excludes those.",
      +  "type": "string"
      +}
  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. Changed5 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / limit / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / limit / minimum
      Added value: +-9007199254740991
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / offset / minimum
      Added value: +-9007199254740991
  5. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent behavior. The description adds valuable behavioral context: the results come from exactly one model, other models often disagree, and the subjectivity scale is the weakest. The accent/case-insensitive exact-match behavior is also disclosed rather than left to inference.

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?

Three dense sentences with no wasted words. The first sentence states the core semantics, the second prevents a consensus misinterpretation and names the alternative, and the third gives a reliability caveat. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no output schema, the description covers the main conceptual risks: single-model scope, consensus routing, and weak subjectivity. The remaining detail is largely in the input schema, but the undocumented `subject` parameter is still a small gap.

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 75%, so the schema already does most of the work. The description adds non-obvious meaning by stating that labels are accent/case-insensitive exact matches and that subjectivity results are lower-confidence. It does not fully compensate for the undocumented `subject` parameter, but that gap is minor because the description's caveats target the highest-risk interpretation.

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 a specific verb and resource: 'Filter articles by gpt-5-6-luna sentiment labels', and it also defines the exact matching behavior (accent/case-insensitive exact match). It distinguishes itself from the aggregate sentiment sibling by clarifying that this is one model's reading, not a consensus.

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?

The description explicitly tells the agent when this tool is not enough: if consensus across models is needed, it points to get_sentiment_distribution with model:'all'. It also warns that subjectivity-filtered results should be treated as leads, not findings, giving concrete decision guidance.

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.