charity_lookupLABSCO SUMMARY
The prompt templates are what make the tools land correctly.
Charity verification is a domain where the wrong phrasing does harm — "not found" and "revoked" mean very different things to someone about to donate, and a model left to its own devices will blur them. Shipping the decision tree and the response templates alongside the tools is the difference between a lookup API and something you would put in front of a donor.
What it is
An MCP server over CharityAPI, which fronts the IRS nonprofit database. Three tools cover the verification questions people actually ask, and the server ships a set of prompt templates that give an assistant a decision tree for using them — which tool fits which situation, what to do when a status comes back revoked, and how to phrase the answer.
What you get
charity_lookup— the full IRS record for one organisation byein, including tax-deductibility status and codes, classification and activity codes, and the current rulingcharity_search— find organisations byquery,cityorstatewhen you do not have the EIN, withlimitandoffsetfor paginationpublic_charity_check— a direct yes-or-no on whether an organisation qualifies as a tax-deductible public charity- 14 specialized prompt templates, split between verification workflows and quick reference — including a red-flag guide for revoked, conditional and suspended organisations, and response templates for verified, failed and not-found outcomes
- EIN format validation, so a malformed identifier fails locally with a message rather than as an API error
Requirements
A CharityAPI account and its API key, supplied as CHARITY_API_KEY, with CHARITY_API_BASE_URL pointing at https://api.charityapi.org. Node.js 18 or higher; npm install and npm run build from a clone, then point the client at build/index.js over stdio. Rate limiting defaults to 100 requests per minute and is configurable through RATE_LIMIT_REQUESTS_PER_MINUTE.
Setup effort
Build from source — git clone https://github.com/briancasteel/charity-mcp-server.git
USE CASES
Checking a donation request that arrived unsolicited
Search by the organisation's name and location, then verify the match's public charity status before anyone sends money.
Confirming a deduction is allowed
Look up the EIN and read the tax-deductibility status and codes straight from the IRS record.
Handling an organisation whose status is not clean
Use the red-flag guidance to explain a revoked or conditional status rather than reporting it as a plain failure.
3 tools
Listed in project docs. Your client may show a different list.
charity_searchpublic_charity_checkBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
- node on PATH
- Node.js 18+
- CHARITY_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/briancasteel/charity-mcp-server.git
cd charity-mcp-server
npm install
npm run buildIn the client configuration, <YOUR_PATH_TO_CHARITY_MCP_SERVER> is the full path to this folder (the build writes build/index.js) and <YOUR_CHARITY_API_KEY> is your CharityAPI key.
MCP Clients
Claude Desktop
{
"mcpServers": {
"charity-server": {
"command": "node",
"args": [
"<YOUR_PATH_TO_CHARITY_MCP_SERVER>/build/index.js"
],
"env": {
"CHARITY_API_KEY": "<YOUR_CHARITY_API_KEY>"
}
}
}
}