Skip to main content
Glama

Find Funders of a Nonprofit

find_funders_of_nonprofit
Read-only

Find the foundations that have ACTUALLY granted to ONE specific nonprofit — the reverse of get_foundation_grants, over the real 7.5M-edge who-funds-whom grant graph (IRS 990-PF, 2022-2026).

Use this when the question is about a SINGLE org: "who funds Greater Chicago Food Depository?", "which foundations support this nonprofit?", or to prospect from one well-funded peer. To aggregate the same signal across SEVERAL peer orgs, use find_funders_for_peers instead.

Pass recipient_ein when known (most precise). Otherwise pass recipient_name and it is resolved to the best IRS-registered match — the response echoes which nonprofit it resolved to under 'recipient'; confirm it's the org the caller meant.

COVERAGE: US private-foundation (990-PF) grants only. Government grants, corporate giving, and most donor-advised funding do NOT appear, so an empty result means "no tracked foundation reported a grant to this org", not "this org has no funders" — say exactly that.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of funders to return (1-50)
min_amountNoMinimum single-grant size in USD (default 1000)
recipient_einNoEIN of the RECIPIENT nonprofit whose funders you want.
recipient_nameNoName of the recipient nonprofit (resolved via the IRS BMF registry when recipient_ein is not given).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint, the description discloses rich behavioral details: it is the reverse of get_foundation_grants, it resolves names via IRS BMF and echoes the resolved recipient, and it clarifies coverage limitations (990-PF only, not government/corporate/donor-advised). It also explains how to interpret empty results, which is important nuanced behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, then organized into usage, parameter guidance, and coverage caveats. Each sentence adds value and nothing is redundant; the length is appropriate for the complexity, with clear formatting (COVERAGE in caps) to highlight critical caveats.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential context: data source and time range, inverse relationship to another tool, single-org vs peer scope, parameter resolution behavior, and coverage limitations. The presence of an output schema relieves the need to describe return values, and the annotations cover safety, so this is complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all four parameters with descriptions, so baseline is 3. The description adds meaningful usage guidance beyond the schema by explaining the EIN-vs-name precedence and resolution behavior, which helps the agent choose parameters correctly. It does not elaborate on limit/min_amount, but those are already fully described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses a specific verb and resource: 'Find the foundations that have ACTUALLY granted to ONE specific nonprofit', and explicitly names the inverse of get_foundation_grants. It also distinguishes itself from the sibling find_funders_for_peers by contrasting single-org vs several-org use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('Use this when the question is about a SINGLE org'), gives example queries, and directs multi-org cases to find_funders_for_peers. It also provides parameter selection guidance (prefer recipient_ein, otherwise recipient_name with resolution confirmation).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool serves a distinct purpose: find_funders_for_peers uses peer-based collaborative filtering, search_funders does name/topic lookup, search_open_grants finds active RFPs, search_nonprofits searches recipients, get_funder_* tools provide different aspects of funder data, and utilities like health_check and list_tools are separate. No overlap.

Naming Consistency3/5

Naming conventions are mixed: 'find_', 'get_', 'search_', 'health_check', 'list_tools', 'get_ntee_codes'. While verbs are descriptive, there is no single consistent pattern (e.g., all search_ or all get_). This could cause slight confusion.

Tool Count5/5

12 tools is well-scoped for a foundation discovery server. Each tool addresses a clear need (prospecting, detail, financials, jobs, utilities) without being excessive or insufficient.

Completeness5/5

The tool set covers the full lifecycle of foundation research: finding funders (by peers, name, open grants), getting detailed profiles, grants, stats, financials, NTEE codes, and even funder jobs. The inclusion of recipient-side search (search_nonprofits) complements the funder side, leaving no obvious gaps.

Resources