Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.Kindora-PBC/foundation-discovery

REMOTE · KINDORA-MCP.AZUREWEBSITES.NET · SCANNED AUG 3

Foundation discovery and grant intelligence for nonprofits. 174K+ US funders, IRS 990 data.

+12 this week 70 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security74
Transport & Reachability100
Schema Quality & AI Usability58
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7017 tokens (~539/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 98% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · kindora-mcp.azurewebsites.net

# add to Claude Code
claude mcp add --transport http kindora-pbc-foundation-discovery https://kindora-mcp.azurewebsites.net/mcp/
# ~/.codex/config.toml
[mcp_servers.kindora-pbc-foundation-discovery]
url = "https://kindora-mcp.azurewebsites.net/mcp/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kindora-pbc-foundation-discovery": {
      "type": "remote",
      "url": "https://kindora-mcp.azurewebsites.net/mcp/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add kindora-pbc-foundation-discovery --url https://kindora-mcp.azurewebsites.net/mcp/ --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  kindora-pbc-foundation-discovery:
    url: "https://kindora-mcp.azurewebsites.net/mcp/"
// mcp.json
{
  "mcpServers": {
    "kindora-pbc-foundation-discovery": {
      "type": "http",
      "url": "https://kindora-mcp.azurewebsites.net/mcp/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +4
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +5
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 57

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://kindora-mcp.azurewebsites.net/mcp · Declared URL https://kindora-mcp.azurewebsites.net/mcp/

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.azurewebsites.net,O=Microsoft Corporation,L=Redmond,ST=WA,C=US CN=Microsoft TLS G2 RSA CA OCSP 16,O=Microsoft Corporation,C=US 26 Jun 2026 23 Dec 2026 RSA 2048 SHA384-RSA 550060d6b8e016dcba12ac285f00000060d6b8
SANs: *.azurewebsites.net, *.scm.azurewebsites.net, *.sso.azurewebsites.net, *.eastus2-01.azurewebsites.net, *.scm.eastus2-01.azurewebsites.net, *.sso.eastus2-01.azurewebsites.net, *.eastus2.c.azurewebsites.net, *.scm.eastus2.c.azurewebsites.net, *.sso.eastus2.c.azurewebsites.net, *.azure-mobile.net, *.scm.azure-mobile.net
CN=Microsoft TLS G2 RSA CA OCSP 16,O=Microsoft Corporation,C=US (CA) CN=Microsoft TLS RSA Root G2,O=Microsoft Corporation,C=US 1 Aug 2025 3 Jun 2029 RSA 4096 SHA384-RSA 330000000e42938f25dc51a99b00000000000e
CN=Microsoft TLS RSA Root G2,O=Microsoft Corporation,C=US (CA) CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US 21 May 2025 19 Jun 2029 RSA 4096 SHA384-RSA b0c6b2c466917b04773c647d4afc0c8
DNSSEC insecure

Validation of kindora-mcp.azurewebsites.net. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
net. present 37331 13 Verified
azurewebsites.net. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Transports 3 probes
Transport URL Outcome Status Location
streamable-http https://kindora-mcp.azurewebsites.net/mcp/ Redirected 307 /mcp
streamable-http · followed https://kindora-mcp.azurewebsites.net/mcp Verified 200
http (plaintext) http://kindora-mcp.azurewebsites.net/mcp/ HTTPS enforced 301 https://kindora-mcp.azurewebsites.net/mcp/
MCP tools — 13 exposed · ~5,807 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
find_funders_for_peers ~462

Find grantmakers that have ACTUALLY funded organizations LIKE the caller's, using the real 7.5M-edge who-funds-whom grant graph (IRS 990-PF, 2022-2026). This is the strongest free-tier prospecting move: collaborative-filtering peer prospecting, distinct from search_funders (name/topic lookup) and search_open_grants (active RFPs). HOW IT WORKS: for each peer organization, it looks up every foundation that granted to that peer, then merges funders across peers. A funder that gave to several of your peers ranks highest. Every result carries real grant evidence — which peers the funder funded and for how much. INPUTS (provide one): - peer_orgs (PREFERRED): names or 9-digit EINs of organizations LIKE the one you're raising for — peers, aspirational orgs, or orgs with a similar mission. The graph is keyed by recipient EIN, so naming real peers yields the sharpest evidence. Up to 12 are used. - org_description: a plain-language description of the nonprofit (mission, cause, who it serves). Fallback that resolves well-funded peers by keyword over the IRS BMF; prefer peer_orgs when you can name a few peers. RECOMMENDED WORKFLOW: establish the org's mission/cause, then name 2-5 peer organizations and call this tool. Deepen any candidate with get_funder_profile / get_foundation_grants (pass the returned ein).

NameTypeReqDescription
limitintegerMaximum number of funders to return (1-50)
locationOptional 2-letter state or "City, ST". Only biases peer discovery under org_description; never filters funders.
min_amountintegerMinimum single-grant size in USD (default 5000)
org_descriptionPlain-language description of the nonprofit (fallback). Example: "youth mental health services for teens".
peer_orgsNames or EINs of peer / aspirational organizations. Example: ["Greater Chicago Food Depository", "Feeding America"].

Structured output declared, but exposes no named fields.

No examples provided.

find_funders_of_nonprofit ~326

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.

NameTypeReqDescription
limitintegerMaximum number of funders to return (1-50)
min_amountintegerMinimum single-grant size in USD (default 1000)
recipient_einEIN of the RECIPIENT nonprofit whose funders you want.
recipient_nameName of the recipient nonprofit (resolved via the IRS BMF registry when recipient_ein is not given).

Structured output declared, but exposes no named fields.

No examples provided.

get_990_summary ~129

Get IRS 990 filing summary and financial trends for a foundation. This tool retrieves IRS 990 filing data (Form 990 or 990-PF) for a foundation, showing financial information over time. It calculates year-over-year trends for assets, grants, and revenue.

NameTypeReqDescription
einstringyesFoundation EIN (9 digits). Can include hyphens (e.g., "94-3136777") or be provided as digits only (e.g., "943136777").
yearsintegerNumber of years of filing data to return (1-10)

Structured output declared, but exposes no named fields.

No examples provided.

get_foundation_grants ~786

View grants made by a funder across IRS, web-extracted, and registry records. Merges five stores. **(1) IRS 990-PF filings** — structured grant lines from the ~143K US private foundations that file 990s, keyed by EIN. **(2) Web-extracted grant records** — our enrichment pipeline crawls funder websites and an LLM extracts their grant lists. This second store covers ~15K additional US foundations AND ~17K non-990 funders (European foundations, US community foundations, DAFs, corporate giving programs). **(3) 360Giving** UK GrantNav rows, **(4) CRA T3010** Canadian rows, and **(5) ACRI** Italian banking-foundation erogazioni are structured registry sources with original-currency amounts preserved. Use this for ANY funder when the user asks about grants given, including European funders without an EIN (pass ``funder_id`` instead of ``ein``). Each row in the response carries a ``source`` field (``"990"`` for IRS data, ``"discovered_web"`` for crawled, plus ``"360giving"``, ``"t3010"``, and ``"acri"`` for structured registries). When web-extracted rows for a funder lack captured amounts (common for European funders that publish PDFs rather than open data), the response includes an ``amount_coverage_note`` in ``data_quality`` — surface that caveat in your reply. Note: ``recipient_country`` reflects the recipient organization's HQ country (where the grantee is registered), not necessarily where the program work is implemented.

NameTypeReqDescription
einstringFoundation EIN (9 digits, hyphens OK). Required for US 990 path. Optional if ``funder_id`` is supplied for a non-990 funder.
funder_idOptional non-990 funder id. Accepts a bare UUID or prefixed id like ``n9f:<uuid>`` / ``non990:<uuid>``. Use this for European funders, US community foundations, DAFs, and other funders that…
limitintegerMaximum number of grants to return (1-50)
ntee_codeOptional NTEE code to filter recipient organizations. Example: "B41" (Higher Education), "E" (Health). Use get_ntee_codes to browse available codes.
purpose_keywordOptional case-insensitive substring to match against the grant_purpose field. Useful for narrowing to a topic when recipient NTEE code is too coarse — e.g., purpose_keyword="vaccine" surfaces G…
recipient_countryOptional recipient country filter. Use ISO 3166-1 alpha-2 codes (e.g., "CH" Switzerland, "ZA" South Africa, "NG" Nigeria, "IN" India). Legacy FIPS 10-4 codes ("SZ", "SF", "NI") are also accepte…
recipient_stateOptional 2-letter US state code to filter by recipient state (e.g., "CA", "NY").
yearOptional year to filter by (filing_year for 990, grant_year for discovered). If not provided, returns all available years.

Structured output declared, but exposes no named fields.

No examples provided.

get_funder_profile ~253

Get detailed profile information for a specific funder. Polymorphic identifier — pass ``ein`` for US 990 foundations OR ``funder_id`` (bare UUID / ``n9f:<uuid>``) for non-990 funders such as European, UK 360Giving, and Canadian CRA T3010 funders. ``search_funders`` returns both fields on every hit, so the caller can hand either one back here. At least one identifier must be supplied. Use this after searching for funders to get detailed information about a specific one.

NameTypeReqDescription
einFoundation EIN (9 digits) for US 990 funders. Can include hyphens (e.g., "94-3136777") or be provided as digits only (e.g., "943136777"). Optional if ``funder_id`` is supplied for a non-990 funder.
funder_idOptional non-990 funder id. Accepts a bare UUID or ``n9f:<uuid>`` / ``non990:<uuid>``. The ``usf:<ein>`` prefix is also accepted and routes back to the EIN path.

Structured output declared, but exposes no named fields.

No examples provided.

get_funder_stats ~194

Get comprehensive giving statistics for a funder. This tool calculates aggregate statistics about a funder's grantmaking from IRS 990-PF data, web-extracted grant records, 360Giving rows, CRA T3010 rows, and ACRI rows. It provides lifetime totals, focus areas, geographic distribution, and year-over-year trends. Pass ``ein`` for US 990 foundations, or ``funder_id`` (bare UUID / ``n9f:<uuid>``) for non-990 funders.

NameTypeReqDescription
einstringFoundation EIN (9 digits). Can include hyphens (e.g., "94-3136777") or be provided as digits only (e.g., "943136777"). Optional when funder_id is supplied.
funder_idOptional non-990 funder id (bare UUID / ``n9f:<uuid>``).

Structured output declared, but exposes no named fields.

No examples provided.

get_ntee_codes ~145

Browse NTEE (National Taxonomy of Exempt Entities) classification codes. NTEE codes are used to classify nonprofit organizations by their primary purpose. This tool helps you find the right NTEE code for searching or understanding a foundation's focus area.

NameTypeReqDescription
categorySingle letter (A-Z) to browse codes in a major category. Example: "A" for Arts, Culture & Humanities "B" for Education "E" for Health Care "P" for Human Se…
querySearch term to find codes by description (case-insensitive). Example: "education", "youth", "environment"

Structured output declared, but exposes no named fields.

No examples provided.

health_check ~55

Check server health and connectivity. Returns: Dictionary with health status including: - status: "healthy" or "unhealthy" - version: Server version - environment: Current environment (dev/staging/prod)

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

list_tools ~91

List available MCP tools and get detailed help. Use this tool to discover what tools are available and how to use them. Call without parameters to see all tools, or provide a tool name to get detailed help including parameters, examples, and related tools.

NameTypeReqDescription
tool_nameOptional name of a specific tool to get detailed help for. Example: "search_funders", "get_funder_profile"

Structured output declared, but exposes no named fields.

No examples provided.

search_funder_jobs ~775

Search OPEN PHILANTHROPY JOBS at grantmaking foundations. Surfaces roles involved in giving away money, running philanthropic programs, or executive leadership of philanthropic work. Backed by a weekly scrape of ~50K funder careers pages + GPT-5.4-mini classification against an 8-category taxonomy. Categories (use the `category` param to filter): - grantmaking: Program officers, grants managers, RFP reviewers - program_leadership: VP Programs, Chief Program Officer, Program Director (cause-area) - executive_leadership: CEO, President, Executive Director at a foundation or community foundation - philanthropy_operations: Foundation finance/HR/IT/COO - program_support: Program associates, M&E officers, learning officers, program coordinators - development_for_grantmaking: Major gifts officers and development roles at community foundations and other regranting entities (NOT university or hospital development for the parent's operations) - philanthropy_communications: Foundation comms staff - philanthropy_strategy: Chief Strategy Officer, impact officer, equity & inclusion at a foundation What's excluded by design: clinical/medical, retail, academic teaching, university advancement for the university itself, hospital fundraising for hospital ops, construction/facilities.

NameTypeReqDescription
categoryOne of the 8 philanthropy categories above.
countryFunder HQ country — ISO 3166-1 alpha-2 ("US", "GB", "DE") or a recognized name ("United Kingdom", "Germany"). Filters by where the FOUNDATION is headquartered; the corpus spans European funders, not…
employment_typefull-time | part-time | contract | internship | fellowship | temporary.
exclude_categoriesCategories to hide. Default is no category exclusions; the public jobs board includes operations roles. Pass specific category names to suppress them.
funder_einRestrict to one funder by EIN (9 digits, optional prefixes/dashes accepted).
funder_einsRestrict to a LIST of funder EINs (up to 100). The recommended compositional pattern is search_funders → search_funder_jobs(funder_eins=[...]) for cause-area searches (climate, racial equity, youth,…
limitintegerMaximum number of results to return (1-50)
posted_within_daysintegerRecency window in days (0-730). Set 0 to disable.
queryKeyword search on job title (case-insensitive substring). Examples: "program officer", "grants manager", "CEO", "communications director".
remoteremote | hybrid | on-site.
seniorityExperience level: internship_fellowship | entry_level | mid | senior | executive. Comma-separate for multi-select — 'entry_level,internship_fellowship' is the early-career shelf (new grads, students)…
sort_bystringResult ordering. 'funder_giving' (default) ranks by the foundation's annual average giving so the biggest funders surface first. 'recent' sorts by posted_at desc.
state2-letter US state code (e.g., "CA", "NY"). Uses a broad SQL prefilter plus an exact token-aware post-filter against the location field.

Structured output declared, but exposes no named fields.

No examples provided.

search_funders ~1,175

Look up grantmaking organizations by name, topic, or location. This tool searches 174K+ grantmaking organizations from IRS data using organization names plus grant-purpose/topic signals. Use it when you know the funder's name, want aligned funders for a cause area, or want to browse by location/size/NTEE code. Multi-word searches are ranked by relevance; simple browse/name fallback results are ordered by total assets. IMPORTANT: Use search_open_grants when the user needs active grant programs or RFPs. search_funders is for finding aligned grantmakers, including ones that may fund by relationship, LOI, or annual cycle rather than a live call.

NameTypeReqDescription
cityCity name to filter by (case-insensitive). Example: "San Francisco", "New York"
countryOptional HQ country name (or list of names) to restrict to funders headquartered in those countries (e.g., "Germany", ["United States", "Canada"]). Distinct from `grantee_country_codes` (whe…
exclude_funder_typesOptional list of canonical funder_type codes to exclude from results. NOTE: this search ALREADY excludes the operating-entity types by default — private_operating (pharma patient-assistance…
funder_typeOptional canonical funder_type to include. Examples: "community_foundation", "family_foundation", "corporate_foundation", "private_operating", "operating_nonprofit", "independent_foundation". U…
grantee_country_codesOptional list of FIPS 10-4 country codes (e.g., "UK" for United Kingdom, "IN" for India, "KE" for Kenya, "SF" for South Africa) to restrict to funders whose grantees are located in those cou…
has_er_grantsFilter to foundations that make expenditure responsibility grants (grants to non-501(c)(3) entities like PBCs, for-profits, and foreign orgs). Set to True to find only ER-active funders.
has_prisFilter to foundations with known program-related investment activity. Set true when looking for PRI-active capital providers.
limitintegerMaximum number of results to return (1-50)
max_assetsMaximum total assets filter in dollars. Example: 100000000 (foundations with up to $100M assets)
metroColloquial metro / region name for sub-state geography a single city can't capture — "Bay Area", "NYC", "the DMV", "Greater Boston", "Los Angeles", "Chicago", "Seattle". Resolved to its MSA/…
min_assetsMinimum total assets filter in dollars. Example: 10000000 (foundations with $10M+ assets)
msa_codesExplicit MSA/CBSA codes when you already know them (e.g. ["41860", "41940"]); unioned with whatever `metro` resolves to. Most callers should use `metro`.
ntee_codeNTEE classification code to filter by. Example: "A20" (Arts Organizations), "B" (Education), "E" (Health)
querySearch term for a funder name or cause-area phrase. Example: "Ford Foundation", "global health", "community foundation" Topic searches work best with 2+ words.
stateTwo-letter US state code to filter by funder HQ location. Example: "CA", "NY", "TX"

Structured output declared, but exposes no named fields.

No examples provided.

search_nonprofits ~510

Search the ~2M-org universe of US nonprofits (IRS Business Master File) — the RECIPIENT / grantee side, distinct from search_funders (the grantmaker side). Use this to benchmark peer organizations, research a cause's landscape, or find well-funded peers and then look up WHO funds them. Each result carries 990 financials (revenue, program-expense ratio, employees, governance score) and recipient-side funding signals: `total_grants_received` (tracked foundation $ received), `funder_count` (distinct funders), `avg_grant_size_received`, and `funder_concentration_hhi`. CHOOSING THE RIGHT TOOL: - Want FUNDERS to apply to → use search_funders. - Want to research/benchmark RECIPIENT nonprofits (peers, "who received $X", landscape of a cause) → use search_nonprofits. - Found a well-funded peer and want their funders → note its `funder_count`, then use get_foundation_grants / search_funders to find who funds that work.

NameTypeReqDescription
active_onlybooleanOnly IRS-active orgs (default True).
cityCase-insensitive exact city name.
limitintegerMaximum number of results (1-50)
max_receivedMaximum total received.
max_revenue
metroColloquial metro/region ("Bay Area", "NYC", "Chicago", "Greater Boston") → resolved to its MSA codes. Prefer over city for metro-area intent.
min_employeesMinimum employee count.
min_funder_countMinimum distinct funders.
min_receivedMinimum total grant dollars RECEIVED (the key grantee-benchmarking filter — "received over $1M").
min_revenue
msa_codesExplicit CBSA codes if you already know them.
ntee_codesNTEE classification PREFIXES (e.g. ["K31"] food banks, ["E"] health, ["B20"] schools). Prefix match, so "K" = all food/agriculture, "K31" = food banks specifically.
queryCase-insensitive substring match on the organization name.
sort_bystringreceived (default) | revenue | funders | name.
state2-letter US state code (e.g. "IL").

Structured output declared, but exposes no named fields.

No examples provided.

search_open_grants ~906

Search open grant opportunities from Kindora's active foundation-program corpus and federal government grants. FOR-PROFIT APPLICANTS: pass for_profit_applicant=true to search capital a for-profit can take (PRIs, loans, revenue-based financing, patient equity) from CDFIs, impact investors, and PRI-active foundations. The default pool is 501(c)(3)-shaped and will NOT contain those programs. Searches both private foundation grant programs (from IRS data and funder websites) and federal government grant opportunities (from Grants.gov). Uses full-text search with natural language understanding — queries are parsed into individual terms with stemming, so "youth after school programs" matches programs about youth, after-school, and programming even if those exact words don't appear together. Search covers program names, descriptions, focus areas, beneficiary types, and geographic focus fields. Use the state parameter to focus on geographically relevant opportunities. Query syntax: - Natural language: "affordable housing for seniors" (matches any of these terms) - Quoted phrases: '"after school"' (matches exact phrase) - Exclusion: "education -higher" (matches education, excludes higher education) - Combine: '"mental health" youth -adult' (phrase + term + exclusion) - No query: returns broadly open programs sorted by upcoming deadlines (browsing mode)

NameTypeReqDescription
agencyFilter government grants by agency name (case-insensitive). Example: "Department of Education", "NSF", "NIH"
countryCountry name for non-US geographic filtering. Returns programs whose geographic_focus is tagged for that country plus any tagged Global / International / Worldwide. Use this instead of state fo…
deadline_daysintegerDeadline lookahead window in days (1-365)
focus_areaFilter foundation programs by focus area (matches values in focus_areas array). Example: "Education", "Health", "Environment"
for_profit_applicantbooleanSet TRUE when the applicant is a FOR-PROFIT entity (social enterprise, public benefit corporation, B Corp, L3C, CDFI). Routes foundation-program search to the for-profit capital pool: loans, program-…
limitintegerMaximum number of results to return (1-50)
max_awardMaximum grant size filter in dollars. Example: 500000 (grants up to $500K)
min_awardMinimum grant size filter in dollars. Example: 50000 (grants of $50K+)
nonprofit_onlyGOVERNMENT-grants applicant filter only. Omit for the entity-aware default: true for nonprofits and false for for-profit applicants. Does not open the foundation pool — use for_profit_applicant.
queryNatural language search query. Searches across program names, descriptions, focus areas, beneficiary types, and geographic focus. Supports quoted phrases for exact matching and -term for exclus…
sourceFilter by grant source type. Options: "foundation" (private foundation programs only), "government" (federal grants only), or omit for both sources combined. PREFER omit…
stateTwo-letter US state code to filter by geographic relevance. Returns programs focused on that state plus nationally available programs. Example: "CA", "NY", "TX"
topicAlias for query. The tool description says 'by TOPIC', so many MCP clients send topic= (32 rejected calls by 2026-07-11) — accept both; query wins when both are set.

Structured output declared, but exposes no named fields.

No examples provided.