fec-mcp-server
FEC MCP Server
Ein Model Context Protocol (MCP)-Server für die Recherche und Transparenz von Wahlkampfgeldern der Federal Election Commission (FEC). Dieser Server bietet Tools zur Suche nach Kandidaten, zum Abrufen von Finanzberichten sowie zur Analyse von Beiträgen und Ausgaben aus offiziellen FEC-Daten.
Funktionen
search_candidates: Suche nach Bundeskandidaten nach Name, gefiltert nach Wahljahr, Amt, Bundesstaat oder Partei
get_committee_finances: Abrufen von Finanzübersichten, einschließlich Einnahmen, Ausgaben, Barmitteln und Burn-Rate
get_receipts: Abrufen von detaillierten Beiträgen (Schedule A) mit Spenderdetails
get_disbursements: Abrufen von detaillierten Ausgaben (Schedule B) mit Empfänger- und Zweckdetails
Flagged-first notable analysis: Optionale bemerkenswerte Blöcke für Einnahmen/Ausgaben mit Referenzliste + heuristischen Flag-Gründen
get_independent_expenditures: Verfolgung von Super-PAC-Ausgaben für oder gegen Kandidaten (Schedule E)
get_committee_flags: Überprüfung auf RFAIs, Änderungen und damit verbundene Compliance-Warnsignale
search_donors: Suche nach einzelnen Spendern nach Name, Arbeitgeber oder Beruf über alle Komitees hinweg
search_spending: Suche nach Wahlkampfausgaben nach Beschreibung oder Empfänger über alle Komitees hinweg
Alle Daten stammen direkt von der offiziellen OpenFEC API.
Related MCP server: @cyanheads/openfec-mcp-server
Installation
Voraussetzungen
Node.js 20 oder neuer
Ein FEC-API-Schlüssel (kostenlos erhältlich unter api.open.fec.gov)
Installation über npm
npm install -g fec-mcp-serverInstallation aus dem Quellcode
git clone <repository-url>
cd fecmcp
npm install
npm run buildKonfiguration
Setzen Sie Ihren FEC-API-Schlüssel als Umgebungsvariable:
export FEC_API_KEY=your-api-key-hereOder erstellen Sie eine .env-Datei im Stammverzeichnis Ihres Projekts:
FEC_API_KEY=your-api-key-hereVerwendung mit Claude Desktop
Fügen Sie den Server zu Ihrer Claude Desktop-Konfigurationsdatei hinzu:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fec": {
"command": "npx",
"args": ["fec-mcp-server"],
"env": {
"FEC_API_KEY": "your-api-key-here"
}
}
}
}Oder falls global installiert:
{
"mcpServers": {
"fec": {
"command": "fec-mcp-server",
"env": {
"FEC_API_KEY": "your-api-key-here"
}
}
}
}Tools
search_candidates
Durchsuchen Sie FEC-Datensätze nach Kandidaten anhand ihres Namens.
Parameter:
q(erforderlich): Zu suchender Kandidatennameelection_year(optional): Filtern nach Wahljahr (z. B. 2024)office(optional): Filtern nach Amt - H (Repräsentantenhaus), S (Senat), P (Präsident)state(optional): Filtern nach Bundesstaat (2-Buchstaben-Code)party(optional): Filtern nach Parteicode (z. B. "DEM", "REP")
Beispiel:
Search for candidates named "Smith" running for Senate in 2024get_committee_finances
Finanzübersicht für ein Wahlkampfkomitee abrufen.
Parameter:
committee_id(erforderlich): FEC-Komitee-ID (z. B. "C00401224")cycle(optional): Zweijähriger Wahlzyklus (z. B. 2024)
Rückgabewerte:
Gesamteinnahmen und -ausgaben
Barmittel
Schulden
Burn-Rate (Verhältnis von Ausgaben zu Einnahmen)
Aufschlüsselung der Beiträge (Einzelpersonen, PAC, Partei)
Prozentsatz der Kleinspender
Beispiel:
Get the financial summary for committee C00401224get_receipts
Abrufen von detaillierten Beiträgen (Schedule A), die von einem Komitee erhalten wurden.
Parameter:
committee_id(erforderlich): FEC-Komitee-IDmin_amount(optional): Mindestbetrag des Beitrags (Standard: $1.000)two_year_transaction_period(optional): Wahlzyklus (z. B. 2024)cycle(optional): Alias fürtwo_year_transaction_period; gleicht Einnahmen automatisch mit der Nutzung des Finanzzyklus abcontributor_type(optional): "individual" oder "committee"include_notable(optional): Beinhaltet den "Flagged-first notable"-Block (Standard:true)fuzzy_threshold(optional): Schwellenwert für die Fuzzy-Suche bei Referenzlisten-Flags (Standard:90, Bereich:80-99)limit(optional): Anzahl der Ergebnisse (Standard: 20, max: 100)sort_by(optional): "amount" oder "date" (Standard: "amount")
Beispiel:
Show the top 10 contributions over $5,000 to committee C00401224get_disbursements
Abrufen von detaillierten Ausgaben (Schedule B), die von einem Komitee getätigt wurden.
Parameter:
committee_id(erforderlich): FEC-Komitee-IDmin_amount(optional): Mindestbetrag der Ausgabe (Standard: $1.000)two_year_transaction_period(optional): Wahlzykluscycle(optional): Alias fürtwo_year_transaction_period; gleicht Ausgaben automatisch mit der Nutzung des Finanzzyklus abpurpose(optional): Filtern nach Zweck-Schlüsselwort (z. B. "MEDIA", "CONSULTING")include_notable(optional): Beinhaltet den "Flagged-first notable"-Block (Standard:true)fuzzy_threshold(optional): Schwellenwert für die Fuzzy-Suche bei Referenzlisten-Flags (Standard:90, Bereich:80-99)limit(optional): Anzahl der Ergebnisse (Standard: 20, max: 100)sort_by(optional): "amount" oder "date" (Standard: "amount")
Beispiel:
Show media-related spending over $10,000 by committee C00401224get_independent_expenditures
Abrufen von unabhängigen Ausgaben (Schedule E) – Geld, das von PACs und Super PACs ausgegeben wurde, um Kandidaten zu unterstützen oder abzulehnen.
Parameter:
candidate_id(optional): FEC-Kandidaten-ID, um Ausgaben zu sehen, die auf sie abzielencommittee_id(optional): FEC-Komitee-ID, um deren unabhängige Ausgaben zu sehensupport_oppose(optional): Filtern nach "support" oder "oppose"min_amount(optional): Mindestbetrag der Ausgabecycle(optional): Zweijähriger Wahlzykluslimit(optional): Anzahl der Ergebnisse (Standard: 20)
Hinweis: Entweder candidate_id oder committee_id ist erforderlich.
Beispiel:
Show independent expenditures opposing candidate P00009423get_committee_flags
Überprüfen Sie ein Wahlkampfkomitee auf Compliance-Warnsignale, einschließlich RFAIs und Änderungen.
Parameter:
committee_id(erforderlich): FEC-Komitee-IDcycle(optional): Zweijähriger Wahlzyklus
Rückgabewerte:
RFAI-Anzahl (Request for Additional Information) und Details
Anzahl und Details der Änderungen
Aktuelle Compliance-Probleme
Beispiel:
Check committee C00401224 for any compliance flagssearch_donors
Suche nach einzelnen Spendern in allen FEC-Einreichungen nach Name, Arbeitgeber oder Beruf.
Parameter:
contributor_name(optional): Zu suchender Spendernamecontributor_employer(optional): Arbeitgebername (z. B. "Goldman Sachs")contributor_occupation(optional): Beruf (z. B. "Lobbyist")contributor_state(optional): 2-Buchstaben-Code des Bundesstaatesmin_amount(optional): Mindestbetrag des Beitrags (Standard: $200)cycle(optional): Zweijähriger Wahlzykluslimit(optional): Anzahl der Ergebnisse (Standard: 20)
Hinweis: Mindestens einer der Parameter contributor_name, contributor_employer oder contributor_occupation ist erforderlich.
Beispiel:
Find contributions from employees of "Meta" in Californiasearch_spending
Suche nach Wahlkampfausgaben (Schedule B) über alle Komitees hinweg nach Beschreibung oder Empfänger.
Parameter:
description(optional): Schlüsselwort in der Ausgabenbeschreibung (z. B. "travel", "consulting")recipient_name(optional): Name des Empfängers/Anbietersrecipient_state(optional): 2-Buchstaben-Code des Bundesstaatesmin_amount(optional): Mindestbetrag (Standard: $500)cycle(optional): Zweijähriger Wahlzykluslimit(optional): Anzahl der Ergebnisse (Standard: 20)
Hinweis: Mindestens einer der Parameter description oder recipient_name ist erforderlich.
Beispiel:
Find spending on "golf" or "resort" across all committeesEntwicklung
Einrichtung
npm installTests ausführen
npm test # Single run
npm run test:coverage # With coverage
npm run test:e2e # Live API tests, requires FEC_API_KEYBuild
npm run buildTypüberprüfung
npm run typecheckLive-Akzeptanzprüfungen
npm run acceptance:fec-day
npm run acceptance:notableAPI-Ratenbegrenzungen
Die FEC-API erlaubt 1.000 Anfragen pro Stunde mit einem API-Schlüssel. Für höhere Limits (bis zu 7.200 Anfragen/Stunde) kontaktieren Sie die FEC.
Timeouts & API-Latenz
Das Standard-Timeout für Anfragen beträgt 30 Sekunden. Die Such-Tools (search_candidates, search_donors, search_spending) verwenden ein 60-Sekunden-Timeout, da diese FEC-API-Endpunkte umfangreiche Datenbankscans durchführen und von Natur aus langsamer sind.
Um das Standard-Timeout global zu überschreiben, setzen Sie die Umgebungsvariable FEC_API_TIMEOUT_MS:
export FEC_API_TIMEOUT_MS=45000 # 45 secondsDocker
Erstellen Sie das Container-Image lokal:
docker build -t fec-mcp-server .Führen Sie es mit Ihrem zur Laufzeit bereitgestellten API-Schlüssel aus:
docker run --rm -i \
-e FEC_API_KEY=your-api-key-here \
fec-mcp-serverReleases
Glama-Prüfungen erwarten ein GitHub-Release. Erstellen und veröffentlichen Sie nach dem Zusammenführen Ihrer nächsten Repo-Änderungen ein Tag wie v1.0.0 über GitHub oder mit:
git tag v1.0.0
git push origin v1.0.0Lizenz
MIT
Haftungsausschluss
Dieses Tool wurde für die Forschung zur Transparenz von Wahlkampfgeldern entwickelt. Es bietet Zugriff auf öffentliche FEC-Daten auf neutrale, überparteiliche Weise. Das Tool und seine Ergebnisse sollten nicht dazu verwendet werden, einen Kandidaten oder eine politische Partei zu fördern oder abzulehnen.
Ressourcen
Referenzlisten-Attribution:
github/DGA-Research/FEC_Coder_Project_Streamlit(gebündelte Snapshots unterresources/reference-lists/)
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects the OpenFEC API to AI assistants for investigating US federal campaign finance through natural language conversations.1MIT
- AlicenseNot gradedqualityAmaintenanceAccess FEC campaign finance data through MCP. Query data about candidates, money trails, and election filings. STDIO & Streamable HTTP.2732Apache 2.0
- AlicenseBqualityBmaintenanceEnables querying state-level campaign finance data, including donors, expenditures, committees, and candidates, from multiple state disclosure systems via a unified MCP interface.9MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching political donations, donors, and lobbying data from any AI assistant using Federal Election Commission data.14MIT
Related MCP Connectors
Access FEC campaign finance data. Query data about candidates, money trails, and election filings.
OpenFEC MCP — Federal Election Commission campaign finance data
Access US federal award, recipient, agency, and spending analytics data from USAspending.gov.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sh-patterson/fec-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server