Us Race Matchups
liveGovernmentUS race matchups — one call per federal race: who holds the seat, who is running, which of them won a primary, and how much money is behind each.
Tools
race_matchupOne US House district or Senate seat: who the incumbent is, every FEC-registered candidate by party with money raised/spent/cash on hand, which candidates won their primary, primary and general electi
No parameters required.
Try it
list_racesEvery federal race in a state for a cycle (the Senate seat if any, and each House district) with how many candidates registered with the FEC and who the incumbent is. Use it to find the district numbe
No parameters required.
Try it
Test with curl
The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.
curl -X POST https://gateway.pipeworx.io/us-race-matchups/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://gateway.pipeworx.io/us-race-matchups/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"race_matchup","arguments":{}}}'Use with the SDK
Install @pipeworx/sdk to call tools from any TypeScript/Node project.
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("race_matchup", {});// Or ask in plain English:
const answer = await px.ask("us race matchups — one call per federal race: who holds the seat, who is running, which of them won a primary, and how much money is behind each");