Skip to main content
Glama

Qanun: Tunisian law

Server Details

Search Tunisian law and JORT announcements in Arabic and French, with article and JORT citations.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct resource: single article lookup (get_article), text-level metadata/article listing (get_text), full-text law search (search_law), announcement search (search_announcements), and a JORT activity digest (latest_jort). The only mild overlap is get_article vs get_text since both surface articles, but the descriptions make the granularity distinction clear.

Naming Consistency4/5

Four of five tools follow a clear verb_noun pattern (get_article, get_text, search_law, search_announcements) with two get_ and two search_ verbs. latest_jort deviates with an adjective_noun form and no verb, a minor inconsistency.

Tool Count4/5

Five tools is a tight, purposeful surface for a legal database, with each tool covering a distinct access pattern. It is slightly under-provisioned since there is no tool to browse or list laws by category/date, but nothing is redundant.

Completeness4/5

The surface covers the core legal workflows: retrieve a text, retrieve an article, full-text search laws, search JORT announcements, and check recent activity. Minor gaps exist around exploratory browsing (listing all texts or filtering laws by type/date) that agents would have to work around via search.

Available Tools

5 tools
get_articleGet an article of Tunisian lawA
Read-only
Inspect

Get one article of a Tunisian law or code by text_id and article number, with French and Arabic side by side when available. Obtenir un article d'un texte de droit tunisien (texte_id et numéro), en français et en arabe côte à côte si disponibles.

NameRequiredDescriptionDefault
langNoboth
text_idYesText id from search_law, e.g. "code/travail" or "loi/2016-10"
article_noYesArticle number, e.g. "14", "14 bis", "unique"

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the bar is lower, and the description adds genuine context beyond them: the return is French and Arabic side by side, qualified by 'when available', which tells the agent output may be partial. It does not cover behavior when the article number does not exist.

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 key constraints (one article, keyed by text_id and number, bilingual output) are front-loaded in a single sentence. The full French restatement doubles the length, which is defensible for a bilingual legal-domain tool but adds no information an English-reading agent did not already have.

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

Completeness3/5

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

For a simple two-required-parameter read tool with no output schema, the description should carry the return shape, and it only says French/Arabic side by side 'when available' without describing the response structure or the not-found case. Adequate but with visible gaps for an agent deciding what to expect back.

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 67%; text_id and article_no are documented in the schema with examples, and the description restates them without adding format detail. The lang parameter has no schema description, and the description only indirectly implies its effect ('French and Arabic side by side') without explaining the fr/ar/both options or the default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: retrieve a single article of a Tunisian law/code, keyed by text_id and article number. That is clearly narrower than get_text (whole text) and search_law (discovery), though the description never names those siblings to make the distinction explicit.

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

Usage Guidelines3/5

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

Usage is only implied: the required text_id and article_no make it obvious this is a follow-up lookup once a text is known, and the schema's 'from search_law' note hints at the workflow, but that guidance lives in the schema, not the description. No explicit when-not or pointer to get_text for full-text retrieval.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_textGet a Tunisian legal textA
Read-only
Inspect

Get metadata and the list of articles of a Tunisian law or code (500 per page; use offset to paginate). Obtenir les métadonnées et la liste des articles d'une loi ou d'un code tunisien (500 par page ; paginer avec offset).

NameRequiredDescriptionDefault
offsetNo
text_idYesText id, e.g. "code/coc" or "loi-organique/2016-22"

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds the 500-per-page limit and pagination behavior, which the annotations do not convey, but it says nothing about output shape (e.g., whether articles come as stubs or full text) or what happens on an unknown text_id.

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 content is front-loaded and short, with the pagination hint in a parenthetical. The full bilingual duplication doubles the text for no informational gain, which is the only waste, but it is the same statement repeated rather than padding.

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 a simple two-parameter read tool with no output schema, the description covers purpose, scope, and pagination adequately. The remaining gap is that it doesn't characterize the return payload (metadata fields, article granularity), which would matter for a list of up to 500 articles.

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 50%: text_id is documented with concrete examples ("code/coc", "loi-organique/2016-22"), while offset has only type and default. The description compensates for offset by explaining the 500-per-page page size, but adds no id format guidance beyond the schema. Baseline 3 fits.

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 names a specific verb and resource — retrieving metadata plus the article list for a Tunisian law or code — and its scope is distinguishable from siblings like get_article (single article) and search_law (searching). An agent can tell what it returns without opening the schema.

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

Usage Guidelines3/5

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

The pagination clause implies when to use offset (for texts longer than 500 articles), which is useful operational guidance. However, it never states when to prefer this tool over search_law or how it relates to get_article, so sibling routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

latest_jortLatest JORT activityB
Read-only
Inspect

Summarise recent Tunisian official journal (JORT) activity: announcement counts by kind, the 20 latest announcements and newly added law texts. Résumé de l’activité récente du JORT tunisien : annonces par type, les 20 dernières annonces et les nouveaux textes de loi.

NameRequiredDescriptionDefault
daysNo

TDQS

B3.1/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavioral content by stating exactly what the summary includes: announcement counts by kind, the 20 latest announcements, and newly added law texts. It does not explain the time-window behavior or whether counts respect the 'days' input, but it goes well beyond restating 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 English sentence is front-loaded and efficient, naming the action and outputs immediately. However, the identical content is repeated in French, roughly doubling the length without adding information for an agent that already understands either language.

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

Completeness3/5

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

For a one-parameter, read-only summary tool with no output schema, the description adequately explains the returned content. It is incomplete because the sole parameter, its default lookback, and its upper bound are absent, which is critical for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has one parameter, 'days', with 0% schema description coverage, and the description never names or explains it. The word 'recent' is not tied to the default of 7 days or the maximum of 90 days, leaving the only invocation control undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb, 'summarise', and a specific resource, 'recent Tunisian official journal (JORT) activity', then enumerates the outputs: counts by kind, the 20 latest announcements, and newly added law texts. It is clear what the tool produces, but it does not explicitly distinguish itself from sibling search tools such as search_announcements or search_law.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use, when-not-to-use, or alternative routing guidance. An agent must infer from the word 'recent' that this is an overview tool rather than a targeted search tool, and the sibling tools search_announcements and search_law are never mentioned as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_announcementsSearch JORT legal announcementsB
Read-only
Inspect

Search Tunisian official JORT legal announcements (company formation, changes, dissolution, merger) by company name, keywords, RNE number or date. Rechercher les annonces légales du JORT tunisien (constitution, modification, dissolution, fusion) par société, mots-clés, numéro RNE ou date.

NameRequiredDescriptionDefault
kindNo
limitNo
queryNoFull-text keywords
companyNoCompany name (fuzzy match)
date_toNoYYYY-MM-DD
date_fromNoYYYY-MM-DD
rne_numberNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful domain context by naming the announcement categories (company formation, changes, dissolution, merger), but says nothing about result shape, pagination, or behavior when no filters are supplied.

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 searchable axes are front-loaded in a single sentence, with the bilingual French rendering being an intentional accessibility choice rather than filler. The trade-off is that the same information is stated twice, so there is no net new content in the second half.

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

Completeness3/5

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

With seven optional parameters, no output schema, and no required fields, an agent needs to know what results look like and how to narrow a broad query. The description covers the domain but not result structure, pagination, or fallback behavior for zero-result searches, which is a meaningful gap for a search tool.

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?

At 57% schema description coverage, the schema already documents query, company (fuzzy), and the date patterns. The description roughly mirrors those same four search axes without adding syntax, matching behavior, or precedence when multiple filters are provided, and it never mentions the 'kind' enum or the 'limit' cap as usable filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (Tunisian official JORT legal announcements) and enumerates the covered announcement types, so the domain is unambiguous. It does not explicitly distinguish itself from the sibling search_law, leaving the boundary between 'legal announcements' and 'laws' to be inferred from the resource name alone.

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

Usage Guidelines2/5

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

The description lists which fields can be searched but gives no when-to-use guidance, no exclusions, and no mention of alternatives such as search_law or latest_jort, which are the obvious overlapping siblings. It also omits whether filters can be combined, which matters for a seven-parameter search tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_lawSearch Tunisian lawA
Read-only
Inspect

Search Tunisian law (codes, laws, organic laws, decree-laws) by keywords in French or Arabic; returns matching articles with JORT references. Recherche plein texte dans le droit tunisien (codes, lois, décrets-lois) en français ou en arabe ; renvoie les articles avec la référence JORT.

NameRequiredDescriptionDefault
kindNoRestrict to one kind of text
langNoLanguage of articles to search: fr, ar or bothboth
limitNo
queryYesKeywords or a question, in French or Arabic
year_toNoLatest year of the text
year_fromNoEarliest year of the text

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already establish that this is a read-only, closed-corpus operation, so the bar is lower. The description usefully adds that results are article-level with JORT citations and that both French and Arabic text is searchable, but it says nothing about result ordering, relevance behavior, or how truncated/large result sets behave beyond the schema's limit cap.

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 core purpose and return content are front-loaded in a single well-formed sentence. The only waste is that the French sentence is a near-verbatim restatement of the English one; reasonable for a bilingual legal tool but it doubles length without adding new information.

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?

With 6 parameters, no output schema, and a non-trivial domain, the description covers the essentials: scope of the corpus, languages supported, and the shape of returned data (articles with JORT references). Missing only retrieval-behavior details (top-N semantics, ranking), which are minor for a straightforward search endpoint.

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 83%, so kind, lang, query, year_from, and year_to are already documented in structured fields, and limit is bounded by min/max. The description only loosely reinforces the query/lang semantics ('keywords in French or Arabic') without adding format, syntax, or matching behavior beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search Tunisian law') plus the covered document types (codes, laws, organic laws, decree-laws) and what is returned ('matching articles with JORT references'). It is clearly distinguishable from get_article/get_text/latest_jort by being a keyword search, but it never explicitly names a sibling or draws the boundary with search_announcements.

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

Usage Guidelines3/5

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

Usage is only implied: the agent can infer 'use this when you have keywords in French or Arabic about Tunisian legislation.' There is no statement of when to prefer this over search_announcements, get_article, or get_text, and no note on fallback behavior when results are empty.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedget_article
    • First observedget_text
    • First observedlatest_jort
    • First observedsearch_announcements
    • First observedsearch_law

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Lebanese laws, articles, court rulings and Official Gazette issues, returned verbatim: search in Arabic, French or English, articles in force with amendment history, and citation links. Free public remote server with no API key, or run it locally with Docker.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Statute & article text (mevzuat.gov.tr) and court decisions (UYAP Emsal, Council of State, Constitutional Court), with their citation, source, live. It works as long as the official sources remain reachable.
    2
    241 PyPI
    19
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Statute & article text (mevzuat.gov.tr) and court decisions (UYAP Emsal, Council of State, Constitutional Court), with their citation, source, live. It works as long as the official sources remain reachable.
    4
    179 PyPI
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search Turkish legislation by natural-language query or citation, retrieve full article text including ranges and paragraphs, and return results with official citations, Official Gazette details, and source links.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources