Skip to main content
Glama

search_all

Read-only

Recherche fédérée sur toutes les sources, par ENTRELACEMENT.

Tool ONE-STOP quand on ne sait pas où chercher : interroge en parallèle
les sources locales (DILA judic, JADE admin, LEGI, CEDH, CJUE).

⚠️ **Il n'y a pas de score global, et c'est délibéré.** Les scores BM25
ne sont pas comparables d'une source à l'autre : la rareté d'un mot est
calculée sur chaque corpus séparément, si bien qu'un même terme n'a pas
le même poids dans 76 000 arrêts CEDH et dans 1,5 M de décisions
judiciaires. Les résultats sont donc ENTRELACÉS — le 1er de chaque
source, puis le 2e de chaque source, etc., les sources les plus faisant
autorité en tête à rang égal. L'ordre interne de chaque source est
préservé, et aucune source ne peut être affamée par une autre.

Un champ `score` valant 1.0 était renvoyé pour tous les résultats : il
ne mesurait rien et laissait croire à un tri par pertinence. Supprimé le
30 août 2026. Pour connaître la position d'un résultat DANS sa source,
lire `source_rank` (0 = le mieux classé par cette source).

⚠️ **AND implicite** : tous les termes sont exigés simultanément. Une
question rédigée en langage naturel (10 mots et plus) renverra
fréquemment 0 sur les fonds français. Préférer 2 à 5 mots distinctifs.

Args:
    query: mots-clés (ou phrase). Si `expand_synonyms=True` (défaut),
        les termes du thésaurus juridique FR sont automatiquement
        étendus à leurs équivalents (ex: "harcèlement" → aussi
        "intimidation", "vexation morale", etc.). Les mots trop courants
        du vocabulaire juridique (« État », « justice », « droit »,
        « responsabilité »…) ne sont PAS étendus : leurs « synonymes »
        de thésaurus sont des rubriques de classement, pas des
        équivalents, et ils noyaient les termes porteurs de sens.
    sources: liste optionnelle parmi ["dila", "jade", "legi", "cedh",
        "cjue"]. None = toutes.
    sort: "relevance" (défaut) ou "date_desc"
    date_min, date_max: ISO YYYY-MM-DD
    limit: nombre de résultats fusionnés (défaut 30, max 100 ; chaque
        source locale plafonne à 50 résultats par appel)
    expand_synonyms: active le thésaurus (défaut True)

Returns:
    dict {"query_expanded", "per_source_counts", "results": [...]}.
    `per_source_counts` ne compte que les sources ayant répondu ; si
    une source est en panne, elle est détaillée dans `source_errors`
    et un `warning` signale des résultats potentiellement incomplets.
    `truncated: true` + `note` signalent que la fusion dépasse `limit`.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sortNorelevance
limitNo
queryYes
sourcesNo
date_maxNo
date_minNo
expand_synonymsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly annotation, the description discloses crucial non-obvious behavior: there is deliberately no global score, BM25 scores are not cross-source comparable, results are interleaved with authority ordering, and the old score field was removed. It also explains source_rank, per-source caps, error handling, and truncation signals, giving an agent a complete behavioral model.

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?

Though long, the description is densely informative and well-structured with bold warnings, an Args block, and a Returns block. Every sentence adds value: the no-score explanation prevents a common misinterpretation, the synonym caveat prevents query failure, and the output contract saves the agent from guessing. It is front-loaded with purpose and the most dangerous pitfalls.

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?

Given the tool's complexity, schema with no descriptions, and output schema that only exists as a prose Returns block, the description is complete. It covers what the tool does, when to use it, how the parameters behave, what the interleaved results mean, and how failures are reported via source_errors and warning. Nothing essential for correct invocation is missing.

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

Parameters5/5

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

The input schema's property descriptions provide no coverage, but the description fully compensates with an Args section covering all seven parameters. It explains defaults, the synonym-expansion behavior with explicit examples and exclusions, the optional sources list, the sort modes, date format, and the limit cap including the per-source maximum of 50.

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 specific verb and resource: 'Recherche fédérée sur toutes les sources' and positions itself as a ONE-STOP tool for when the user does not know where to look. It names the five federated sources explicitly, which clearly distinguishes it from the many single-source sibling tools like search_legi or search_cedh.

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?

It gives clear when-to-use guidance: use it as a one-stop when unsure which source holds the answer. It also provides actionable search-strategy advice (prefer 2 to 5 distinctive words, avoid natural-language queries) and explains the implicit-AND constraint. It does not explicitly name sibling tools as alternatives when the user already knows the source, so it stops short of full exclusion 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.

TDQS

A4.1/5.0
Disambiguation4/5

The tools are mostly distinct by legal source (admin, CC, CEDH, CJUE, etc.) and by action (search vs. retrieve). However, pairs like search_admin vs. search_conseil_etat both target Council of State jurisprudence, and get_decision_text could be mistaken for a generic decision retriever, creating some potential confusion despite detailed descriptions.

Naming Consistency5/5

All tool names follow a consistent lowercase snake_case pattern with action-first naming (get_, search_, list_, build_, resolve_, about_). The get_decision_* and search_* prefixes clearly separate retrieval from search, and modifiers like _libre and _recent are applied systematically.

Tool Count2/5

With 31 tools, the server is heavy, exceeding the 25+ threshold for 'too many.' While the breadth of French legal sources justifies many search/retrieval tools, the three recent admin variants and the redundant PISTE vs. libre duplicates suggest the set could be consolidated. The count feels disproportionate to the core purpose of legal research.

Completeness4/5

The tool set covers the full read lifecycle for legal research: orientation (about), search across all major sources, full-text retrieval for each source, law article lookup with historical versions, and URL building. Minor gaps exist, such as lacking a structured code browse or a direct way to enumerate all articles in a section, but these are workarounds via search_legi and get_law_article.

Resources