get_members

Pack: propublica-congress · Endpoint: https://gateway.pipeworx.io/propublica-congress/mcp

List members of a chamber of Congress. Returns name, party, state, district, vote attendance, and party loyalty percentage. Example: get_members(“senate”, 118).

Parameters

NameTypeRequiredDescription
_apiKeystringyesProPublica Congress API key
chamberstringyesChamber: “senate” or “house”
congressnumbernoCongress number (default: 118). 118th Congress is 2023-2025.

Example call

Arguments

{
  "_apiKey": "your-propublica-congress-api-key",
  "chamber": "senate",
  "congress": 118
}

curl

curl -X POST https://gateway.pipeworx.io/propublica-congress/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_members","arguments":{"_apiKey":"your-propublica-congress-api-key","chamber":"senate","congress":118}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('get_members', {
  "_apiKey": "your-propublica-congress-api-key",
  "chamber": "senate",
  "congress": 118
});

More examples

{
  "_apiKey": "your-propublica-congress-api-key",
  "chamber": "house"
}

Response shape

Always returns: congress, chamber, count, members

FieldTypeDescription
congressnumberCongress number
chamberstringChamber (senate or house)
countnumberNumber of members returned
membersarrayList of members
Full JSON Schema
{
  "type": "object",
  "properties": {
    "congress": {
      "type": "number",
      "description": "Congress number"
    },
    "chamber": {
      "type": "string",
      "description": "Chamber (senate or house)"
    },
    "count": {
      "type": "number",
      "description": "Number of members returned"
    },
    "members": {
      "type": "array",
      "description": "List of members",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Member ID"
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Full name"
          },
          "party": {
            "type": [
              "string",
              "null"
            ],
            "description": "Political party"
          },
          "state": {
            "type": [
              "string",
              "null"
            ],
            "description": "State abbreviation"
          },
          "district": {
            "type": [
              "string",
              "null"
            ],
            "description": "Congressional district"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Short title (Senator, Representative)"
          },
          "gender": {
            "type": [
              "string",
              "null"
            ],
            "description": "Gender"
          },
          "in_office": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Currently in office"
          },
          "next_election": {
            "type": [
              "string",
              "null"
            ],
            "description": "Next election year"
          },
          "missed_votes_pct": {
            "type": [
              "number",
              "null"
            ],
            "description": "Percentage of votes missed"
          },
          "votes_with_party_pct": {
            "type": [
              "number",
              "null"
            ],
            "description": "Percentage of votes with party"
          },
          "url": {
            "type": [
              "string",
              "null"
            ],
            "description": "Official URL"
          },
          "phone": {
            "type": [
              "string",
              "null"
            ],
            "description": "Phone number"
          },
          "twitter": {
            "type": [
              "string",
              "null"
            ],
            "description": "Twitter account handle"
          }
        }
      }
    }
  },
  "required": [
    "congress",
    "chamber",
    "count",
    "members"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "propublica-congress": {
      "url": "https://gateway.pipeworx.io/propublica-congress/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build May 9, 2026