Skip to main content
Glama

Lire une annonce / Read a listing

voir_annonce
Read-onlyIdempotent

Read one listing or adoptable animal in full after a search, by the id or url from chercher_annonces, chercher_par_photo or chercher_adoptions. Returns description, marks, dates, source, photos and sightings, or temperament, health and fee. Never returns contact details. Accepts French or English; replies in French, or English with langue "en".

Input Schema

NameRequiredDescriptionDefault
langueNoResponse language: "fr" (French, default) or "en" (English). A request written in English is answered in English even without it.fr
annonceYesListing or adoptable animal to read (string): the id or url returned by chercher_annonces, chercher_par_photo or chercher_adoptions, e.g. "3f2b9c1e-5d4a-4b8e-9c7f-1a2b3c4d5e6f" or "https://missionmuseaux.fr/fiches/<id>".

Output Schema

NameRequiredDescriptionDefault
idYes
ageNo
nomNo
urlYes
dateNo
lieuYes
raceYes
sexeYes
fraisNo
photoYes
santeNo
titreNo
especeYes
photosNo
sourceNoWhere the record comes from: mission_museaux (published on Mission Museaux), reprise (a listing relayed from another platform, not named; contact goes through the original listing) or association_partenaire (an animal offered by another French association or shelter, not registered on Mission Museaux, whose listing Mission Museaux relays).
statutNoStatus in the response language.
tailleNo
traitsNo
communeNo
couleurNoListing colour, translated into the response language when it is in the colour vocabulary, otherwise as written.
reserveNo
ententesNo
page_raceNo
publiee_leNoWhen the record was first published (ISO date): on Mission Museaux, at the original platform for a reprise, or by the association offering the animal. null when unknown.
associationNo
departementNo
descriptionNo
distance_kmYes
verifiee_leNoWhen Mission Museaux last re-read the listing of the association offering the animal and found it still listed (ISO date); a freshness check, not a verification of the animal. null for Mission Museaux's own animals.
observationsNo
presentationNoRewording written by Mission Museaux.
date_evenementNo
mise_a_jour_leNoListing: the latest of its last sighting, last status change and derniere_nouvelle, so it can be later than in search results. Animal offered by another association: when that association last changed its listing, null when unknown. ISO date.
pays_mentionnesNo
criteres_demandesNoFor each criterion of the request (breed, colour, sex, age, gets-on-with), whether the record states it. Empty when no such criterion was asked.
derniere_nouvelleNo
description_auteurNo“Mission Museaux” when the listing text is a summary written by Mission Museaux from the original listing (a rewording, not a quotation); null when it is the listing's own text, quoted.
signes_distinctifsNo
presentation_auteurNo
association_verifieeNo
derniere_observationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / annonce / description
      Previous value: -"Identifiant de l'annonce, ou son adresse https://missionmuseaux.fr/fiches/… ; ou un animal à l'adoption renvoyé par chercher_adoptions (son id, ou son adresse /adoption/…). / Listing id or address, or an animal for adoption returned by chercher_adoptions (its id or address)."New value: +"Listing or adoptable animal to read (string): the id or url returned by chercher_annonces, chercher_par_photo or chercher_adoptions, e.g. \"3f2b9c1e-5d4a-4b8e-9c7f-1a2b3c4d5e6f\" or \"https://missionmuseaux.fr/fiches/<id>\"."
    • changedInput schema / properties / langue / description
      Previous value: -"Langue de la réponse : fr (par défaut) ou en. / Response language: fr (default) or en."New value: +"Response language: \"fr\" (French, default) or \"en\" (English). A request written in English is answered in English even without it."
    • changedOutput schema / properties / couleur / description
      Previous value: -"Couleur de l'annonce, traduite dans la langue de la réponse quand elle est dans le vocabulaire des couleurs, sinon telle qu'écrite. / Listing colour, translated into the response language when it is in the colour vocabulary, otherwise as written."New value: +"Listing colour, translated into the response language when it is in the colour vocabulary, otherwise as written."
    • addedOutput schema / properties / criteres_demandes
      Added value: +{
      +  "description": "For each criterion of the request (breed, colour, sex, age, gets-on-with), whether the record states it. Empty when no such criterion was asked.",
      +  "items": {
      +    "properties": {
      +      "critere": {
      +        "enum": [
      +          "race",
      +          "couleur",
      +          "sexe",
      +          "age",
      +          "ententes"
      +        ],
      +        "type": "string"
      +      },
      +      "precise": {
      +        "description": "true when the record states this criterion (and matches it); false when it does not say, so it is kept as a possible match.",
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "critere",
      +      "precise"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / description_auteur / description
      Previous value: -"« Mission Museaux » quand le texte de l'annonce est un résumé rédigé par Mission Museaux d'après l'annonce d'origine (reformulation, pas une citation) ; null quand c'est le texte de l'annonce, cité. / “Mission Museaux” when the listing text is a summary written by Mission Museaux from the original listing (a rewording, not a quotation); null when it is the listing's own text, quoted."New value: +"“Mission Museaux” when the listing text is a summary written by Mission Museaux from the original listing (a rewording, not a quotation); null when it is the listing's own text, quoted."
    • addedOutput schema / properties / mise_a_jour_le
      Added value: +{
      +  "description": "Listing: the latest of its last sighting, last status change and derniere_nouvelle, so it can be later than in search results. Animal offered by another association: when that association last changed its listing, null when unknown. ISO date.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / presentation / description
      Previous value: -"Reformulation rédigée par Mission Museaux. / Rewording written by Mission Museaux."New value: +"Rewording written by Mission Museaux."
    • addedOutput schema / properties / publiee_le
      Added value: +{
      +  "description": "When the record was first published (ISO date): on Mission Museaux, at the original platform for a reprise, or by the association offering the animal. null when unknown.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / source
      Added value: +{
      +  "description": "Where the record comes from: mission_museaux (published on Mission Museaux), reprise (a listing relayed from another platform, not named; contact goes through the original listing) or association_partenaire (an animal offered by another French association or shelter, not registered on Mission Museaux, whose listing Mission Museaux relays).",
      +  "enum": [
      +    "mission_museaux",
      +    "reprise",
      +    "association_partenaire"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / statut / description
      Previous value: -"Statut dans la langue de la réponse. / Status in the response language."New value: +"Status in the response language."
    • addedOutput schema / properties / verifiee_le
      Added value: +{
      +  "description": "When Mission Museaux last re-read the listing of the association offering the animal and found it still listed (ISO date); a freshness check, not a verification of the animal. null for Mission Museaux's own animals.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed1 schema field changed
    • changedOutput schema / properties / couleur / description
      Previous value: -"Couleur telle qu'écrite dans l'annonce. / Colour as written in the listing."New value: +"Couleur de l'annonce, traduite dans la langue de la réponse quand elle est dans le vocabulaire des couleurs, sinon telle qu'écrite. / Listing colour, translated into the response language when it is in the colour vocabulary, otherwise as written."
  3. Changed2 schema fields changed
    • changedInput schema / properties / annonce / description
      Previous value: -"Identifiant de l'annonce, ou son adresse https://missionmuseaux.fr/fiches/… / Listing id or address."New value: +"Identifiant de l'annonce, ou son adresse https://missionmuseaux.fr/fiches/… ; ou un animal à l'adoption renvoyé par chercher_adoptions (son id, ou son adresse /adoption/…). / Listing id or address, or an animal for adoption returned by chercher_adoptions (its id or address)."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "age": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "association": {
      +      "type": "string"
      +    },
      +    "association_verifiee": {
      +      "type": "boolean"
      +    },
      +    "commune": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "couleur": {
      +      "description": "Couleur telle qu'écrite dans l'annonce. / Colour as written in the listing.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "date": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "date_evenement": {
      +      "type": "string"
      +    },
      +    "departement": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "derniere_nouvelle": {
      +      "type": "string"
      +    },
      +    "derniere_observation": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "description": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "description_auteur": {
      +      "description": "« Mission Museaux » quand le texte de l'annonce est un résumé rédigé par Mission Museaux d'après l'annonce d'origine (reformulation, pas une citation) ; null quand c'est le texte de l'annonce, cité. / “Mission Museaux” when the listing text is a summary written by Mission Museaux from the original listing (a rewording, not a quotation); null when it is the listing's own text, quoted.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "distance_km": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "ententes": {
      +      "additionalProperties": {
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "espece": {
      +      "type": "string"
      +    },
      +    "frais": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "lieu": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "nom": {
      +      "type": "string"
      +    },
      +    "observations": {
      +      "type": "number"
      +    },
      +    "page_race": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "pays_mentionnes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "photo": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "photos": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "presentation": {
      +      "description": "Reformulation rédigée par Mission Museaux. / Rewording written by Mission Museaux.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "presentation_auteur": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "race": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "reserve": {
      +      "type": "boolean"
      +    },
      +    "sante": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "sexe": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "signes_distinctifs": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "statut": {
      +      "description": "Statut dans la langue de la réponse. / Status in the response language.",
      +      "type": "string"
      +    },
      +    "taille": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "titre": {
      +      "type": "string"
      +    },
      +    "traits": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "url",
      +    "espece",
      +    "race",
      +    "sexe",
      +    "lieu",
      +    "photo",
      +    "distance_km"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive safety, lowering the bar. The description still adds meaningful behavior: it summarizes the returned content classes, guarantees contact details are never returned, and notes French/English acceptance with French-default output. That privacy guarantee and language behavior go beyond the annotations.

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?

Three tight sentences, front-loaded with the core action and source tools, then returns, then the privacy note and language behavior. Every sentence carries information with no filler, though the language sentence is somewhat redundant against the schema.

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?

An output schema exists, so return values need not be spelled out, yet the description helpfully summarizes them anyway. Annotations cover safety and the schema covers parameters fully, so the definition is nearly complete; the only minor gap is no explicit statement of what happens on an invalid or expired id.

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 both 'annonce' (id or url) and 'langue' (enum fr/en, default fr). The description largely repeats this (accepts French or English; replies in French or English with langue "en"), adding little beyond the structured fields. Baseline 3 is appropriate.

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 (read) and resource (one listing or adoptable animal) in full, and explicitly distinguishes itself from siblings by naming the search tools (chercher_annonces, chercher_par_photo, chercher_adoptions) that produce the id/url it consumes. An agent can tell it apart from the search siblings immediately.

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?

Clearly states the precondition: use it after a search, with the id or url returned by one of three named search tools. This gives strong routing context. It stops short of stating when not to use it (e.g., that it only reads a single item vs. listing many), so it is not a full when/when-not.

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