FEC MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add -e "FEC_API_KEY=${FEC_API_KEY}" fec-mcp-server -- npx fec-mcp-server
Required:FEC_API_KEY
README.md

Query FEC campaign finance data and track federal election transparency.

FEC MCP Server

A Model Context Protocol (MCP) server for Federal Election Commission (FEC) campaign finance research and transparency. This server provides tools to search candidates, retrieve financial reports, and analyze contributions and disbursements from official FEC data.

Features

  • search_candidates: Search for federal candidates by name, filter by election year, office, state, or party
  • get_committee_finances: Retrieve financial summaries including receipts, disbursements, cash on hand, and burn rate
  • get_receipts: Get itemized contributions (Schedule A) with donor details
  • get_disbursements: Get itemized expenditures (Schedule B) with recipient and purpose details
  • Flagged-first notable analysis: Optional notable blocks for receipts/disbursements with reference-list + heuristic flag reasons
  • get_independent_expenditures: Track Super PAC spending for or against candidates (Schedule E)
  • get_committee_flags: Check for RFAIs, amendments, and compliance red flags
  • search_donors: Search individual donors by name, employer, or occupation across all committees
  • search_spending: Search campaign spending by description or recipient across all committees

All data comes directly from the official OpenFEC API.

Installation

Prerequisites

Install from npm

npm install -g fec-mcp-server

Install from source

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

Configuration

Set your FEC API key as an environment variable:

export FEC_API_KEY=your-api-key-here

Or create a .env file in your project root:

FEC_API_KEY=your-api-key-here

Usage with Claude Desktop

Add the server to your Claude Desktop configuration file:

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"
      }
    }
  }
}

Or if installed globally:

{
  "mcpServers": {
    "fec": {
      "command": "fec-mcp-server",
      "env": {
        "FEC_API_KEY": "your-api-key-here"
      }
    }
  }
}

Tools

search_candidates

Search FEC records for candidates by name.

Parameters:

  • q (required): Candidate name to search for
  • election_year (optional): Filter by election year (e.g., 2024)
  • office (optional): Filter by office - H (House), S (Senate), P (President)
  • state (optional): Filter by state (2-letter code)
  • party (optional): Filter by party code (e.g., "DEM", "REP")

Example:

Search for candidates named "Smith" running for Senate in 2024

get_committee_finances

Retrieve financial summary for a campaign committee.

Parameters:

  • committee_id (required): FEC committee ID (e.g., "C00401224")
  • cycle (optional): Two-year election cycle (e.g., 2024)

Returns:

  • Total receipts and disbursements
  • Cash on hand
  • Debts owed
  • Burn rate (spending/income ratio)
  • Contribution breakdown (individual, PAC, party)
  • Small donor percentage

Example:

Get the financial summary for committee C00401224

get_receipts

Retrieve itemized contributions (Schedule A) received by a committee.

Parameters:

  • committee_id (required): FEC committee ID
  • min_amount (optional): Minimum contribution amount (default: $1,000)
  • two_year_transaction_period (optional): Election cycle (e.g., 2024)
  • cycle (optional): Alias for two_year_transaction_period; auto-aligns receipts with finance cycle usage
  • contributor_type (optional): "individual" or "committee"
  • include_notable (optional): Include flagged-first notable block (default: true)
  • fuzzy_threshold (optional): Fuzzy matching threshold for reference-list flags (default: 90, range: 80-99)
  • limit (optional): Number of results (default: 20, max: 100)
  • sort_by (optional): "amount" or "date" (default: "amount")

Example:

Show the top 10 contributions over $5,000 to committee C00401224

get_disbursements

Retrieve itemized expenditures (Schedule B) made by a committee.

Parameters:

  • committee_id (required): FEC committee ID
  • min_amount (optional): Minimum disbursement amount (default: $1,000)
  • two_year_transaction_period (optional): Election cycle
  • cycle (optional): Alias for two_year_transaction_period; auto-aligns disbursements with finance cycle usage
  • purpose (optional): Filter by purpose keyword (e.g., "MEDIA", "CONSULTING")
  • include_notable (optional): Include flagged-first notable block (default: true)
  • fuzzy_threshold (optional): Fuzzy matching threshold for reference-list flags (default: 90, range: 80-99)
  • limit (optional): Number of result

Tools (4)

search_candidatesSearch for federal candidates by name, filter by election year, office, state, or party.
get_committee_financesRetrieve financial summaries including receipts, disbursements, cash on hand, and burn rate.
get_receiptsGet itemized contributions (Schedule A) with donor details.
get_disbursementsGet itemized expenditures (Schedule B) with recipient and purpose details.

Environment Variables

FEC_API_KEYrequiredAPI key obtained from api.open.fec.gov

Configuration

claude_desktop_config.json
{"mcpServers": {"fec": {"command": "npx", "args": ["fec-mcp-server"], "env": {"FEC_API_KEY": "your-api-key-here"}}}}

Try it

Search for candidates named 'Smith' running for Senate in 2024.
Get the financial summary for committee C00401224.
Show the top 10 contributions over $5,000 to committee C00401224.
Find recent campaign expenditures for committee C00401224 with purpose 'MEDIA'.

Frequently Asked Questions

What are the key features of FEC MCP Server?

Search federal candidates by name, party, state, or office.. Retrieve detailed financial summaries including cash on hand and burn rate.. Access itemized contribution and expenditure data from Schedule A and B.. Track Super PAC spending via independent expenditures.. Check for compliance red flags and RFAIs..

What can I use FEC MCP Server for?

Journalists researching campaign funding sources for specific candidates.. Political analysts tracking Super PAC spending patterns in federal elections.. Researchers monitoring compliance and financial health of political committees..

How do I install FEC MCP Server?

Install FEC MCP Server by running: npm install -g fec-mcp-server

What MCP clients work with FEC MCP Server?

FEC MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep FEC MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare