Get Deputy
get_deputyDeputy profile by slug or numeric id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug_or_id | Yes | NosDéputés slug or numeric id | |
| legislature | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| depute | No |
get_deputyDeputy profile by slug or numeric id.
| Name | Required | Description | Default |
|---|---|---|---|
| slug_or_id | Yes | NosDéputés slug or numeric id | |
| legislature | No |
| Name | Required | Description | Default |
|---|---|---|---|
| depute | No |
Changes observed during successful MCP inspections.
Output schema / properties / circonscriptionRemoved value: -{
- "description": "Constituency number",
- "type": "number"
-}Output schema / properties / date_debut_mandatRemoved value: -{
- "description": "Term start date",
- "type": "string"
-}Output schema / properties / date_fin_mandatRemoved value: -{
- "description": "Term end date",
- "type": "string"
-}Output schema / properties / date_naissanceRemoved value: -{
- "description": "Birth date (YYYY-MM-DD)",
- "type": "string"
-}Output schema / properties / departementRemoved value: -{
- "description": "Département code",
- "type": "string"
-}Output schema / properties / deputeAdded 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"
+}Output schema / properties / emailRemoved value: -{
- "description": "Contact email",
- "type": "string"
-}Output schema / properties / groupeRemoved value: -{
- "description": "Political group acronym",
- "type": "string"
-}Output schema / properties / idRemoved value: -{
- "description": "Deputy numeric identifier",
- "type": "number"
-}Output schema / properties / nb_mandatsRemoved value: -{
- "description": "Number of terms served",
- "type": "number"
-}Output schema / properties / nomRemoved value: -{
- "description": "Last name",
- "type": "string"
-}Output schema / properties / photo_urlRemoved value: -{
- "description": "Deputy photo URL",
- "type": "string"
-}Output schema / properties / place_hemicycleRemoved value: -{
- "description": "Hemicycle seat position",
- "type": "string"
-}Output schema / properties / prenomRemoved value: -{
- "description": "First name",
- "type": "string"
-}Output schema / properties / professionRemoved value: -{
- "description": "Professional background",
- "type": "string"
-}Output schema / properties / sexeRemoved value: -{
- "description": "Gender (M/F)",
- "type": "string"
-}Output schema / properties / slugRemoved value: -{
- "description": "NosDéputés URL slug",
- "type": "string"
-}Output schema / properties / twitterRemoved value: -{
- "description": "Twitter handle",
- "type": "string"
-}Output schema / properties / url_assembleeRemoved value: -{
- "description": "Official Assemblée website URL",
- "type": "string"
-}Output schema / properties / url_nosdeputesRemoved value: -{
- "description": "Full NosDéputés profile URL",
- "type": "string"
-}Input schema / examplesPrevious 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"
+ }
+]Input schema / examplesAdded value: +[
+ {
+ "slug_or_id": "jean-paul-dupont"
+ },
+ {
+ "legislature": "16",
+ "slug_or_id": "12345"
+ }
+]Output 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"
+}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.
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.
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.
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.
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.
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.
Add one secure layer between your agents and this server.