roll_call_positions

Pack: congress-member-votes · 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/roll_call_positions for the schema, then POST the same URL with its arguments for the data.

ANSWERS “who voted against roll call 100”, “how did Texas Republicans split on roll 250”, “how many Democrats voted Yea” — every House member’s position on ONE roll call from the U.S. House Clerk’s roll-call votes, with Yea/Nay/Present/Not Voting tallies by party. Pass party (D/R/I), state or position (yea/nay/present/not_voting) to list matching members; with none of these only the tallies and the roll’s question, result and bill are returned. A roll number that does not exist in that session returns a named reason.

Parameters

NameTypeRequiredDescription
roll_numbernumberyesRoll call number within the session, e.g. 100.
partystringno”D”, “R” or “I” to list only that party.
statestringnoTwo-letter state code to list only that state’s members.
positionstringnoyea, nay, present or not_voting.

Example call

Arguments

{
  "roll_number": 100,
  "congress": 119,
  "session": 1,
  "party": "R",
  "position": "nay"
}

curl

curl -X POST https://gateway.pipeworx.io/congress-member-votes/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"roll_call_positions","arguments":{"roll_number":100,"congress":119,"session":1,"party":"R","position":"nay"}}}'

TypeScript (@pipeworx/sdk)

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

const result = await pipeworx.call('roll_call_positions', {
  "roll_number": 100,
  "congress": 119,
  "session": 1,
  "party": "R",
  "position": "nay"
});

Response shape

FieldTypeDescription
foundboolean
sourcestring
chamberstring
congressnumber
sessionnumber
data_as_ofstring
rolls_coveredobject
live_topupobject
rollobject
members_on_rollnumber
tallies_by_partyobject
matching_membersnumber
membersarray
Full JSON Schema
{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "source": {
      "type": "string"
    },
    "chamber": {
      "type": "string"
    },
    "congress": {
      "type": "number"
    },
    "session": {
      "type": "number"
    },
    "data_as_of": {
      "type": "string"
    },
    "rolls_covered": {
      "type": "object",
      "properties": {
        "first": {
          "type": "number"
        },
        "last": {
          "type": "number"
        },
        "count": {
          "type": "number"
        }
      },
      "additionalProperties": true
    },
    "live_topup": {
      "type": "object",
      "properties": {
        "rolls_added_beyond_stored_table": {
          "type": "number"
        },
        "stored_table_through_roll": {
          "type": "number"
        }
      },
      "additionalProperties": true
    },
    "roll": {
      "type": "object",
      "properties": {
        "roll_number": {
          "type": "number"
        },
        "date": {
          "type": "string"
        },
        "bill": {
          "type": "string"
        },
        "question": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "vote_type": {
          "type": "string"
        },
        "result": {
          "type": "string"
        },
        "kind": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "members_on_roll": {
      "type": "number"
    },
    "tallies_by_party": {
      "type": "object",
      "properties": {
        "R": {
          "type": "object",
          "properties": {
            "Yea": {
              "type": "number"
            },
            "Nay": {
              "type": "number"
            },
            "Present": {
              "type": "number"
            },
            "Not Voting": {
              "type": "number"
            },
            "Candidate-name vote": {
              "type": "number"
            }
          },
          "additionalProperties": true
        },
        "D": {
          "type": "object",
          "properties": {
            "Yea": {
              "type": "number"
            },
            "Nay": {
              "type": "number"
            },
            "Present": {
              "type": "number"
            },
            "Not Voting": {
              "type": "number"
            },
            "Candidate-name vote": {
              "type": "number"
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "matching_members": {
      "type": "number"
    },
    "members": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "bioguide_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "party": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "position": {
            "type": "string"
          }
        },
        "additionalProperties": true
      }
    }
  },
  "additionalProperties": true
}

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 congress-member-votes pack
{
  "mcpServers": {
    "congress-member-votes": {
      "url": "https://gateway.pipeworx.io/congress-member-votes/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build October 23, 2026