@pipeworx/us-race-matchups
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/us-race-matchups’s. Install: one-click buttons
Connect to just the @pipeworx/us-race-matchups pack
https://gateway.pipeworx.io/us-race-matchups/mcp — only @pipeworx/us-race-matchups’s own tools, nothing else in the catalog.
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 2
Who is on the ballot in a US House district or Senate seat: the incumbent, every FEC-registered candidate by party with the money behind them, which of them won a primary, and the primary and general election dates. Built for the 2026 midterms (general election 3 November 2026); works for any even cycle.
Tools
race_matchup(state, office, district?, cycle?, special?)— one race. Returns the incumbent, candidates (party, incumbent status, total receipts, disbursements, cash on hand, the date each candidate’s money runs through,won_primary), primary result tables with vote counts and share, and the primary, runoff and general election dates. A district with no candidates returns an error naming the districts that do have candidates; a state with no Senate race that cycle says so; a race with no primary table says so inprimary_results_noteinstead of returning an empty list.list_races(state, office?, cycle?)— every race in a state with how many candidates registered and who the incumbent is. Use it to find a district number.
Auth
Platform key (the shared data.gov key the gateway already holds for the FEC pack). Callers pass nothing.
Data sources
- FEC, candidate and committee filings — candidates, party, incumbent status, receipts, disbursements, cash on hand. Federal public record.
- FEC, election calendar — primary, runoff and general election dates.
- Wikipedia, 2026 race pages — primary vote counts and which candidates advanced. This is a volunteer-compiled source, not an official one; every response labels it and lists the state election authority the page cites (for example “Iowa Secretary of State”). Treat primary numbers as a convenience and check the state authority for anything that matters.
Notes the next person would otherwise rediscover:
- The FEC money view omits registrants with no financial summary on file; those appear with
financials_on_file: falseand null money (null, not zero). won_primaryis INFERRED, not an id join: the primary table carries no FEC ids, so filers are matched by surname and party, narrowed by given name when several fit.won_primary_matchsays how (inferred_by_surname_and_party,no_match,ambiguous); when two filers cannot be told apartwon_primaryisnull.nullwith no match field means no primary table was found.incumbentis the sitting officeholder as the FEC flags them, not necessarily someone on the ballot. Readseeking_reelectionandincumbent_note: when the FEC classifies every filer as “Open seat” the incumbent is not a candidate.- One person can hold several FEC candidate ids.
race_matchupfolds them into one candidate (main row = registration with the latest filing; the rest underother_fec_registrations, money not summed);list_racescounts people, not ids. - FEC lists some candidates’ coverage dates in the future; those are shown as null and excluded from
data_as_of. - Large states split their Wikipedia coverage across sub-pages by district range (California); the pack follows the link.
- Ohio and Florida have both a regular and a special Senate election in 2026. FEC groups them under the state;
special: truereads the special election’s primary page. - No home addresses or other individual contact details are served.
Tools
- race_matchup — One US House district or Senate seat: who the sitting officeholder is (incumbent, with seeking_reelection and incumbent_note saying whether they are actually on the ballot or the seat is open), every
- list_races — Every federal race in a state for a cycle (the Senate seat if any, and each House district) with how many distinct people registered with the FEC and who the sitting officeholder is (incumbent; incumb
Tools
list_races— Every federal race in a state for a cycle (the Senate seat if any, and each House district) with how many distinct people registered with the FEC and who the sitting officeholder is (incumbent; incumbrace_matchup— One US House district or Senate seat: who the sitting officeholder is (incumbent, with seeking_reelection and incumbent_note saying whether they are actually on the ballot or the seat is open), every