nonprofit-explorer-mcp-server

v0.1.8 pre-1.0

Search and explore 1.8M+ US nonprofits, fetch Form 990 financials, and access IRS filing history via MCP. STDIO or Streamable HTTP.

nonprofit-explorer.caseyjhand.com/mcp
claude mcp add --transport http nonprofit-explorer-mcp-server https://nonprofit-explorer.caseyjhand.com/mcp
codex mcp add nonprofit-explorer-mcp-server --url https://nonprofit-explorer.caseyjhand.com/mcp
{
  "mcpServers": {
    "nonprofit-explorer-mcp-server": {
      "url": "https://nonprofit-explorer.caseyjhand.com/mcp"
    }
  }
}
gemini mcp add --transport http nonprofit-explorer-mcp-server https://nonprofit-explorer.caseyjhand.com/mcp
{
  "mcpServers": {
    "nonprofit-explorer-mcp-server": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "https://nonprofit-explorer.caseyjhand.com/mcp"
      ]
    }
  }
}
{
  "mcpServers": {
    "nonprofit-explorer-mcp-server": {
      "type": "http",
      "url": "https://nonprofit-explorer.caseyjhand.com/mcp"
    }
  }
}
curl -X POST https://nonprofit-explorer.caseyjhand.com/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2026-07-28","capabilities":{},"clientInfo":{"name":"curl","version":"1.0.0"}}}'

Tools

3

nonprofit_get_organization

Full profile for a single tax-exempt org by EIN: legal name, address, NTEE classification, 501(c) type, IRS ruling date, and a financial snapshot from the most recent Form 990 filing (revenue, expenses, assets, net assets, and the source PDF link). Also returns the IRS Business Master File standing — whether contributions are deductible, exemption status, and public-charity vs. private-foundation classification. Use nonprofit_search first if you only have an org name — this tool requires an EIN. Data lags 1–2 years; the tax year is shown prominently. Data from ProPublica Nonprofit Explorer, sourced from IRS Form 990 filings.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "nonprofit_get_organization",
    "arguments": {
      "ein": "<ein>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ein": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991,
          "description": "EIN as integer (e.g., 530196605). Leading zeros are stripped — treat EIN as an integer key."
        },
        {
          "type": "string",
          "pattern": "^\\d{2}-?\\d{7}$",
          "description": "EIN as string, with or without hyphen (e.g., \"53-0196605\" or \"530196605\")."
        }
      ],
      "description": "Employer Identification Number. Accepts integer (530196605) or string with optional hyphen (\"53-0196605\"). Obtain from nonprofit_search results."
    }
  },
  "required": [
    "ein"
  ],
  "additionalProperties": false
}
view source ↗

nonprofit_get_filings

All Form 990 filings for a tax-exempt org by EIN: year-by-year revenue, expenses, assets, liabilities, net assets, revenue breakdown, executive compensation, and source PDF links. Use for trend analysis, due diligence, and accessing primary 990 documents. The filing year (tax_prd_yr) is the fiscal year of the return — data lags 1–2 years; always cite the year. An organization that resolves but has filed no 990 returns an empty filings array with a notice, not an error. Also returns filings_pdf_only — older filings with a PDF but no extracted financial data. Data from ProPublica Nonprofit Explorer, sourced from IRS Form 990 filings.

read
invocation
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "nonprofit_get_filings",
    "arguments": {
      "ein": "<ein>"
    }
  }
}
schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "ein": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991,
          "description": "EIN as integer (e.g., 530196605). Leading zeros are stripped — treat EIN as an integer key."
        },
        {
          "type": "string",
          "pattern": "^\\d{2}-?\\d{7}$",
          "description": "EIN as string, with or without hyphen (e.g., \"53-0196605\" or \"530196605\")."
        }
      ],
      "description": "Employer Identification Number. Use nonprofit_search to resolve an org name to its EIN."
    }
  },
  "required": [
    "ein"
  ],
  "additionalProperties": false
}
view source ↗