Skip to main content
Glama

ccn_article

An article of a French collective agreement (convention collective, KALI/DILA) — search the full text, or read one article in full.

op:

  • "search" (default): search the full text of French collective agreements: articles, avenants, salary schedules, extension orders. Returns {count, articles: [{id, num, texte_titre, idcc, convention, extrait, permalien, lien_construit, …}]}. Fetch full text with op="get".

  • "get": full consolidated text of a collective-agreement article (KALIARTI…), with its parent text (avenant/accord), convention (IDCC), a verifiable permalien and a best-effort Légifrance lien_construit.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "ccn_article"
  }
}

Input Schema

NameRequiredDescriptionDefault
opNosearch (default) | get.search
_orgNoOrg (id) de CET APPEL. `oto_list_orgs()`.
idccNoop="search" — restrict to one branch agreement (4-digit IDCC, ex "1285" spectacle vivant public, "3090" spectacle vivant privé). Use ccn_conventions or fr_search(idcc=…) to resolve an IDCC.
sortNoop="search" — "relevance" (FTS rank, default) | "recent" (date d'effet first — use for salary schedules where the latest avenant wins).relevance
limitNoop="search" — max results (default 20, max 50).
queryNoop="search" — full-text query (websearch syntax: phrases in quotes, OR, -). French stemming applied ("congés payés" matches "congé payé").
_groupNoÉquipe (id) de CET APPEL, sous son org parente.
_run_idNoOBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas.
kali_idNoop="get" — DILA article id returned by op="search" (KALIARTI000…).
_projectNoProjet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`.
_instanceNoInstance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`.
en_vigueurNoop="search" — only in-force article versions (default True — salary schedules exist in many superseded versions).

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does substantial work: it enumerates the search return payload (count, articles with id, num, idcc, extrait, permalien, lien_construit) and describes get as returning "full consolidated text" with parent text, IDCC, a verifiable permalien and a "best-effort" Légifrance link — the "best-effort" qualifier is a genuinely useful reliability signal. It stops short of stating that the tool is read-only, or describing pagination limits or failure modes.

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?

Front-loaded one-line summary followed by two tightly scoped bullets keyed to the op enum values; every sentence carries information and nothing is repeated between the summary and the bullets.

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?

There is no output schema, so the description compensates by sketching the return shape for both modes, which is the main thing an agent needs. For a 12-parameter tool it leaves the infrastructure parameters (_org, _group, _project, _instance, _run_id) entirely to the schema, but those are documented there and are not specific to this tool's semantics.

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 idcc, sort, limit, en_vigueur and kali_id. The description adds meaning only at the op level (what each mode returns), and does not explain interactions such as how sort="recent" pairs with en_vigueur for salary schedules beyond what the schema already says. Baseline 3 is appropriate when the schema does the heavy lifting.

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 names a specific resource ("An article of a French collective agreement (convention collective, KALI/DILA)") and two concrete verbs via the op enum: full-text search and full-article retrieval. It is clear enough to distinguish from a generic search tool, but it never names its closest siblings (ccn_conventions, loi_article, fr_accords_search), leaving that differentiation to the schema text rather than the description.

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 a clear operating model: op="search" is the default entry point covering articles, avenants, salary schedules and extension orders, and "Fetch full text with op=\"get\"" is the explicit follow-up step, so the search-then-fetch workflow is spelled out. What is missing is any when-not guidance — no statement about when to prefer ccn_conventions or fr_accords_search, or when not to use this tool at all.

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.

Resources