Skip to main content
Glama

Get Deputy

get_deputy
Read-onlyIdempotent

Deputy profile by slug or numeric id.

Input Schema

NameRequiredDescriptionDefault
slug_or_idYesNosDéputés slug or numeric id
legislatureNo

Output Schema

NameRequiredDescriptionDefault
deputeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changed
    • removedOutput schema / properties / circonscription
      Removed value: -{
      -  "description": "Constituency number",
      -  "type": "number"
      -}
    • removedOutput schema / properties / date_debut_mandat
      Removed value: -{
      -  "description": "Term start date",
      -  "type": "string"
      -}
    • removedOutput schema / properties / date_fin_mandat
      Removed value: -{
      -  "description": "Term end date",
      -  "type": "string"
      -}
    • removedOutput schema / properties / date_naissance
      Removed value: -{
      -  "description": "Birth date (YYYY-MM-DD)",
      -  "type": "string"
      -}
    • removedOutput schema / properties / departement
      Removed value: -{
      -  "description": "Département code",
      -  "type": "string"
      -}
    • addedOutput schema / properties / depute
      Added value: +{
      +  "properties": {
      +    "adresses": {
      +      "items": {
      +        "properties": {
      +          "adresse": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "ancien_depute": {
      +      "type": "number"
      +    },
      +    "anciens_autres_mandats": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "anciens_mandats": {
      +      "items": {
      +        "properties": {
      +          "mandat": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "autres_mandats": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "collaborateurs": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "date_naissance": {
      +      "type": "string"
      +    },
      +    "emails": {
      +      "items": {
      +        "properties": {
      +          "email": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "groupe": {
      +      "properties": {
      +        "debut_fonction": {
      +          "type": "string"
      +        },
      +        "fonction": {
      +          "type": "string"
      +        },
      +        "organisme": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "groupe_sigle": {
      +      "type": "string"
      +    },
      +    "groupes_parlementaires": {
      +      "items": {
      +        "properties": {
      +          "responsabilite": {
      +            "properties": {
      +              "debut_fonction": {
      +                "type": "string"
      +              },
      +              "fonction": {
      +                "type": "string"
      +              },
      +              "organisme": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "historique_responsabilites": {
      +      "items": {
      +        "properties": {
      +          "responsabilite": {
      +            "properties": {
      +              "debut_fonction": {
      +                "type": "string"
      +              },
      +              "fin_fonction": {
      +                "type": "string"
      +              },
      +              "fonction": {
      +                "type": "string"
      +              },
      +              "organisme": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "id": {
      +      "type": "number"
      +    },
      +    "id_an": {
      +      "type": "string"
      +    },
      +    "lieu_naissance": {
      +      "type": "string"
      +    },
      +    "mandat_debut": {
      +      "type": "string"
      +    },
      +    "mandat_fin": {
      +      "type": "string"
      +    },
      +    "nb_mandats": {
      +      "type": "number"
      +    },
      +    "nom": {
      +      "type": "string"
      +    },
      +    "nom_circo": {
      +      "type": "string"
      +    },
      +    "nom_de_famille": {
      +      "type": "string"
      +    },
      +    "num_circo": {
      +      "type": "number"
      +    },
      +    "num_deptmt": {
      +      "type": "string"
      +    },
      +    "parti_ratt_financier": {
      +      "type": "string"
      +    },
      +    "place_en_hemicycle": {
      +      "type": "string"
      +    },
      +    "prenom": {
      +      "type": "string"
      +    },
      +    "profession": {
      +      "type": "string"
      +    },
      +    "responsabilites": {
      +      "items": {
      +        "properties": {
      +          "responsabilite": {
      +            "properties": {
      +              "debut_fonction": {
      +                "type": "string"
      +              },
      +              "fonction": {
      +                "type": "string"
      +              },
      +              "organisme": {
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "responsabilites_extra_parlementaires": {
      +      "items": {},
      +      "type": "array"
      +    },
      +    "sexe": {
      +      "type": "string"
      +    },
      +    "sites_web": {
      +      "items": {
      +        "properties": {
      +          "site": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "slug": {
      +      "type": "string"
      +    },
      +    "twitter": {
      +      "type": "string"
      +    },
      +    "url_an": {
      +      "type": "string"
      +    },
      +    "url_nosdeputes": {
      +      "type": "string"
      +    },
      +    "url_nosdeputes_api": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedOutput schema / properties / email
      Removed value: -{
      -  "description": "Contact email",
      -  "type": "string"
      -}
    • removedOutput schema / properties / groupe
      Removed value: -{
      -  "description": "Political group acronym",
      -  "type": "string"
      -}
    • removedOutput schema / properties / id
      Removed value: -{
      -  "description": "Deputy numeric identifier",
      -  "type": "number"
      -}
    • removedOutput schema / properties / nb_mandats
      Removed value: -{
      -  "description": "Number of terms served",
      -  "type": "number"
      -}
    • removedOutput schema / properties / nom
      Removed value: -{
      -  "description": "Last name",
      -  "type": "string"
      -}
    • removedOutput schema / properties / photo_url
      Removed value: -{
      -  "description": "Deputy photo URL",
      -  "type": "string"
      -}
    • removedOutput schema / properties / place_hemicycle
      Removed value: -{
      -  "description": "Hemicycle seat position",
      -  "type": "string"
      -}
    • removedOutput schema / properties / prenom
      Removed value: -{
      -  "description": "First name",
      -  "type": "string"
      -}
    • removedOutput schema / properties / profession
      Removed value: -{
      -  "description": "Professional background",
      -  "type": "string"
      -}
    • removedOutput schema / properties / sexe
      Removed value: -{
      -  "description": "Gender (M/F)",
      -  "type": "string"
      -}
    • removedOutput schema / properties / slug
      Removed value: -{
      -  "description": "NosDéputés URL slug",
      -  "type": "string"
      -}
    • removedOutput schema / properties / twitter
      Removed value: -{
      -  "description": "Twitter handle",
      -  "type": "string"
      -}
    • removedOutput schema / properties / url_assemblee
      Removed value: -{
      -  "description": "Official Assemblée website URL",
      -  "type": "string"
      -}
    • removedOutput schema / properties / url_nosdeputes
      Removed value: -{
      -  "description": "Full NosDéputés profile URL",
      -  "type": "string"
      -}
  2. Changed1 schema field changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "slug_or_id": "jean-paul-dupont"
      -  },
      -  {
      -    "legislature": "16",
      -    "slug_or_id": "12345"
      -  }
      -]New value: +[
      +  {
      +    "slug_or_id": "thibault-bazin"
      +  },
      +  {
      +    "legislature": "16",
      +    "slug_or_id": "1"
      +  }
      +]
  3. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "slug_or_id": "jean-paul-dupont"
      +  },
      +  {
      +    "legislature": "16",
      +    "slug_or_id": "12345"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "circonscription": {
      +      "description": "Constituency number",
      +      "type": "number"
      +    },
      +    "date_debut_mandat": {
      +      "description": "Term start date",
      +      "type": "string"
      +    },
      +    "date_fin_mandat": {
      +      "description": "Term end date",
      +      "type": "string"
      +    },
      +    "date_naissance": {
      +      "description": "Birth date (YYYY-MM-DD)",
      +      "type": "string"
      +    },
      +    "departement": {
      +      "description": "Département code",
      +      "type": "string"
      +    },
      +    "email": {
      +      "description": "Contact email",
      +      "type": "string"
      +    },
      +    "groupe": {
      +      "description": "Political group acronym",
      +      "type": "string"
      +    },
      +    "id": {
      +      "description": "Deputy numeric identifier",
      +      "type": "number"
      +    },
      +    "nb_mandats": {
      +      "description": "Number of terms served",
      +      "type": "number"
      +    },
      +    "nom": {
      +      "description": "Last name",
      +      "type": "string"
      +    },
      +    "photo_url": {
      +      "description": "Deputy photo URL",
      +      "type": "string"
      +    },
      +    "place_hemicycle": {
      +      "description": "Hemicycle seat position",
      +      "type": "string"
      +    },
      +    "prenom": {
      +      "description": "First name",
      +      "type": "string"
      +    },
      +    "profession": {
      +      "description": "Professional background",
      +      "type": "string"
      +    },
      +    "sexe": {
      +      "description": "Gender (M/F)",
      +      "type": "string"
      +    },
      +    "slug": {
      +      "description": "NosDéputés URL slug",
      +      "type": "string"
      +    },
      +    "twitter": {
      +      "description": "Twitter handle",
      +      "type": "string"
      +    },
      +    "url_assemblee": {
      +      "description": "Official Assemblée website URL",
      +      "type": "string"
      +    },
      +    "url_nosdeputes": {
      +      "description": "Full NosDéputés profile URL",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already establish a safe, idempotent read (readOnlyHint, idempotentHint, destructiveHint false), so the description does not need to repeat those. It adds no independent behavioral detail such as missing-obj handling or scope limits, but it also does not contradict anything.

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?

A single, front-loaded sentence with no filler; every word adds meaning. The key input mode (slug or numeric id) is presented immediately.

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 read-only get-by-identifier tool with an output schema and strong annotations, the description is close to sufficient. The main gap is the unexplained optional legislature parameter and the absence of explicit routing relative to similar sibling tools.

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 schema documents slug_or_id as 'NosDéputés slug or numeric id', and the description only restates that. The optional legislature parameter has no description in the schema and is not addressed in the description, leaving its meaning and formatting to inference from the example.

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 states a specific resource ('Deputy profile') and lookup mechanism ('by slug or numeric id'), which clearly distinguishes it from list-oriented siblings like list_deputies and generic lookups. It says exactly what the operation returns.

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?

It implies the tool should be used when a specific deputy's profile is needed and an identifier is available by mentioning slug or numeric id. However, it never explicitly names alternatives like entity_profile or list_deputies or states when not to use them.

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.