Us Race Matchups

liveGovernment

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.

2tools
0msauth
free tier50 calls/day

Tools

race_matchup

One 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_races

Every 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.

List available tools
bash
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"}'
Call a tool
bash
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.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("race_matchup", {});
ask_pipeworx
// 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");