Skip to main content
Glama

Get Decision

get_decision
Read-onlyIdempotent

Fetch the full text and metadata of a decision by its url. The text carries inline markdown links to cited articles (/norm/, open with get_norm) and cited decisions (/decision/, open with get_decision); a citation spanning several articles (« articles 3 à 6 », « et suivants ») links its first article and appends the others as labelled links right after the span. case_chronology lists the prior AND subsequent decisions of the same case (appeal, pourvoi, renvoi), each with its solution. commentaries lists documents around the decision (the court's summary, conclusions, reports…). official_url is the decision at its official publisher, proof of its authenticity.

Input Schema

NameRequiredDescriptionDefault
urlYesA librejustice.fr decision URL, from a search_decisions hit or an inline citation link; search_decisions first if you have neither.

Output Schema

NameRequiredDescriptionDefault
urlYes
dateNo
seatNo
textYes
titleYes
officeNo
solutionNo
procedureNo
publicationNo
commentariesNo
legal_domainNo
official_urlNo
docket_numbersNo
case_chronologyNo
jurisdiction_codeNo
jurisdiction_typeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedOutput schema / properties / commentaries / items / properties / access
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "enum": [
      -        "libre",
      -        "abonnes"
      -      ],
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
  2. Changed17 schema fields changed
    • removedOutput schema / properties / caseChronology
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "current": {
      -        "type": "boolean"
      -      },
      -      "linkToNext": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "solution": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "title",
      -      "current"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / case_chronology
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "current": {
      +        "type": "boolean"
      +      },
      +      "link_to_next": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "solution": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "title",
      +      "current"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / commentaires
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "access": {
      -        "anyOf": [
      -          {
      -            "enum": [
      -              "libre",
      -              "abonnes"
      -            ],
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "author": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "date": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "format": "date"
      -      },
      -      "issue": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "kind": {
      -        "enum": [
      -          "conclusions",
      -          "note"
      -        ],
      -        "type": "string"
      -      },
      -      "pages": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "publisher": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "title": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "url": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      },
      -      "volume": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null
      -      }
      -    },
      -    "required": [
      -      "kind"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / commentaries
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "access": {
      +        "anyOf": [
      +          {
      +            "enum": [
      +              "libre",
      +              "abonnes"
      +            ],
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "author": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "body": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "date": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null,
      +        "format": "date"
      +      },
      +      "issue": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "kind": {
      +        "enum": [
      +          "summary",
      +          "conclusions",
      +          "note"
      +        ],
      +        "type": "string"
      +      },
      +      "pages": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "publisher": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "title": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "url": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      },
      +      "volume": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "default": null
      +      }
      +    },
      +    "required": [
      +      "kind"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / date
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "format": "date"
      +}
    • removedOutput schema / properties / dateLecture
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "format": "date"
      -}
    • removedOutput schema / properties / docketNumbers
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • addedOutput schema / properties / docket_numbers
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • removedOutput schema / properties / jurisdictionCode
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • removedOutput schema / properties / jurisdictionType
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / jurisdiction_code
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / jurisdiction_type
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / legalDomain
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • addedOutput schema / properties / legal_domain
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • removedOutput schema / properties / officialUrl
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • addedOutput schema / properties / official_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "title",
      -  "url",
      -  "jurisdictionType",
      -  "text"
      -]New value: +[
      +  "title",
      +  "url",
      +  "jurisdiction_type",
      +  "text"
      +]
  3. Changed1 schema field changed
    • removedOutput schema / properties / appellateFate
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
  4. Changed3 schema fields changed
    • addedOutput schema / properties / commentaires / items / properties / issue
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / commentaires / items / properties / pages
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
    • addedOutput schema / properties / commentaires / items / properties / volume
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  5. Changed4 schema fields changed
    • removedOutput schema / properties / commentaires / items / properties / body
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • changedOutput schema / properties / commentaires / items / properties / kind / enum
      Previous value: -[
      -  "analyse",
      -  "conclusions",
      -  "note"
      -]New value: +[
      +  "conclusions",
      +  "note"
      +]
    • removedOutput schema / properties / commentaires / items / properties / renvois
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / commentaires / items / properties / rubriques
      Removed value: -{
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
  6. Changed17 schema fields changed
    • removedOutput schema / description
      Removed value: -"Metadata fields carry search_decisions filter tokens: each field matches the filter of the same name (jurisdictionType → jurisdiction_type, legalDomain → legal_domain…) and its value passes back verbatim to filter."
    • removedOutput schema / properties / appellateFate / description
      Removed value: -"Fate of THIS decision before the court that reviewed it, precomputed from caseChronology: 'INFIRMATION, Cour d'appel de Paris, 1 juillet 2025 (url)'. INFIRMATION = this decision was reversed and no longer stands; CONFIRMATION = upheld. Absent = no recourse known to the corpus, which never proves the decision is final."
    • removedOutput schema / properties / caseChronology / description
      Removed value: -"Prior and subsequent decisions of the same case (appeal, pourvoi, renvoi), most recent first, current decision included. The fate of a judgment reads in the solution of the decision that reviewed it (INFIRMATION = reversed, CONFIRMATION = upheld). Absent chronology never proves no recourse exists."
    • removedOutput schema / properties / caseChronology / items / properties / linkToNext / description
      Removed value: -"Link nature to the step below (the attacked decision): APPEL_DE | POURVOI_CONTRE | RENVOI_APRES_CASSATION."
    • removedOutput schema / properties / caseChronology / items / properties / url / description
      Removed value: -"Absent when the corpus does not hold that step: it is named by the decision that attacks it, and cannot be opened."
    • removedOutput schema / properties / chamber
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Chamber that heard the case, as \"<court>|<chamber>\", reusable verbatim as the chamber filter."
      -}
    • removedOutput schema / properties / commentaires / description
      Removed value: -"Institutional commentary anchored on this document: court-written analyses served inline (`body`), plus outbound links (`url`) to the rapporteur public's conclusions and to related institutional documents (reports, opinions, press releases). Context, never the ruling itself. Quote the decision text, not a commentaire, as the court's words."
    • changedOutput schema / properties / commentaires / items / properties / access / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "libre",
      +      "abonnes"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / commentaires / items / properties / access / description
      Removed value: -"libre | abonnes"
    • removedOutput schema / properties / commentaires / items / properties / kind / description
      Removed value: -"analyse = official court-written abstract, full content in `body`. conclusions = the rapporteur public's conclusions, `url` only (copyright-protected, existence + official link). note = linked institutional document (report, avocat général's opinion, press release, doctrine note), `url` + `title` + `publisher`."
    • addedOutput schema / properties / commentaires / items / properties / kind / enum
      Added value: +[
      +  "analyse",
      +  "conclusions",
      +  "note"
      +]
    • removedOutput schema / properties / commentaires / items / properties / renvois / description
      Removed value: -"Doctrinal cross-references of the analyse (« Cf. CE, … »)."
    • removedOutput schema / properties / commentaires / items / properties / rubriques / description
      Removed value: -"Official classification headings (analyse)."
    • removedOutput schema / properties / commentaires / items / properties / url / description
      Removed value: -"External link, to hand to the user, not openable by an MCP tool."
    • removedOutput schema / properties / officialUrl / description
      Removed value: -"The decision on its official publisher: legifrance.gouv.fr, courdecassation.fr, opendata.justice-administrative.fr, conseil-constitutionnel.fr, hudoc, eur-lex. Cite this when the deliverable requires the authoritative source; `url` is the LibreJustice page. Absent when the publisher exposes no per-decision permalink."
    • removedOutput schema / properties / publication / description
      Removed value: -"Publication values carried, reusable verbatim as the publication filter."
    • addedOutput schema / properties / seat
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  7. Changed3 schema fields changed
    • changedOutput schema / properties / appellateFate / description
      Previous value: -"Fate of THIS decision before the court that reviewed it, precomputed from caseChronology: 'INFIRMATION — Cour d'appel de Paris, 1 juillet 2025 (url)'. INFIRMATION = this decision was reversed and no longer stands; CONFIRMATION = upheld. Absent = no recourse known to the corpus, which never proves the decision is final."New value: +"Fate of THIS decision before the court that reviewed it, precomputed from caseChronology: 'INFIRMATION, Cour d'appel de Paris, 1 juillet 2025 (url)'. INFIRMATION = this decision was reversed and no longer stands; CONFIRMATION = upheld. Absent = no recourse known to the corpus, which never proves the decision is final."
    • changedOutput schema / properties / commentaires / description
      Previous value: -"Institutional commentary anchored on this document: court-written analyses served inline (`body`), plus outbound links (`url`) to the rapporteur public's conclusions and to related institutional documents (reports, opinions, press releases). Context, never the ruling itself — quote the decision text, not a commentaire, as the court's words."New value: +"Institutional commentary anchored on this document: court-written analyses served inline (`body`), plus outbound links (`url`) to the rapporteur public's conclusions and to related institutional documents (reports, opinions, press releases). Context, never the ruling itself. Quote the decision text, not a commentaire, as the court's words."
    • changedOutput schema / properties / commentaires / items / properties / url / description
      Previous value: -"External link, to hand to the user — not openable by an MCP tool."New value: +"External link, to hand to the user, not openable by an MCP tool."
  8. Changed6 schema fields changed
    • changedOutput schema / properties / caseChronology / description
      Previous value: -"Linked prior and subsequent decisions of the same case (appeal, pourvoi, renvoi), most recent first, current decision included. The fate of a judgment reads in the solution of the decision that reviewed it (INFIRMATION = reversed, CONFIRMATION = upheld). Absent chronology never proves no recourse exists."New value: +"Prior and subsequent decisions of the same case (appeal, pourvoi, renvoi), most recent first, current decision included. The fate of a judgment reads in the solution of the decision that reviewed it (INFIRMATION = reversed, CONFIRMATION = upheld). Absent chronology never proves no recourse exists."
    • addedOutput schema / properties / caseChronology / items / properties / url / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / caseChronology / items / properties / url / default
      Added value: +null
    • addedOutput schema / properties / caseChronology / items / properties / url / description
      Added value: +"Absent when the corpus does not hold that step: it is named by the decision that attacks it, and cannot be opened."
    • removedOutput schema / properties / caseChronology / items / properties / url / type
      Removed value: -"string"
    • changedOutput schema / properties / caseChronology / items / required
      Previous value: -[
      -  "title",
      -  "url",
      -  "current"
      -]New value: +[
      +  "title",
      +  "current"
      +]
  9. Changed1 schema field changed
    • removedOutput schema / properties / matiere
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
  10. Changed1 schema field changed
    • changedOutput schema / properties / chamber / description
      Previous value: -"Bench that heard the case, as \"<court>|<bench>\", reusable verbatim as the chamber filter."New value: +"Chamber that heard the case, as \"<court>|<chamber>\", reusable verbatim as the chamber filter."
  11. Changed1 schema field changed
    • changedOutput schema / properties / chamber / description
      Previous value: -"Factual bench key, reusable verbatim as the chamber filter."New value: +"Bench that heard the case, as \"<court>|<bench>\", reusable verbatim as the chamber filter."
  12. Changed6 schema fields changed
    • addedOutput schema / properties / chamber
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Factual bench key, reusable verbatim as the chamber filter."
      +}
    • removedOutput schema / properties / publication / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedOutput schema / properties / publication / default
      Removed value: -null
    • addedOutput schema / properties / publication / description
      Added value: +"Publication values carried, reusable verbatim as the publication filter."
    • addedOutput schema / properties / publication / items
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / publication / type
      Added value: +"array"
  13. Changed2 schema fields changed
    • removedOutput schema / properties / chamber
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null
      -}
    • addedOutput schema / properties / matiere
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null
      +}
  14. Changed1 schema field changed
    • addedOutput schema / properties / officialUrl
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "The decision on its official publisher: legifrance.gouv.fr, courdecassation.fr, opendata.justice-administrative.fr, conseil-constitutionnel.fr, hudoc, eur-lex. Cite this when the deliverable requires the authoritative source; `url` is the LibreJustice page. Absent when the publisher exposes no per-decision permalink."
      +}
  15. Changed1 schema field changed
    • changedInput schema / properties / url / description
      Previous value: -"Decision URL, from search_decisions hits or an inline citation link."New value: +"A librejustice.fr decision URL, from a search_decisions hit or an inline citation link; search_decisions first if you have neither."
  16. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds non-obvious behavior an agent could not infer: text arrives as markdown with inline citation links, multi-article citations link only the first article and append the rest as labelled links, and the payload carries case_chronology, commentaries and official_url.

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 action is front-loaded in the first clause and every following sentence describes a distinct part of the returned payload. The citation-spanning sentence is dense and slightly hard to parse on first read, but it carries information not available elsewhere.

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?

An output schema exists, so the description need not enumerate return fields; it nonetheless characterizes the shape of the text and the auxiliary sections. Combined with the schema's URL-provenance guidance, an agent has everything needed to call this correctly and act on the result.

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?

There is a single parameter at 100% schema description coverage, and the schema itself explains provenance (a search_decisions hit or an inline citation link) and the fallback to search_decisions. The description only says 'by its `url`', adding no format or validation detail beyond the schema, so 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 ('Fetch the full text and metadata of a decision') and pins the identifier ('by its `url`'). It also implicitly separates itself from get_norm by explaining that /norm/ links go to get_norm while /decision/ links come back here, so an agent can route between the two without opening schemas.

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?

The description gives concrete trigger conditions: use it to follow inline /decision/ citation links inside a decision's text, and the citation-spanning rule tells the agent which link to click when a reference covers several articles. It does not state when to prefer search_decisions instead, though the input schema's parameter text covers that ('search_decisions first if you have neither').

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.