fec-mcp-server
Servidor MCP de la FEC
Un servidor del Protocolo de Contexto de Modelo (MCP) para la investigación y transparencia de la financiación de campañas de la Comisión Federal de Elecciones (FEC). Este servidor proporciona herramientas para buscar candidatos, recuperar informes financieros y analizar contribuciones y desembolsos a partir de los datos oficiales de la FEC.
Características
search_candidates: Busca candidatos federales por nombre, filtrando por año electoral, cargo, estado o partido.
get_committee_finances: Recupera resúmenes financieros, incluidos ingresos, desembolsos, efectivo disponible y tasa de consumo.
get_receipts: Obtiene contribuciones detalladas (Anexo A) con información de los donantes.
get_disbursements: Obtiene gastos detallados (Anexo B) con información del destinatario y el propósito.
Análisis notable con prioridad de alertas: Bloques notables opcionales para recibos/desembolsos con lista de referencia + razones de alertas heurísticas.
get_independent_expenditures: Rastrea el gasto de los Super PAC a favor o en contra de candidatos (Anexo E).
get_committee_flags: Comprueba RFAI, enmiendas y otras alertas de cumplimiento.
search_donors: Busca donantes individuales por nombre, empleador u ocupación en todos los comités.
search_spending: Busca gastos de campaña por descripción o destinatario en todos los comités.
Todos los datos provienen directamente de la API oficial de OpenFEC.
Related MCP server: @cyanheads/openfec-mcp-server
Instalación
Requisitos previos
Node.js 20 o superior
Una clave de API de la FEC (gratuita en api.open.fec.gov)
Instalar desde npm
npm install -g fec-mcp-serverInstalar desde el código fuente
git clone <repository-url>
cd fecmcp
npm install
npm run buildConfiguración
Establece tu clave de API de la FEC como una variable de entorno:
export FEC_API_KEY=your-api-key-hereO crea un archivo .env en la raíz de tu proyecto:
FEC_API_KEY=your-api-key-hereUso con Claude Desktop
Añade el servidor a tu archivo de configuración de Claude Desktop:
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"
}
}
}
}O si se instaló globalmente:
{
"mcpServers": {
"fec": {
"command": "fec-mcp-server",
"env": {
"FEC_API_KEY": "your-api-key-here"
}
}
}
}Herramientas
search_candidates
Busca registros de la FEC para candidatos por nombre.
Parámetros:
q(obligatorio): Nombre del candidato a buscarelection_year(opcional): Filtrar por año electoral (ej. 2024)office(opcional): Filtrar por cargo - H (Cámara), S (Senado), P (Presidente)state(opcional): Filtrar por estado (código de 2 letras)party(opcional): Filtrar por código de partido (ej. "DEM", "REP")
Ejemplo:
Search for candidates named "Smith" running for Senate in 2024get_committee_finances
Recupera el resumen financiero de un comité de campaña.
Parámetros:
committee_id(obligatorio): ID del comité de la FEC (ej. "C00401224")cycle(opcional): Ciclo electoral de dos años (ej. 2024)
Resultados:
Total de ingresos y desembolsos
Efectivo disponible
Deudas pendientes
Tasa de consumo (ratio gasto/ingresos)
Desglose de contribuciones (individual, PAC, partido)
Porcentaje de pequeños donantes
Ejemplo:
Get the financial summary for committee C00401224get_receipts
Recupera contribuciones detalladas (Anexo A) recibidas por un comité.
Parámetros:
committee_id(obligatorio): ID del comité de la FECmin_amount(opcional): Monto mínimo de contribución (predeterminado: $1,000)two_year_transaction_period(opcional): Ciclo electoral (ej. 2024)cycle(opcional): Alias paratwo_year_transaction_period; alinea automáticamente los recibos con el uso del ciclo financierocontributor_type(opcional): "individual" o "committee"include_notable(opcional): Incluir bloque notable con prioridad de alertas (predeterminado:true)fuzzy_threshold(opcional): Umbral de coincidencia difusa para alertas de listas de referencia (predeterminado:90, rango:80-99)limit(opcional): Número de resultados (predeterminado: 20, máx: 100)sort_by(opcional): "amount" o "date" (predeterminado: "amount")
Ejemplo:
Show the top 10 contributions over $5,000 to committee C00401224get_disbursements
Recupera gastos detallados (Anexo B) realizados por un comité.
Parámetros:
committee_id(obligatorio): ID del comité de la FECmin_amount(opcional): Monto mínimo de desembolso (predeterminado: $1,000)two_year_transaction_period(opcional): Ciclo electoralcycle(opcional): Alias paratwo_year_transaction_period; alinea automáticamente los desembolsos con el uso del ciclo financieropurpose(opcional): Filtrar por palabra clave de propósito (ej. "MEDIA", "CONSULTING")include_notable(opcional): Incluir bloque notable con prioridad de alertas (predeterminado:true)fuzzy_threshold(opcional): Umbral de coincidencia difusa para alertas de listas de referencia (predeterminado:90, rango:80-99)limit(opcional): Número de resultados (predeterminado: 20, máx: 100)sort_by(opcional): "amount" o "date" (predeterminado: "amount")
Ejemplo:
Show media-related spending over $10,000 by committee C00401224get_independent_expenditures
Recupera gastos independientes (Anexo E): dinero gastado por PAC y Super PAC para apoyar u oponerse a candidatos.
Parámetros:
candidate_id(opcional): ID del candidato de la FEC para ver los gastos dirigidos a élcommittee_id(opcional): ID del comité de la FEC para ver sus gastos independientessupport_oppose(opcional): Filtrar por "support" (apoyo) u "oppose" (oposición)min_amount(opcional): Monto mínimo de gastocycle(opcional): Ciclo electoral de dos añoslimit(opcional): Número de resultados (predeterminado: 20)
Nota: Es obligatorio proporcionar candidate_id o committee_id.
Ejemplo:
Show independent expenditures opposing candidate P00009423get_committee_flags
Comprueba si un comité de campaña tiene alertas de cumplimiento, incluyendo RFAI y enmiendas.
Parámetros:
committee_id(obligatorio): ID del comité de la FECcycle(opcional): Ciclo electoral de dos años
Resultados:
Recuento y detalles de RFAI (Solicitud de Información Adicional)
Recuento y detalles de enmiendas
Problemas de cumplimiento recientes
Ejemplo:
Check committee C00401224 for any compliance flagssearch_donors
Busca donantes individuales en todas las declaraciones de la FEC por nombre, empleador u ocupación.
Parámetros:
contributor_name(opcional): Nombre del donante a buscarcontributor_employer(opcional): Nombre del empleador (ej. "Goldman Sachs")contributor_occupation(opcional): Ocupación (ej. "Lobbyist")contributor_state(opcional): Código de estado de dos letrasmin_amount(opcional): Monto mínimo de contribución (predeterminado: $200)cycle(opcional): Ciclo electoral de dos añoslimit(opcional): Número de resultados (predeterminado: 20)
Nota: Es obligatorio proporcionar al menos uno de los siguientes: contributor_name, contributor_employer o contributor_occupation.
Ejemplo:
Find contributions from employees of "Meta" in Californiasearch_spending
Busca gastos de campaña (Anexo B) en todos los comités por descripción o destinatario.
Parámetros:
description(opcional): Palabra clave en la descripción del gasto (ej. "travel", "consulting")recipient_name(opcional): Nombre del destinatario/proveedorrecipient_state(opcional): Código de estado de dos letrasmin_amount(opcional): Monto mínimo (predeterminado: $500)cycle(opcional): Ciclo electoral de dos añoslimit(opcional): Número de resultados (predeterminado: 20)
Nota: Es obligatorio proporcionar al menos uno de los siguientes: description o recipient_name.
Ejemplo:
Find spending on "golf" or "resort" across all committeesDesarrollo
Configuración
npm installEjecutar pruebas
npm test # Single run
npm run test:coverage # With coverage
npm run test:e2e # Live API tests, requires FEC_API_KEYConstrucción
npm run buildComprobación de tipos
npm run typecheckComprobaciones de aceptación en vivo
npm run acceptance:fec-day
npm run acceptance:notableLímites de tasa de la API
La API de la FEC permite 1,000 solicitudes por hora con una clave de API. Para límites más altos (hasta 7,200 solicitudes/hora), contacta con la FEC.
Tiempos de espera y latencia de la API
El tiempo de espera predeterminado para las solicitudes es de 30 segundos. Las herramientas de búsqueda (search_candidates, search_donors, search_spending) utilizan un tiempo de espera de 60 segundos porque estos endpoints de la API de la FEC realizan escaneos amplios de bases de datos y son inherentemente más lentos.
Para anular el tiempo de espera predeterminado globalmente, establece la variable de entorno FEC_API_TIMEOUT_MS:
export FEC_API_TIMEOUT_MS=45000 # 45 secondsDocker
Construye la imagen del contenedor localmente:
docker build -t fec-mcp-server .Ejecútalo con tu clave de API proporcionada en tiempo de ejecución:
docker run --rm -i \
-e FEC_API_KEY=your-api-key-here \
fec-mcp-serverVersiones
Las comprobaciones de Glama esperan una versión de GitHub. Después de fusionar los cambios de tu próximo repositorio, crea y publica una etiqueta como v1.0.0 desde GitHub o con:
git tag v1.0.0
git push origin v1.0.0Licencia
MIT
Descargo de responsabilidad
Esta herramienta está diseñada para la investigación de transparencia en la financiación de campañas. Proporciona acceso a datos públicos de la FEC de manera neutral y no partidista. La herramienta y sus resultados no deben utilizarse para promover u oponerse a ningún candidato o partido político.
Recursos
Atribución de la lista de referencia:
github/DGA-Research/FEC_Coder_Project_Streamlit(instantáneas incluidas enresources/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