home / mcp / propublica mcp server
Provides access to ProPublica's Nonprofit Explorer API for searching nonprofits, retrieving Form 990 data, and exporting CRM-ready insights.
Configuration
View docs{
"mcpServers": {
"asachs01-propublica-mcp": {
"url": "https://propublica-mcp-lk97f.ondigitalocean.app",
"headers": {
"LOG_LEVEL": "INFO",
"API_RATE_LIMIT": "60",
"PROPUBLICA_API_BASE_URL": "https://api.propublica.org"
}
}
}
}You run a ProPublica MCP Server to access and analyze nonprofit Form 990 data through the MCP transport protocol. This server lets you search nonprofits, fetch organization profiles and filings, analyze financial trends, and export data for CRM workflows, enabling AI-assisted prospect research and CRM integration.
You connect an MCP client to the server using HTTP transport for remote deployments or stdio transport for local development. The server implements the MCP 2025-03-26 Streamable HTTP transport, so you can query nonprofit data, get organizational details, view Form 990 filings, analyze finances, and export results for CRM import.
Prerequisites You need a compatible MCP client (for example Claude Desktop or Cursor). For development, ensure Python 3.8 or higher and Git are installed.
Option 1: DXT Extension (Recommended) Install from GitHub Releases by downloading the propublica-mcp-[version].dxt file and installing it in your MCP client.
For Claude Desktop use one of these commands after downloading the DXT file or using the latest release URL.
``bash
claude-desktop install propublica-mcp-[version].dxt
`
`bash
claude-desktop install https://github.com/asachs01/propublica-mcp/releases/latest/download/propublica-mcp.dxt
``
Option 2: Docker (Production) Pull and run the latest image.
# Pull the latest image
docker pull ghcr.io/asachs01/propublica-mcp:latest
# Run the server
docker run -it --rm ghcr.io/asachs01/propublica-mcp:latestOption 3: Cloud Deployment Follow the cloud deployment setup to host the server and obtain a public URL as described in the deployment guides for DigitalOcean App Platform or Cloudflare Workers.
Option 4: Local Python Installation (Development) Clone the project and run locally with Python.
# Clone the repository
git clone https://github.com/asachs01/propublica-mcp.git
cd propublica-mcp
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install the package
pip install -e .
# Run the server in stdio mode (local MCP clients)
python -m propublica_mcp.server
# Or run the server in HTTP mode for remote MCP clients
python -m propublica_mcp.server --http --host 0.0.0.0 --port 8080Cloud deployments must deploy from the deploy branch and aim for stable, released versions. DigitalOcean and Cloudflare deployments will use the deploy branch for production.
These blocks show common server configuration examples for MCP clients and remote/local usage.
HTTP remote server configuration (remote MCP client) ā URL provided by the hosting platform.
{
"mcpServers": {
"propublica_mcp": {
"transport": {
"type": "http",
"url": "https://propublica-mcp-lk97f.ondigitalocean.app"
},
"description": "ProPublica Nonprofit Explorer MCP Server (Remote)"
}
}
}Start a local HTTP server and point MCP clients to http://localhost:8080.
# Start HTTP server locally
python -m propublica_mcp.server --http --host 0.0.0.0 --port 8080Then configure as a remote MCP server in your client with the local URL.
{
"mcpServers": {
"propublica_mcp": {
"transport": {
"type": "http",
"url": "http://localhost:8080"
},
"description": "ProPublica Nonprofit Explorer MCP Server (Local HTTP)"
}
}
}Search nonprofit organizations by name, location, and category.
Retrieve detailed organization information by EIN.
Fetch Form 990 filings for a given organization.
Analyze financial trends across multiple years for nonprofits.
Find similar nonprofit organizations based on criteria.
Format data for CRM imports and downstream systems.