ProPublica

Provides access to ProPublica's Nonprofit Explorer API for searching nonprofits, retrieving Form 990 data, and exporting CRM-ready insights.
  • python

1

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

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.

How to use

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.

How to install

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.

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:latest


Option 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 8080

## Additional notes

Cloud deployments must deploy from the deploy branch and aim for stable, released versions. DigitalOcean and Cloudflare deployments will use the deploy branch for production.

## Available deployment examples

These blocks show common server configuration examples for MCP clients and remote/local usage.

## MCP server configuration examples

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

## Local HTTP server configuration (local development)

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 8080


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


## Available tools

### search\_nonprofits

Search nonprofit organizations by name, location, and category.

### get\_organization

Retrieve detailed organization information by EIN.

### get\_organization\_filings

Fetch Form 990 filings for a given organization.

### analyze\_nonprofit\_financials

Analyze financial trends across multiple years for nonprofits.

### search\_similar\_nonprofits

Find similar nonprofit organizations based on criteria.

### export\_nonprofit\_data

Format data for CRM imports and downstream systems.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational