accueil / serveurs / Recherche & Web / io.github.cyanheads/openfec-mcp-server
io.github.cyanheads/openfec-mcp-server
serveur MCP (Model Context Protocol) · openfec-mcp-server 0.9.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.cyanheads/openfec-mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.cyanheads/openfec-mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 12 outils
- openfec_get_committee_totals≈ 2003 tokens
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.
Paramètres, retour & exemple (15)
Paramètresmode· string · optionnel · single | by_entity_type
Query mode. "single" returns one committee's totals, one row per cycle. "by_entity_type" returns a page of committees of one entity type, filterable and sortable across committees.page· integer · optionnel
Page number (1-indexed). Read pagination.pages in the response to see how many pages exist — a long-running committee can have more cycles than one page holds.sort· string · optionnel · cycle | -cycle | receipts | -receipts | disbursements | -disbursements | last_cash_on_hand_end_period | -last_cash_on_hand_end_period
Sort field. A "-" prefix sorts descending: "-receipts" ranks the biggest fundraisers first in by_entity_type mode, "-cycle" puts a committee's most recent cycle first in single mode.cycle· number · optionnel
Two-year election cycle (e.g., 2024). Even years only. Omit in single mode to get every cycle the committee has filed.per_page· integer · optionnel
Results per page.entity_type· string · optionnel · presidential | pac | party | pac-party | house-senate | ie-only
Committee entity type for the grouped search. Required in by_entity_type mode. house-senate covers both chambers as one group; ie-only is committees that report only independent expenditures.committee_id· string · optionnel
Committee ID (e.g., C00703975). Get IDs from openfec_search_committees results. Required in single mode; in by_entity_type mode it narrows the grouped search to that one committee.max_receipts· number · optionnel
Maximum total receipts in dollars. by_entity_type mode only.min_receipts· number · optionnel
Minimum total receipts in dollars. by_entity_type mode only.committee_type· string · optionnel
Committee type code — H (House), S (Senate), P (Presidential), O (Super PAC), N/Q (PAC), X/Y (party). by_entity_type mode only.committee_state· string · optionnel
Two-letter state code of the committee. by_entity_type mode only.max_disbursements· number · optionnel
Maximum total disbursements in dollars. by_entity_type mode only.min_disbursements· number · optionnel
Minimum total disbursements in dollars. by_entity_type mode only.organization_type· string · optionnel
Sponsoring organization type — C (corporation), L (labor), M (membership), T (trade), V (cooperative), W (corporation without capital stock). by_entity_type mode only.committee_designation· string · optionnel
Committee designation — A (authorized), B (lobbyist PAC), D (leadership PAC), J (joint fundraiser), P (principal campaign), U (unauthorized). by_entity_type mode only.
Exemple d'appel{"name": "openfec_get_committee_totals", "arguments": {"mode": "single", "page": 1, "sort": "cycle", "cycle": 1, "per_page": 1, "entity_type": "presidential"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"mode": "single", "error": {}, "notice": "texte", "results": [], "pagination": {}, "totalCount": 1, "search_criteria": {}}} - openfec_get_legal_document≈ 1759 tokens
Fetch one FEC legal document — advisory opinion, MUR, ADR, administrative fine, or statute — by its type and number. openfec_search_legal replaces each result's documents and dispositions arrays with a count and category summary and cuts every commission vote down to a date and a 200-character action; this returns the record as upstream sends it, whole when it fits the 100,000-byte response budget. A larger record returns its scalar fields and the arrays that fit, with the rest listed in withheld; page through one by re-calling with array and offset. 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.
Paramètres, retour & exemple (4)
Paramètresno· string · requis
Document number, copied from the no field of the matching openfec_search_legal result. Advisory opinions are year-serial (e.g. "2024-01", also repeated as ao_no); murs, adrs, and admin_fines are digit strings (e.g. "8363"); statutes are U.S. Code section numbers (e.g. "30123").array· string · optionnel
Name of one top-level array field of the record to page through by entry — usually one listed in withheld when the record was too large to return whole (e.g. "dispositions", "documents"). Returns that array's entries from offset while they fit the response budget, in slice, with the record's scalar fields. Omit to fetch the record itself.offset· integer · optionnel
Entry offset (0-indexed) into array. Requires array; defaults to 0 when array is given. Pass the next_offset a previous slice returned to continue.doc_type· string · requis · advisory_opinions | murs | adrs | admin_fines | statutes
Legal document type, always plural. openfec_search_legal reports the singular form in each result document_type — advisory_opinion, mur, adr, admin_fine, statute — so add an "s" to get the value this field wants.
Exemple d'appel{"name": "openfec_get_legal_document", "arguments": {"no": "texte", "doc_type": "advisory_opinions"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "slice": {}, "notice": "texte", "document": {}, "withheld": [], "search_criteria": {}, "attachedDocumentCount": 1}} - openfec_lookup_calendar≈ 1576 tokens
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.
Paramètres, retour & exemple (13)
Paramètresmode· string · optionnel · events | filing_deadlines | election_dates
events = FEC calendar events. filing_deadlines = report due dates. election_dates = upcoming/past elections.page· integer · optionnel
Page number (1-indexed). Default 1.state· string · optionnel
Two-letter state code (e.g., AZ, CA). Primarily for election_dates mode.office· string · optionnel · H | S | P
Office sought (H=House, S=Senate, P=President). Election dates mode.category· string · optionnel · 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27
Calendar category ID. 20=Commission Meetings, 21=Reporting Deadlines, 22=Conferences and Outreach, 23=AOs and Rules, 24=Other, 25=Quarterly, 26=Monthly, 27=Pre and Post-Elections, 28=EC Periods, 29=IE Periods, 32=Open Meetings, 33=Conferences, 34=Roundtables, 36=Election Dates, 37=Federal Holidays, 38=FEA Periods, 39=Executive Sessions, 40=Public Hearings. Events mode only.district· string · optionnel
Two-digit House district (e.g., "14", "07"); a single digit is zero-padded. Pair it with state — alone it matches that district number in every state. At-large races carry no district upstream, so a district filter never matches them. Election dates mode.max_date· string · optionnel
Latest date (YYYY-MM-DD).min_date· string · optionnel
Earliest date (YYYY-MM-DD).per_page· integer · optionnel
Results per page. Default 20, max 100.description· string · optionnel
Full-text event description search. Events mode.report_type· string · optionnel
Report type code (e.g. "Q1", "Q2"). Filing deadlines mode only.report_year· integer · optionnel
Report year. Filing deadlines mode.election_year· integer · optionnel
Election year. Election dates mode.
Exemple d'appel{"name": "openfec_lookup_calendar", "arguments": {"mode": "events", "page": 1, "state": "texte", "office": "H", "category": "20", "district": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"mode": "events", "error": {}, "notice": "texte", "results": [], "pagination": {}, "totalCount": 1, "search_criteria": {}}} - openfec_lookup_elections≈ 1456 tokens
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.
Paramètres, retour & exemple (9)
Paramètreszip· string · optionnel
ZIP code — finds races covering this ZIP. Search mode only.mode· string · optionnel · search | summary
search = candidates in a race with financial totals. summary = aggregate race financial summary.page· integer · optionnel
Page number (1-indexed). Search mode only; explicit page is rejected in summary mode. Defaults to 1 for search.cycle· integer · requis
Election cycle year (even years only, e.g. 2024).state· string · optionnel
Two-letter US state code (e.g., AZ, CA). Required for senate/house unless zip is provided.office· string · requis · H | S | P
Office sought: H=House, S=Senate, P=President.district· string · optionnel
Two-digit district number (e.g. "07"). Required for house unless zip is provided.per_page· integer · optionnel
Results per page. Search mode only; defaults to 20.election_full· boolean · optionnel
Expand to full election period (4yr president, 6yr senate, 2yr house). Defaults to true when omitted; a ZIP-scoped search rejects it, since that endpoint has no such parameter. Carries no schema default, so an explicit value is distinguishable from an omission.
Exemple d'appel{"name": "openfec_lookup_elections", "arguments": {"cycle": 1, "office": "H"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"mode": "search", "error": {}, "notice": "texte", "results": [], "pagination": {}, "totalCount": 1, "search_criteria": {}}} - openfec_search_candidates≈ 1804 tokens
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 exactly eight letters or digits.
Paramètres, retour & exemple (14)
Paramètrespage· integer · optionnel
Search-results page number (1-indexed). Defaults to 1 on the search path.cycle· number · optionnel
Two-year election cycle (even year, e.g., 2024).party· string · optionnel
Three-letter party code (e.g., DEM, REP, LIB).query· string · optionnel
Full-text candidate name search.state· string · optionnel
Two-letter US state code (e.g., AZ, CA).office· string · optionnel · H | S | P
Filter by office: H=House, S=Senate, P=President.district· string · optionnel
Two-digit district number for House candidates.per_page· integer · optionnel
Search results per page. Defaults to 20 on the search path. With include_totals, at most 35 candidates are requested when cycle or election_year scopes the totals and 5 when the totals span every cycle, keeping the response under a 100,000-byte budget. A page bounded below your request reports truncated and cap, and pagination.per_page echoes the size applied — page numbers count at that size, so continue with the next page number.candidate_id· string · optionnel
FEC candidate ID: H, S, or P followed by exactly eight letters or digits (e.g., P00003392, H2CO07170). Get IDs from openfec_search_candidates results. When provided, returns a single candidate with full detail.election_year· number · optionnel
Specific election year the candidate ran in.include_totals· boolean · optionnel
Include financial totals (receipts, disbursements, cash on hand). Defaults to true when fetching by candidate_id.candidate_status· string · optionnel · C | F | N | P
Candidate status: C=present, F=future, N=not yet, P=prior.has_raised_funds· boolean · optionnel
Only candidates whose committee has received receipts.incumbent_challenge· string · optionnel · I | C | O
Incumbent status: I=incumbent, C=challenger, O=open seat.
Exemple d'appel{"name": "openfec_search_candidates", "arguments": {"page": 1, "cycle": 1, "party": "texte", "query": "texte", "state": "texte", "office": "H"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "notice": "texte", "totals": [], "truncated": true, "candidates": [], "pagination": {}, "totalCount": 1, "missing_totals": [], "search_criteria": {}}} - openfec_search_committees≈ 1383 tokens
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 exactly eight digits (e.g., C00358796).
Paramètres, retour & exemple (11)
Paramètrespage· integer · optionnel
Search-results page number (1-indexed). Defaults to 1 on the search path.cycle· number · optionnel
Two-year election cycle (even year).party· string · optionnel
Three-letter party code (e.g., DEM, REP).query· string · optionnel
Full-text committee name search.state· string · optionnel
Two-letter state code.per_page· integer · optionnel
Search results per page. Defaults to 20 on the search path.designation· string · optionnel
Committee designation. A (authorized), B (lobbyist PAC), D (leadership PAC), J (joint fundraiser), P (principal campaign), U (unauthorized). Matches each committee's current designation only, even with cycle set — a past principal committee since redesignated drops out of P. For a candidate's principal committee in a given cycle, use openfec_lookup_elections (mode: search) and read candidate_pcc_id.candidate_id· string · optionnel
Find committees linked to this candidate (authorized, leadership, joint fundraising). Get IDs from openfec_search_candidates results.committee_id· string · optionnel
FEC committee ID: 'C' followed by exactly eight digits (e.g., C00358796). Get IDs from openfec_search_committees results. Returns a single committee with full detail.committee_type· string · optionnel
Committee type code. Common: H (House), S (Senate), P (Presidential), O (Super PAC), N (PAC nonqualified), Q (PAC qualified), X (Party nonqualified), Y (Party qualified).treasurer_name· string · optionnel
Full-text treasurer name search.
Exemple d'appel{"name": "openfec_search_committees", "arguments": {"page": 1, "cycle": 1, "party": "texte", "query": "texte", "state": "texte", "per_page": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "notice": "texte", "committees": [], "pagination": {}, "totalCount": 1, "search_criteria": {}}} - openfec_search_contributions≈ 2358 tokens
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.
Paramètres, retour & exemple (19)
Paramètresmode· string · optionnel · itemized | by_size | by_state | by_employer | by_occupation
Query mode. "itemized" returns individual contribution records (keyset pagination). "by_size" aggregates by contribution size bucket. "by_state" aggregates by contributor state. "by_employer" aggregates by employer. "by_occupation" aggregates by occupation.page· integer · optionnel
Page number (1-indexed) for aggregate modes. Explicit page is rejected in itemized mode, which paginates with cursor. Defaults to 1 for aggregates.sort· string · optionnel · contribution_receipt_date | -contribution_receipt_date | contribution_receipt_amount | -contribution_receipt_amount
Sort field. A "-" prefix sorts descending: use "-contribution_receipt_amount" for the largest receipts first, since the ascending form leads with the most negative rows (refunds, reattributions, redesignations). Itemized only; OpenFEC sorts by "-contribution_receipt_date" when omitted.cycle· number · optionnel
Two-year election cycle (e.g., 2024). Even years only. Defaults to current cycle for itemized mode.cursor· string · optionnel
Opaque pagination cursor from a previous response of this tool. Itemized mode only (keyset pagination). Valid only for an otherwise-identical call — changing any other argument, including sort, rejects the cursor; omit it to start over.max_date· string · optionnel
Latest contribution date (YYYY-MM-DD). Itemized only.min_date· string · optionnel
Earliest contribution date (YYYY-MM-DD). Itemized only.per_page· integer · optionnel
Results per page. Itemized mode sends at most 30 upstream, keeping the response under a 100,000-byte budget; a page bounded below your request reports truncated and cap, and next_cursor continues it.max_amount· number · optionnel
Maximum contribution amount in dollars. Itemized only.min_amount· number · optionnel
Minimum contribution amount in dollars. Itemized only.candidate_id· string · optionnel
Candidate ID (e.g., P00003392). Get IDs from openfec_search_candidates results. Enables by_size and by_state aggregates without a committee_id.committee_id· string · optionnel
Receiving committee ID (e.g., C00703975). Get IDs from openfec_search_committees results.is_individual· boolean · optionnel
Only individual contributions (excludes committee-to-committee transfers). Itemized only.contributor_zip· string · optionnel
ZIP code prefix (starts-with match). Itemized only.contributor_city· string · optionnel
Contributor city. Itemized only.contributor_name· string · optionnel
Full-text donor name search. Itemized only.contributor_state· string · optionnel
Two-letter state code (e.g., CA). Itemized only.contributor_employer· string · optionnel
Full-text employer search. Itemized only.contributor_occupation· string · optionnel
Full-text occupation search. Itemized only.
Exemple d'appel{"name": "openfec_search_contributions", "arguments": {"mode": "itemized", "page": 1, "sort": "contribution_receipt_date", "cycle": 1, "cursor": "texte", "max_date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "mode": "itemized", "count": 1, "error": {}, "shown": 1, "notice": "texte", "results": [], "committee": {}, "truncated": true, "pagination": {}, "totalCount": 1, "next_cursor": "texte"}} - openfec_search_coordinated_expenditures≈ 1730 tokens
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.
Paramètres, retour & exemple (11)
Paramètrespage· integer · optionnel
Page number (1-indexed). Read pagination.pages in the response to see how many pages exist.sort· string · optionnel · expenditure_date | -expenditure_date | expenditure_amount | -expenditure_amount
Sort field. A "-" prefix sorts descending: use "-expenditure_amount" for the largest coordinated spending first, since the ascending form leads with the most negative rows (corrections and voided entries). OpenFEC sorts by "-expenditure_date" when omitted.cycle· number · optionnel
Two-year election cycle (e.g., 2024). Even years only. Omitting it searches every cycle on record.max_date· string · optionnel
Latest expenditure date (YYYY-MM-DD).min_date· string · optionnel
Earliest expenditure date (YYYY-MM-DD).per_page· integer · optionnel
Results per page. At most 80 are requested upstream when scoped by committee_id and 25 otherwise, keeping the response under a 100,000-byte budget. A page bounded below your request reports truncated and cap, and pagination.per_page echoes the size applied — page numbers count at that size, so continue with the next page number.max_amount· number · optionnel
Maximum expenditure amount in dollars.min_amount· number · optionnel
Minimum expenditure amount in dollars.payee_name· string · optionnel
Full-text payee name search (the vendor the party paid).candidate_id· string · optionnel
Benefiting candidate ID (e.g., P00003392). Get IDs from openfec_search_candidates results.committee_id· string · optionnel
Spending party committee ID (e.g., C00003418). Get IDs from openfec_search_committees results — party committees carry committee_type X or Y.
Exemple d'appel{"name": "openfec_search_coordinated_expenditures", "arguments": {"page": 1, "sort": "expenditure_date", "cycle": 1, "max_date": "texte", "min_date": "texte", "per_page": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "notice": "texte", "results": [], "committee": {}, "truncated": true, "pagination": {}, "totalCount": 1, "search_criteria": {}}} - openfec_search_disbursements≈ 2232 tokens
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?"
Paramètres, retour & exemple (17)
Paramètresmode· string · optionnel · itemized | by_purpose | by_recipient | by_recipient_id
Query mode. "itemized" returns individual disbursement records (keyset pagination). "by_purpose" aggregates by purpose category. "by_recipient" aggregates by recipient name. "by_recipient_id" aggregates by recipient committee ID (committee-to-committee transfers).page· integer · optionnel
Page number (1-indexed) for aggregate modes. Explicit page is rejected in itemized mode, which paginates with cursor. Defaults to 1 for aggregates.sort· string · optionnel · disbursement_date | -disbursement_date | disbursement_amount | -disbursement_amount
Sort field. A "-" prefix sorts descending: use "-disbursement_amount" for the biggest payments first, since the ascending form leads with the most negative rows (refunds and voided payments). Itemized only; OpenFEC sorts by "-disbursement_date" when omitted.cycle· number · optionnel
Two-year election cycle (e.g., 2024). Even years only. Itemized mode defaults to the current cycle when omitted — Schedule B spans all history, and an all-history scan of an active committee times out upstream. Pass an explicit cycle to search an earlier period.cursor· string · optionnel
Opaque pagination cursor from a previous response of this tool. Itemized mode only (keyset pagination). Valid only for an otherwise-identical call — changing any other argument, including sort, rejects the cursor; omit it to start over.max_date· string · optionnel
Latest disbursement date (YYYY-MM-DD). Itemized only.min_date· string · optionnel
Earliest disbursement date (YYYY-MM-DD). Itemized only.per_page· integer · optionnel
Results per page. Itemized mode sends at most 30 upstream, keeping the response under a 100,000-byte budget; a page bounded below your request reports truncated and cap, and next_cursor continues it.max_amount· number · optionnel
Maximum amount in dollars. Itemized only.min_amount· number · optionnel
Minimum amount in dollars. Itemized only.committee_id· string · requis
Spending committee ID (e.g., C00703975). Get IDs from openfec_search_committees results. Required for all modes.recipient_city· string · optionnel
Recipient city. Itemized only.recipient_name· string · optionnel
Full-text payee name search. Itemized only.recipient_state· string · optionnel
Recipient state. Itemized only.recipient_committee_id· string · optionnel
Recipient committee ID (for committee-to-committee transfers). Itemized only.disbursement_description· string · optionnel
Full-text description search (e.g., "media buy", "consulting"). Itemized only.disbursement_purpose_category· string · optionnel
Purpose category code. Itemized only.
Exemple d'appel{"name": "openfec_search_disbursements", "arguments": {"committee_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "mode": "itemized", "count": 1, "error": {}, "shown": 1, "notice": "texte", "results": [], "committee": {}, "truncated": true, "pagination": {}, "totalCount": 1, "next_cursor": "texte"}} - openfec_search_expenditures≈ 2777 tokens
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).
Paramètres, retour & exemple (21)
Paramètresmode· string · optionnel · itemized | by_candidate
Query mode. "itemized" returns individual expenditure records (keyset pagination). "by_candidate" returns aggregated totals per candidate by committee (page-based).page· integer · optionnel
Page number (1-indexed) for by_candidate mode. Explicit page is rejected in itemized mode, which paginates with cursor. Defaults to 1 for by_candidate.sort· string · optionnel · expenditure_date | -expenditure_date | expenditure_amount | -expenditure_amount | office_total_ytd | -office_total_ytd
Sort field. A "-" prefix sorts descending: use "-expenditure_amount" for the largest outside spending first, since the ascending form leads with the most negative rows (corrections and voided entries). Itemized only; OpenFEC sorts by "-expenditure_date" when omitted.cycle· number · optionnel
Two-year election cycle (e.g., 2024). Even years only. Itemized mode defaults to the current cycle when omitted — Schedule E spans all history and an unscoped scan times out upstream. Pass an explicit cycle to search an earlier period. In by_candidate mode the cycle names the election, and election_full decides whether the totals cover the full election period ending in it (4yr president, 6yr senate, 2yr house) or only this two-year cycle.cursor· string · optionnel
Opaque pagination cursor from a previous response of this tool. Itemized mode only (keyset pagination). Valid only for an otherwise-identical call — changing any other argument, including sort, rejects the cursor; omit it to start over.max_date· string · optionnel
Latest expenditure date (YYYY-MM-DD). Itemized only.min_date· string · optionnel
Earliest expenditure date (YYYY-MM-DD). Itemized only.per_page· integer · optionnel
Results per page. Itemized mode sends at most 60 upstream when scoped by committee_id and 30 otherwise, keeping the response under a 100,000-byte budget; a page bounded below your request reports truncated and cap, and next_cursor continues it.is_notice· boolean · optionnel
Only 24/48-hour notice filings (near-election spending). Itemized only.max_amount· number · optionnel
Maximum expenditure amount in dollars. Itemized only.min_amount· number · optionnel
Minimum expenditure amount in dollars. Itemized only.payee_name· string · optionnel
Full-text payee name search. Itemized only.most_recent· boolean · optionnel
Only the most recent version of amended filings. Itemized only — by_candidate rejects it. Defaults to true in itemized mode when omitted; pass false to see superseded versions of amended filings.candidate_id· string · optionnel
Targeted candidate ID (e.g., P00003392). Get IDs from openfec_search_candidates results.committee_id· string · optionnel
Spending committee ID (e.g., C00703975). Get IDs from openfec_search_committees results.election_full· boolean · optionnel
by_candidate only: expand cycle to the full election period (4yr president, 6yr senate, 2yr house) instead of the two-year cycle alone. Defaults to true when omitted; itemized mode rejects it, since that endpoint has no such parameter. Carries no schema default, so an explicit value is distinguishable from an omission.support_oppose· string · optionnel · S | O
S = support, O = oppose. Filter by whether the expenditure supports or opposes the candidate.candidate_party· string · optionnel
Three-letter party code of the targeted candidate (e.g., DEM, REP). Itemized only — by_candidate rejects it, since the aggregate endpoint has no party filter.candidate_office· string · optionnel · H | S | P
Office of the targeted candidate: H=House, S=Senate, P=President. In by_candidate mode this scopes a whole race: P stands alone, S also needs candidate_office_state, H also needs candidate_office_state and candidate_office_district.candidate_office_state· string · optionnel
Two-letter state code of the targeted race. Required alongside candidate_office=H or candidate_office=S in by_candidate mode; leave it off for candidate_office=P, whose aggregate rows carry no state and match nothing when one is supplied.candidate_office_district· string · optionnel
Two-digit House district of the targeted race (e.g., "09"). Required alongside candidate_office=H and candidate_office_state in by_candidate mode; Senate and presidential rows carry no district and match nothing when one is supplied.
Exemple d'appel{"name": "openfec_search_expenditures", "arguments": {"mode": "itemized", "page": 1, "sort": "expenditure_date", "cycle": 1, "cursor": "texte", "max_date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "mode": "itemized", "count": 1, "error": {}, "shown": 1, "notice": "texte", "results": [], "committee": {}, "truncated": true, "pagination": {}, "totalCount": 1, "next_cursor": "texte"}} - openfec_search_filings≈ 1471 tokens
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.
Paramètres, retour & exemple (13)
Paramètrespage· integer · optionnel
Page number (1-indexed).cycle· number · optionnel
Two-year election cycle (even year).per_page· integer · optionnel
Results per page. At most 65 are requested upstream, keeping the response under a 100,000-byte budget. A page bounded below your request reports truncated and cap, and pagination.per_page echoes the size applied — page numbers count at that size, so continue with the next page number.form_type· string · optionnel
FEC form type. Common: F3 (House/Senate quarterly), F3P (Presidential), F3X (PAC/party), F24 (24-hour IE notice), F1 (statement of organization), F2 (statement of candidacy), F5 (IE by persons).filer_name· string · optionnel
Full-text filer name search.is_amended· boolean · optionnel
Filter to original or amended filings only.most_recent· boolean · optionnel
Only the most recent version (filters out superseded amendments).report_type· string · optionnel
Report type code. Common: Q1/Q2/Q3 (quarterly), YE (year-end), M3-M12 (monthly), 12G/12P/30G (pre/post election).report_year· number · optionnel
Filing year.candidate_id· string · optionnel
Associated candidate ID (e.g., P00003392). Get IDs from openfec_search_candidates results.committee_id· string · optionnel
Filing committee ID (e.g., C00358796). Get IDs from openfec_search_committees results.max_receipt_date· string · optionnel
Latest FEC receipt date (YYYY-MM-DD).min_receipt_date· string · optionnel
Earliest date FEC received the filing (YYYY-MM-DD).
Exemple d'appel{"name": "openfec_search_filings", "arguments": {"page": 1, "cycle": 1, "per_page": 1, "form_type": "texte", "filer_name": "texte", "is_amended": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"cap": 1, "error": {}, "shown": 1, "notice": "texte", "results": [], "truncated": true, "pagination": {}, "totalCount": 1, "search_criteria": {}}} - openfec_search_legal≈ 2650 tokens
Search FEC legal documents: advisory opinions, enforcement cases (MURs), alternative dispute resolutions, administrative fines, and statutes. The citation, penalty, respondent, ao_number, and case_number filters each apply to only some document types; with type omitted, the search returns only the types every one of them applies to. Each response is held to 100,000 bytes: when a page would exceed it, whole results are held back and nextFromHit gives the from_hit that continues each document type.
Paramètres, retour & exemple (14)
Paramètrestype· string · optionnel · advisory_opinions | murs | adrs | admin_fines | statutes
Document type filter. Omit to search every type the other filters apply to — all five when only query is given. admin_fines can be slow without a query.query· string · optionnel
Full-text search across legal documents.from_hit· integer · optionnel
Offset for pagination (0-indexed), counted within each document type rather than across them. Default 0. When a response is bounded, nextFromHit gives the value that continues each type. The search index serves a 10,000-result window, so from_hit plus hits_returned must be 10,000 or less — the ceiling here assumes hits_returned of 1.max_date· string · optionnel
Latest date (YYYY-MM-DD) for the date_kind selected. Requires type and date_kind.min_date· string · optionnel
Earliest date (YYYY-MM-DD) for the date_kind selected. Requires type and date_kind.ao_number· string · optionnel
Specific advisory opinion number (e.g. "2024-01"). Applies to advisory_opinions only: rejected with any other type, and with type omitted only advisory opinions are returned.date_kind· string · optionnel · issue_date | request_date | open_date | close_date | document_date | rtb_date | fd_date
Which date min_date/max_date bound. Each document type records its own dates, so this must be one the chosen type has: type=advisory_opinions → issue_date (opinion issued), request_date (request received), document_date; type=murs or adrs → open_date (case opened), close_date (case closed), document_date; type=admin_fines → rtb_date (reason-to-believe finding), fd_date (final determination). type=statutes cannot be date-filtered. Required whenever min_date or max_date is given, together with type.respondent· string · optionnel
Respondent name. Applies to enforcement cases (murs, adrs) only: rejected with any other type, and with type omitted only MURs and ADRs are returned.case_number· string · optionnel
Specific MUR, ADR, or administrative fine case number (e.g. "8343"). Applies to murs, adrs, and admin_fines: rejected with advisory_opinions or statutes, and with type omitted only those three types are returned.hits_returned· integer · optionnel
Results per page, applied per document type. Default 20, max 200. A response is held to 100,000 bytes, so a page of large records can carry fewer, with nextFromHit naming where each type continues. Bounded together with from_hit by the 10,000-result window.max_penalty_amount· number · optionnel
Maximum penalty amount in dollars. Applies to murs, adrs, and admin_fines (an administrative fine matches on its reason-to-believe or final-determination amount): rejected with advisory_opinions or statutes, and with type omitted only those three types are returned.min_penalty_amount· number · optionnel
Minimum penalty amount in dollars. Applies to murs, adrs, and admin_fines (an administrative fine matches on its reason-to-believe or final-determination amount): rejected with advisory_opinions or statutes, and with type omitted only those three types are returned.statutory_citation· string · optionnel
U.S.C. citation in the form "<title> U.S.C. <section>" (e.g. "52 U.S.C. 30104"; "USC", "§", and a suffix such as "30104(g)" are accepted — a bare "30104" is rejected as invalid_citation). One citation per value: "52 U.S.C. 30104, 52 U.S.C. 30118" is rejected, since only the first would be applied. Given with regulatory_citation, matches a document that cites either one. On murs and adrs it cannot be combined with case_number, respondent, a penalty bound, or an open_date or close_date bound, which the search index would ignore. Applies to advisory_opinions, murs, and adrs: rejected with admin_fines or statutes, and with type omitted only those three types are returned.regulatory_citation· string · optionnel
CFR citation in the form "<title> CFR <part>.<section>" (e.g. "11 CFR 110.1"; "C.F.R.", "§", and a suffix such as "110.1(b)" are accepted — a bare "110.1" is rejected as invalid_citation). One citation per value: "11 CFR 110.1; 11 CFR 110.2" is rejected, since only the first would be applied. Given with statutory_citation, matches a document that cites either one. On murs and adrs it cannot be combined with case_number, respondent, a penalty bound, or an open_date or close_date bound, which the search index would ignore. Applies to advisory_opinions, murs, and adrs: rejected with admin_fines or statutes, and with type omitted only those three types are returned.
Exemple d'appel{"name": "openfec_search_legal", "arguments": {"type": "advisory_opinions", "query": "texte", "from_hit": 1, "max_date": "texte", "min_date": "texte", "ao_number": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "shown": 1, "notice": "texte", "results": [], "truncated": true, "totalCount": 1, "nextFromHit": {}, "total_count": 1, "retrievalHint": "texte", "search_criteria": {}}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».