Skip to main content
Glama

UpGrowth: business data for Algeria, Tunisia and Morocco

Search the tax codes of Algeria, article by article

search_tax_code
Read-only

Search the six tax codes of Algeria in their 2026 editions, as the Direction générale des impôts (DGI) publishes them, article by article: cidta (Code des impôts directs et taxes assimilées: IRG, IBS, IFU, TAP), cpf (Code des procédures fiscales: audits, assessments, penalties, appeals, limitation periods), ctca (Code des taxes sur le chiffre d'affaires: VAT), ce (Code de l'enregistrement: registration duties), cii (Code des impôts indirects) and ct (Code du timbre: stamp duty). Every word of q must appear in the article, in French, accents and case ignored (for example taux normal, retenue source, prescription); a phrase between quotes is searched as it is; English and Arabic terms (VAT rate exports, ضريبة القيمة المضافة) are searched through their French equivalents, shown in meta.query_terms, and every match carries a citation line to paste as the source. Each match gives the code and its title, the article number (id, for example 150, 282 quater or 300-3), its heading (the part, title, chapter and section above it), its status (in_force or abrogated), an excerpt of about 300 characters around the rarest word and the link to the official PDF of the code; get_tax_code_article then returns the whole article with its notes. Best matches first: more hits first, a hit in the heading or at the start of the text counts more, abrogated articles rank low. Use it to find which article sets a rate, a deadline, a penalty or a condition, then read that article before quoting it, and name it by code and number (for example CIDTA art. 150). The text is the DGI's consolidated edition: the legal reference stays the Journal officiel, so read the notes of the article, which name the finance laws that created or amended it, and use get_jo_act to read such a law. Filter by code. Without an API key, at most 10 matches. Algeria only (country DZ); other countries return country_not_available.

Input Schema

NameRequiredDescriptionDefault
qYesWords that must all appear in the article (French, accents and case ignored), for example taux normal, retenue source, prescription. A phrase between quotes is searched as it is.
codeNoOnly this code: cidta (direct taxes and similar taxes), cpf (tax procedures), ctca (turnover taxes, VAT), ce (registration), cii (indirect taxes) or ct (stamp duty). All six when left out.
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.
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.8/5.0
Behavior5/5

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

With annotations only declaring readOnlyHint and openWorldHint, the description adds substantial behavioral context: French accent/case-insensitive matching, quoted-phrase behavior, English/Arabic translation through meta.query_terms, ranking rules, result fields, citation lines, and a 10-match cap without an API key. It also explains that offset cannot be used without a key and that non-live countries return country_not_available.

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?

The description is front-loaded with purpose and scope, and most sentences contribute operational detail about searching, ranking, reading results, and errors. It is lengthy and includes some repetition of the schema's enum descriptions for the six codes, which keeps it from being maximally concise, but it is dense rather than wasteful.

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?

For a complex search tool with no output schema, the description is complete enough to call correctly: it explains result contents, ranking, citation behavior, pagination limits, API-key constraints, and country availability. It also names the follow-up tools needed to read a full article or the underlying Journal officiel law.

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 the baseline is 3, but the description adds useful meaning beyond the schema: it explains that every word in q must appear, that quoted phrases are searched literally, and that English/Arabic terms are mapped to French equivalents shown in meta.query_terms. It also reinforces the country limitation and no-key paging constraint, though some parameter details are duplicated from the schema rather than extended.

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 precise verb and resource: searching the six Algerian tax codes article by article in their 2026 DGI editions. It enumerates all six codes and their scopes, which clearly distinguishes this tool from article-reading siblings like get_tax_code_article and from broader searches like search_jo_text.

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?

It explicitly states the intended workflow: use search to find which article sets a rate, deadline, penalty or condition, then read that article with get_tax_code_article before quoting it, and use get_jo_act for the underlying finance law. It also explains filtering by code and the country restriction, leaving little ambiguity about when to use this tool versus alternatives.

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.