Skip to main content
Glama

UpGrowth: business data for Algeria, Tunisia and Morocco

List the daïras of Algeria and their communes

list_dairas
Read-only

List the daïras of Algeria, each with its communes (four-digit Algérie Poste code and name), as décret exécutif n° 91-306 du 24 août 1991 fixant la liste des communes animées par chaque chef de daïra sets them, with its amendments of 1992, 2018, 2021, 2025 and 2026 applied, read in the Journal officiel (meta.sources lists every text with its issue and PDF). The wilaya of Algiers (16) is organised in 13 circonscriptions administratives (décret présidentiel n° 2000-45), given with kind circonscription administrative. 69 wilayas, 553 daïras, 1,541 communes; Larbaa (daïra of Bouzina, Batna) has no post office and so no code. Filter by wilaya (1 to 69) and q (a daïra or commune name, accents ignored). Without an API key, at most 10 rows. Algeria only.

Input Schema

NameRequiredDescriptionDefault
qNoA daïra or commune name, accents ignored.
langNoLanguage of the labels, notes and attribution text in the answer: fr (French, the default), ar (Arabic) or en (English).fr
limitNoMaximum number of results in the page, from 1 to 100. Defaults to 20. Without an API key at most 10 rows come back.
offsetNoNumber of results to skip, from 0 to 10000, to read the next pages. Defaults to 0. meta.total tells how many results match. Without an API key it must be 0: a search cannot be paged.
wilayaNoA wilaya number from 1 to 69.
countryNoCountry of the data, an ISO 3166-1 alpha-2 code in any letter case: DZ for Algeria, the default, TN for Tunisia or MA for Morocco. Only live countries answer: list_countries shows them and their datasets. Any other country, or a dataset the country does not have (for example the activity nomenclature for Morocco), returns country_not_available. Without an API key only DZ answers: TN and MA return key_required.DZ

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds substantial beyond that: the unauthenticated 10-row cap, the requirement that offset be 0 when unauthenticated, the country gate where only DZ answers, the special Algiers circonscription administrative case, and the Larbaa no-post-office edge case.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and return shape are front-loaded, but the definition is one long run-on sentence burdened with full legal citations (décret exécutif n° 91-306…, décret présidentiel n° 2000-45) that are hard for an agent to scan. The procedural detail is useful but packed rather than structured.

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?

With no output schema, the description still conveys the return shape (daïras with communes, codes, names), the meta.sources and meta.total fields, pagination behavior, and the auth-dependent limits. For a filtered-list tool this is complete enough to invoke correctly.

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 description coverage is 100%, so the schema already documents every parameter including enums, defaults, and limits. The description restates wilaya (1 to 69) and q (accents ignored) but adds no new syntax or format detail, so the baseline 3 applies.

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+resource (list daïras of Algeria) and precisely what each row contains (communes with four-digit code and name). It is clearly distinguishable from siblings like list_communes, list_wilayas, and get_commune, and adds authoritative scope (553 daïras, 1,541 communes).

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

Usage Guidelines4/5

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

Gives concrete filtering guidance ('filter by wilaya (1 to 69) and q, accents ignored') and constraints ('Without an API key, at most 10 rows', 'Algeria only'). It does not, however, explicitly name an alternative tool or state when to prefer a different sibling such as list_communes.

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.