ZBS Index What actually exists in applied AI, with the source next to it

mcp server

openfec-mcp-server

Access FEC campaign finance data. Query data about candidates, money trails, and election filings.

Description as published by the maintainer. Source

  • version 0.7.1
  • active

active — Most recent push to the repository was 2026-07-26.

What this server can do

12 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.

openfec_get_committee_totals(mode, page, sort, cycle, per_page, entity_type, committee_id, max_receipts, min_receipts, committee_type, committee_state, max_disbursements, min_disbursements, organization_type, committee_designation)
Get pre-aggregated committee financial totals — receipts, disbursements, cash on hand, debts, and the itemized/unitemized breakdown — without paginating Schedule A. Use mode "single" (the default) with a committee_id for one committee's totals, one row per two-year cycle it has filed. Use mode "by_entity_type" to rank or screen every committee of one type (presidential, pac, party, pac-party, house-senate, ie-only) by state, designation, or a receipts/disbursements threshold.
openfec_get_legal_document(no, doc_type)
Fetch one FEC legal document in full — advisory opinion, MUR, ADR, administrative fine, or statute — by its type and number. openfec_search_legal replaces each result's documents array with a count and category summary and cuts every commission vote down to a date and a 200-character action; this returns the record untouched. doc_type is the plural form of the document_type discriminator on a search result (advisory_opinion becomes advisory_opinions, mur becomes murs, adr becomes adrs, admin_fine becomes admin_fines, statute becomes statutes), and no is that result's no field — every document type carries it, and advisory opinions repeat it as ao_no. Required: doc_type, no.
openfec_lookup_calendar(mode, page, state, office, category, max_date, min_date, per_page, description, report_type, report_year, election_year)
Look up FEC calendar events, filing deadlines, and election dates. Use to find upcoming filing windows for a committee, locate when a federal election occurred, or scope FEC events by date range and category.
openfec_lookup_elections(zip, mode, page, cycle, state, office, district, per_page, election_full)
Look up federal election races and candidate financial summaries. Find who's running in a race with fundraising totals, or get an aggregate race summary. Required: office, cycle.
openfec_search_candidates(page, cycle, party, query, state, office, district, per_page, candidate_id, election_year, include_totals, candidate_status, has_raised_funds, incumbent_challenge)
Find federal candidates by name, state, office, party, or cycle. Retrieve a specific candidate by FEC ID with financial totals. Candidate IDs start with H (House), S (Senate), or P (President) followed by digits.
openfec_search_committees(page, cycle, party, query, state, per_page, designation, candidate_id, committee_id, committee_type, treasurer_name)
Find political committees (campaign, PAC, Super PAC, party) by name, type, candidate affiliation, or state. Retrieve a specific committee by FEC ID. Committee IDs start with C followed by digits (e.g., C00358796).
openfec_search_contributions(mode, page, sort, cycle, cursor, max_date, min_date, per_page, max_amount, min_amount, candidate_id, committee_id, is_individual, contributor_zip, contributor_city, contributor_name, contributor_state, contributor_employer, contributor_occupation)
Search itemized individual contributions (Schedule A) or get aggregate breakdowns by size, state, employer, or occupation. Use to answer "who is funding this committee?" Itemized mode requires a committee_id. Aggregate by_size/by_state can use candidate_id instead.
openfec_search_coordinated_expenditures(page, sort, cycle, max_date, min_date, per_page, max_amount, min_amount, payee_name, candidate_id, committee_id)
Search coordinated party expenditures (Schedule F) — spending a party committee makes on behalf of a candidate it supports, in coordination with that campaign. Distinct from independent expenditures (openfec_search_expenditures), which cannot be coordinated with the candidate, and from direct contributions: coordinated expenditures carry their own statutory limits and can run into tens of millions per party in a presidential cycle. Scope with a spending committee_id, a benefiting candidate_id, or a cycle; unscoped queries span all years.
openfec_search_disbursements(mode, page, sort, cycle, cursor, max_date, min_date, per_page, max_amount, min_amount, committee_id, recipient_city, recipient_name, recipient_state, recipient_committee_id, disbursement_description, disbursement_purpose_category)
Search itemized committee spending (Schedule B) or get aggregate breakdowns by purpose or recipient. All modes require a committee_id. Use to answer "what is this committee spending money on?" or "who is receiving payments from this committee?" Required: committee_id.
openfec_search_expenditures(mode, page, sort, cycle, cursor, max_date, min_date, per_page, is_notice, max_amount, min_amount, payee_name, most_recent, candidate_id, committee_id, support_oppose, candidate_party, candidate_office, candidate_office_state, candidate_office_district)
Search independent expenditures (Schedule E) — outside spending supporting or opposing federal candidates. Covers Super PACs, party committees, and other groups. Use itemized mode for individual expenditure records, or by_candidate for aggregated totals per candidate; by_candidate needs either a candidate_id or a full race scope (candidate_office alone for President, plus candidate_office_state for Senate, plus candidate_office_district as well for House).
openfec_search_filings(page, cycle, per_page, form_type, filer_name, is_amended, most_recent, report_type, report_year, candidate_id, committee_id, max_receipt_date, min_receipt_date)
Search FEC filings and reports by committee, candidate, form type, or date range. Covers financial reports (F3/F3P/F3X), statements of candidacy (F2), organizational filings (F1), 24-hour IE notices (F24), and amendments.
openfec_search_legal(type, query, from_hit, max_date, min_date, ao_number, date_kind, respondent, case_number, hits_returned, max_penalty_amount, min_penalty_amount, statutory_citation, regulatory_citation)
Search FEC legal documents: advisory opinions, enforcement cases (MURs), alternative dispute resolutions, and administrative fines.

Last successful function declaration observed on . Source: https://openfec.caseyjhand.com/mcp. We list what the server declared; we do not call any of these functions.

Endpoint status observed on . Source: https://openfec.caseyjhand.com/mcp.

Signals

These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.

Signal Value What it measures Window Observed Source
GitHub stars 2 Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. cumulative, all time GitHub
Last commit 2026-07-26 Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. point in time GitHub
Open issues 0 Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. as of fetch GitHub
Latest published version 0.7.1 Latest version string the maintainer published to the registry. as of fetch Model Context Protocol
Registry record last updated 2026-07-26 When the registry record was last updated by its maintainer. point in time Model Context Protocol
License Apache-2.0 Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. as of fetch GitHub
First listed in the MCP Registry 2026-07-26 Date this server was first published to the official MCP Registry. Not a usage or quality measure. point in time Model Context Protocol
repository status active The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. as of fetch GitHub
mcp tools declared 12 tools Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. as of probe openfec.caseyjhand.com
mcp endpoint status ok The server listed 12 functions when asked. as of probe openfec.caseyjhand.com

Where to get it

Related, by what their authors tagged them

These share tags the maintainers applied themselves, such as cyanheads. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.

This is not a recommendation and not a test result. It is a map of what the authors said their work is about.

Also from cyanheads

How the author describes it

Topics the maintainer set on GitHub: ai-agent, campaign-finance, cyanheads, elections, fec, federal-elections, mcp, mcp-server, model-context-protocol, openfec, political-contributions, typescript.

This record as data

Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.

GET /api/v1/entries/mcp_server.json

Sources

  1. cyanheads/openfec-mcp-server on GitHub — GitHub, observed , trust tier 3.
  2. Tools declared by the MCP server at https://openfec.caseyjhand.com/mcp — openfec.caseyjhand.com, observed , trust tier 4.
  3. Official MCP Registry — Model Context Protocol, observed , trust tier 1.