Skip to main content
Glama
reichaves

FEC Campaign Finance MCP Server

by reichaves

Servidor MCP de Finanzas de Campaña de la FEC

Autor: Reinaldo Chaves (reichaves@gmail.com)

GitHub Python License FastMCP OpenFEC

Lea esto en Portugués

Un servidor MCP que conecta la API de OpenFEC a asistentes de IA, permitiéndole investigar las finanzas de campañas federales de EE. UU. a través de conversaciones naturales.

Diseñado para periodistas de datos, investigadores y ciudadanos que necesitan explorar datos complejos de la Comisión Federal de Elecciones (FEC) sin conocer directamente la API.


Tabla de contenidos


¿Qué es MCP?

MCP (Model Context Protocol) es un estándar abierto que permite a los asistentes de IA comunicarse con sistemas externos —bases de datos, APIs, archivos, servicios— de forma segura y uniforme.

Los tres tipos de capacidades de MCP

Tipo

Qué es

Ejemplo en este proyecto

Herramientas

Funciones que la IA puede llamar para obtener o manipular datos

search_candidates(), get_top_donors()

Recursos

Datos estáticos o contextuales que siempre están disponibles

Tablas de códigos de la FEC, IDs notables, Glosario

Prompts

Plantillas de flujo de trabajo que guían investigaciones complejas

investigate_candidate(), follow_the_money()


¿Qué hace este proyecto?

Este proyecto expone la API de OpenFEC como un servidor MCP. El resultado: puede investigar el financiamiento político simplemente conversando con un LLM.

Capacidades clave

  • Búsqueda de candidatos: Encuentre cualquier candidato federal por nombre, estado, partido u oficina.

  • Análisis financiero: Totales recaudados, gastados, deudas y efectivo disponible (Cash on Hand).

  • Seguimiento de donantes: Identifique a los principales financistas de una campaña y sus empleadores.

  • Análisis geográfico: Vea de qué estados proviene el dinero de un candidato.

  • Super PACs y gastos independientes: Monitoree grupos externos que gastan para apoyar o atacar a candidatos.

  • Informes oficiales: Acceda a las declaraciones presentadas ante la FEC por campañas y comités.

  • Investigación guiada: Flujos de trabajo listos para usar para investigaciones periodísticas.

🔍 Nota metodológica (OSINT y arquitectura de datos)

La API de la FEC separa los "Totales de candidatos" (el punto final principal del comité oficial) del dinero alojado en Comités de Acción Política (PACs). El fec_mcp fue diseñado estrictamente bajo el principio de "Cero alucinaciones". Expone los datos exactamente como los clasifica la burocracia gubernamental. En investigaciones OSINT, depende del agente de IA o del periodista usar search_candidates para listar todos los Comités Autorizados Principales y PACs vinculados a un político y consultar sus finanzas individualmente.

Soporte multilingüe (i18n)

El servidor admite internacionalización. El idioma predeterminado para respuestas y consejos es el inglés. Puede cambiar esto configurando la variable de entorno FEC_MCP_LANG (por ejemplo, FEC_MCP_LANG=pt-br).


Herramientas disponibles

Herramientas

  • search_candidates: Buscar candidatos federales.

  • get_candidate_finances: Obtener totales financieros de un candidato.

  • search_contributions: Buscar donaciones individuales (Anexo A).

  • get_top_donors: Listar los principales donantes de un comité.

  • get_contributions_by_state: Agregar donaciones por estado.

  • get_campaign_expenditures: Listar los gastos de una campaña (Anexo B).

  • get_independent_expenditures: Buscar gastos independientes realizados por Super PACs.

  • get_candidate_filings / get_committee_filings: Listar informes financieros presentados ante la FEC.

  • search_pacs: Buscar PACs y Super PACs por nombre.

  • fec_help: Documentación interna para las herramientas.

  • suggest_investigation: Sugerencias de enfoques periodísticos basados en datos de la FEC.

Recursos

URI

Contenido

fec://reference/codes

Códigos de partido, oficinas, tipos de comité, tipos de presentación, límites de donación

fec://reference/notable_ids

IDs de candidatos presidenciales, comités nacionales, Super PACs relevantes

fec://reference/api_info

Cobertura de datos, límites de tasa, consejos de uso

fec://reference/glossary

Glosario de terminología de la FEC (ej. PAC, Anexo A, Efectivo disponible)

Prompts

  • investigate_candidate(candidate_name): Flujo de trabajo paso a paso para una investigación financiera completa de un candidato.

  • follow_the_money(company_name): Rastrea la influencia política de una empresa.

  • compare_candidates(candidate1, candidate2): Comparación lado a lado de dos candidatos.


Instalación

Requisitos previos

Pasos

git clone https://github.com/your-username/fec-mcp-server.git
cd fec-mcp-server
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
echo "FEC_API_KEY=your_key_here" > .env

Ejemplos de uso

Investigar a un candidato

"Investiga las finanzas de campaña de Kamala Harris en 2024"

El LLM ejecutará automáticamente:

  1. search_candidates(name="Kamala Harris", election_year=2024)

  2. get_candidate_finances(candidate_id="P00009423")

  3. get_top_donors(committee_id="C00703975")

Comparar candidatos

"Compara las finanzas de Trump y Biden para 2024"

El prompt compare_candidates genera una tabla completa con todas las métricas lado a lado.


Limitaciones conocidas

  • Solo datos federales: Las elecciones estatales y locales no están en la FEC.

  • Dinero oscuro: Las donaciones a 501(c)(4) no se divulgan a la FEC.

  • Latencia: Los puntos finales de donaciones individuales (schedule_a) pueden ser lentos.

  • Límite de tasa: 1,000 solicitudes/hora con la clave de API gratuita.

Recursos externos

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/reichaves/fec-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server