Skip to main content
Glama
sh-patterson

fec-mcp-server

by sh-patterson

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-server

Installation aus dem Quellcode

git clone <repository-url>
cd fecmcp
npm install
npm run build

Konfiguration

Setzen Sie Ihren FEC-API-Schlüssel als Umgebungsvariable:

export FEC_API_KEY=your-api-key-here

Oder erstellen Sie eine .env-Datei im Stammverzeichnis Ihres Projekts:

FEC_API_KEY=your-api-key-here

Verwendung 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

Durchsuchen Sie FEC-Datensätze nach Kandidaten anhand ihres Namens.

Parameter:

  • q (erforderlich): Zu suchender Kandidatenname

  • election_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 2024

get_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 C00401224

get_receipts

Abrufen von detaillierten Beiträgen (Schedule A), die von einem Komitee erhalten wurden.

Parameter:

  • committee_id (erforderlich): FEC-Komitee-ID

  • min_amount (optional): Mindestbetrag des Beitrags (Standard: $1.000)

  • two_year_transaction_period (optional): Wahlzyklus (z. B. 2024)

  • cycle (optional): Alias für two_year_transaction_period; gleicht Einnahmen automatisch mit der Nutzung des Finanzzyklus ab

  • contributor_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 C00401224

get_disbursements

Abrufen von detaillierten Ausgaben (Schedule B), die von einem Komitee getätigt wurden.

Parameter:

  • committee_id (erforderlich): FEC-Komitee-ID

  • min_amount (optional): Mindestbetrag der Ausgabe (Standard: $1.000)

  • two_year_transaction_period (optional): Wahlzyklus

  • cycle (optional): Alias für two_year_transaction_period; gleicht Ausgaben automatisch mit der Nutzung des Finanzzyklus ab

  • purpose (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 C00401224

get_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 abzielen

  • committee_id (optional): FEC-Komitee-ID, um deren unabhängige Ausgaben zu sehen

  • support_oppose (optional): Filtern nach "support" oder "oppose"

  • min_amount (optional): Mindestbetrag der Ausgabe

  • cycle (optional): Zweijähriger Wahlzyklus

  • limit (optional): Anzahl der Ergebnisse (Standard: 20)

Hinweis: Entweder candidate_id oder committee_id ist erforderlich.

Beispiel:

Show independent expenditures opposing candidate P00009423

get_committee_flags

Überprüfen Sie ein Wahlkampfkomitee auf Compliance-Warnsignale, einschließlich RFAIs und Änderungen.

Parameter:

  • committee_id (erforderlich): FEC-Komitee-ID

  • cycle (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 flags

Suche nach einzelnen Spendern in allen FEC-Einreichungen nach Name, Arbeitgeber oder Beruf.

Parameter:

  • contributor_name (optional): Zu suchender Spendername

  • contributor_employer (optional): Arbeitgebername (z. B. "Goldman Sachs")

  • contributor_occupation (optional): Beruf (z. B. "Lobbyist")

  • contributor_state (optional): 2-Buchstaben-Code des Bundesstaates

  • min_amount (optional): Mindestbetrag des Beitrags (Standard: $200)

  • cycle (optional): Zweijähriger Wahlzyklus

  • limit (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 California

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/Anbieters

  • recipient_state (optional): 2-Buchstaben-Code des Bundesstaates

  • min_amount (optional): Mindestbetrag (Standard: $500)

  • cycle (optional): Zweijähriger Wahlzyklus

  • limit (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 committees

Entwicklung

Einrichtung

npm install

Tests ausführen

npm test               # Single run
npm run test:coverage  # With coverage
npm run test:e2e       # Live API tests, requires FEC_API_KEY

Build

npm run build

Typüberprüfung

npm run typecheck

Live-Akzeptanzprüfungen

npm run acceptance:fec-day
npm run acceptance:notable

API-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 seconds

Docker

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-server

Releases

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

Lizenz

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

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    B
    maintenance
    Enables querying state-level campaign finance data, including donors, expenditures, committees, and candidates, from multiple state disclosure systems via a unified MCP interface.
    9
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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