Skip to main content
Glama

UpGrowth: business data for Algeria, Tunisia and Morocco

Get a CNRC activity code

get_activity_code
Read-only

Get one activity of the Algerian CNRC nomenclature by its six-digit code, for example 101101: its status (free, regulated or blocked), its labels in French, Arabic and English, its sector and group, the URL of its page on upgrowth.dz and, in French, the text of the code as the CNRC publishes it: the supervising authority, the type of authorization, what the activity covers, its accessory activities and its legal references. Where UpGrowth compared the text with the Journal officiel and found an abrogated or mistyped reference, a wrong authority or type, or a doubt, details.jo_check gives the corrected value (already put in the field), the value it replaced, the act, the Journal officiel issue and the article, or what is left to verify: read it before quoting the authority or the text of a code. Use it when the user already gives a code, or after search_activity_codes. Returns an error when the code does not exist. For Tunisia (country TN) pass the four-digit NAT 2009 class code, for example 0111: you get its label in French, its section, division and group, its status (reglementee with the authorisations of annex 1 of décret 2018-417 that govern it and their legal references, or libre because that list is exclusive) and the official source. Pass A1-017 or A2-005 to get one authorisation of the decree as a record. For Morocco (country MA) pass the four-digit NMA 2010 code, for example 0111: you get its labels, section, branch, sub-branch and its status not_determined.

Input Schema

NameRequiredDescriptionDefault
codeYesActivity code. Algeria: the CNRC code, six digits, for example 101101. Tunisia (country TN): the NAT 2009 class code, four digits, for example 0111 or 01.11, or the code of an authorisation of décret 2018-417, A1-017 (annex 1) or A2-005 (annex 2), or one added by décret 2022-317 such as A1-019bis. Morocco (country MA): the NMA 2010 activity code, four digits, for example 0111. Find codes with search_activity_codes.
langNoLanguage of the labels, notes and attribution text in the answer: fr (French, the default), ar (Arabic) or en (English).fr
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. Changed2 schema fields changed
    • changedInput schema / properties / code / description
      Previous value: -"Activity code. Algeria: the CNRC code, six digits, for example 101101. Tunisia (country TN): the NAT 2009 class code, four digits, for example 0111 or 01.11. Morocco (country MA): the NMA 2010 activity code, four digits, for example 0111. Find codes with search_activity_codes."New value: +"Activity code. Algeria: the CNRC code, six digits, for example 101101. Tunisia (country TN): the NAT 2009 class code, four digits, for example 0111 or 01.11, or the code of an authorisation of décret 2018-417, A1-017 (annex 1) or A2-005 (annex 2), or one added by décret 2022-317 such as A1-019bis. Morocco (country MA): the NMA 2010 activity code, four digits, for example 0111. Find codes with search_activity_codes."
    • changedInput schema / properties / code / pattern
      Previous value: -"^([0-9]{4}|[0-9]{6}|[0-9]{2}\\.[0-9]{2})$"New value: +"^([0-9]{4}|[0-9]{6}|[0-9]{2}\\.[0-9]{2}|[Aa][12]-[0-9]{1,3}([Bb][Ii][Ss])?)$"
  2. Changed3 schema fields changed
    • changedInput schema / properties / code / description
      Previous value: -"CNRC activity code, six digits, for example 101101. Find codes with search_activity_codes."New value: +"Activity code. Algeria: the CNRC code, six digits, for example 101101. Tunisia (country TN): the NAT 2009 class code, four digits, for example 0111 or 01.11. Morocco (country MA): the NMA 2010 activity code, four digits, for example 0111. Find codes with search_activity_codes."
    • changedInput schema / properties / code / pattern
      Previous value: -"^[0-9]{6}$"New value: +"^([0-9]{4}|[0-9]{6}|[0-9]{2}\\.[0-9]{2})$"
    • changedInput schema / properties / country / description
      Previous value: -"Country 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, returns country_not_available."New value: +"Country 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."
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint/openWorldHint; the description adds real behavior: it errors when the code does not exist, it returns country_not_available for unsupported datasets, and it requires an API key for TN/MA (key_required). It also flags that details.jo_check must be read before quoting an authority or legal text — substantive operational guidance not derivable from annotations.

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?

The core purpose is front-loaded, but the description is a single dense block that mixes return-field enumeration, jo_check caveats, and three countries' parameter rules. Much of the return-value detail is useful, yet the lack of any structural separation makes it hard to scan for a fairly simple lookup.

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, so the description carries the return-value burden and discharges it fully: status, trilingual labels, sector/group, URL, published French text, plus the jo_check correction fields. Error and auth conditions are also covered, so an agent has everything needed to call it 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% and the parameter docs already spell out the per-country code formats, the lang enum and the country default/error behavior. The prose largely restates this, so it adds little beyond the schema; 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 and resource ('Get one activity of the Algerian CNRC nomenclature by its six-digit code') and then enumerates exactly what the record contains. It is clearly distinguished from search_activity_codes, which is named as the upstream sibling.

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?

Explicit routing: 'Use it when the user already gives a code, or after search_activity_codes.' It also gives per-country invocation rules (TN four-digit NAT 2009 or A1-/A2- authorisation codes; MA four-digit NMA 2010 code), so the agent knows which form to pass in each case.

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.