list_deputies

Pack: nosdeputes-fr · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/list_deputies for the schema, then POST the same URL with its arguments for the data.

List French Assemblée nationale deputies with party, département, profession and contact details.

Parameters

NameTypeRequiredDescription
groupstringnoGroup acronym, matched against groupe_sigle. The 16th legislature uses REN (193),
departementstringnoDépartement name (matched against nom_circo) or 2-3 char code (num_deptmt), e.g. “Paris” or “75”.
legislaturestringno16 (2022–2024, default) · 15 (2017–2022) · 14 (2012–2017). No 17th exists.

Example call

Arguments

{
  "group": "LFI"
}

curl

curl -X POST https://gateway.pipeworx.io/nosdeputes-fr/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_deputies","arguments":{"group":"LFI"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('list_deputies', {
  "group": "LFI"
});

More examples

{
  "group": "LFI",
  "departement": "Paris"
}

Response shape

Always returns: deputes

FieldTypeDescription
deputesarrayDeputies, each wrapped in a depute envelope by the upstream API.
countintegerNumber of deputies returned. Present only when a filter was applied.
filtered_fromintegerTotal before filtering. Present only when a filter was applied.
filtersobjectEcho of the filters actually applied. Absent on an unfiltered call.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "deputes": {
      "type": "array",
      "description": "Deputies, each wrapped in a `depute` envelope by the upstream API.",
      "items": {
        "type": "object",
        "properties": {
          "depute": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "Deputy numeric identifier"
              },
              "slug": {
                "type": "string",
                "description": "NosDéputés URL slug"
              },
              "nom": {
                "type": "string",
                "description": "Full name"
              },
              "prenom": {
                "type": "string",
                "description": "First name"
              },
              "nom_de_famille": {
                "type": "string",
                "description": "Surname"
              },
              "sexe": {
                "type": "string",
                "description": "Gender (H/F)"
              },
              "date_naissance": {
                "type": "string",
                "description": "Birth date (YYYY-MM-DD)"
              },
              "lieu_naissance": {
                "type": "string",
                "description": "Place of birth"
              },
              "num_deptmt": {
                "type": "string",
                "description": "Département code"
              },
              "nom_circo": {
                "type": "string",
                "description": "Constituency name"
              },
              "num_circo": {
                "type": "integer",
                "description": "Constituency number"
              },
              "mandat_debut": {
                "type": "string",
                "description": "Mandate start date"
              },
              "mandat_fin": {
                "type": "string",
                "description": "Mandate end date"
              },
              "nb_mandats": {
                "type": "integer",
                "description": "Number of mandates held"
              },
              "ancien_depute": {
                "type": "integer",
                "description": "1 if the mandate has ended"
              },
              "groupe_sigle": {
                "type": "string",
                "description": "Political group acronym (REN / LFI / RN …)"
              },
              "parti_ratt_financier": {
                "type": "string",
                "description": "Party for campaign-finance attachment"
              },
              "profession": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Stated profession; null when not declared"
              },
              "place_en_hemicycle": {
                "type": "string",
                "description": "Hemicycle seat position"
              },
              "id_an": {
                "type": "string",
                "description": "Assemblée nationale identifier"
              },
              "url_an": {
                "type": "string",
                "description": "Official Assemblée profile URL"
              },
              "url_nosdeputes": {
                "type": "string",
                "description": "NosDéputés profile URL"
              },
              "url_nosdeputes_api": {
                "type": "string",
                "description": "NosDéputés API URL"
              },
              "twitter": {
                "type": "string",
                "description": "Twitter handle"
              },
              "emails": {
                "type": "array",
                "description": "Contact emails",
                "items": {}
              },
              "adresses": {
                "type": "array",
                "description": "Contact addresses",
                "items": {}
              },
              "sites_web": {
                "type": "array",
                "description": "Personal websites",
                "items": {}
              },
              "collaborateurs": {
                "type": "array",
                "description": "Parliamentary assistants",
                "items": {}
              },
              "autres_mandats": {
                "type": "array",
                "description": "Other current mandates",
                "items": {}
              },
              "anciens_mandats": {
                "type": "array",
                "description": "Past mandates",
                "items": {}
              },
              "anciens_autres_mandats": {
                "type": "array",
                "description": "Other past mandates",
                "items": {}
              }
            }
          }
        }
      }
    },
    "count": {
      "type": "integer",
      "description": "Number of deputies returned. Present only when a filter was applied."
    },
    "filtered_from": {
      "type": "integer",
      "description": "Total before filtering. Present only when a filter was applied."
    },
    "filters": {
      "type": "object",
      "description": "Echo of the filters actually applied. Absent on an unfiltered call."
    }
  },
  "required": [
    "deputes"
  ]
}

Connect

Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://pipeworx.io/mcp"
    }
  }
}
Connect to just the nosdeputes-fr pack
{
  "mcpServers": {
    "nosdeputes-fr": {
      "url": "https://gateway.pipeworx.io/nosdeputes-fr/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build October 5, 2026