# io.github.Kindora-PBC/foundation-discovery (remote · mcp.kindora.co)

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

- Trust score: 73/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- remote · `mcp.kindora.co`: 73/100 (this document), [markdown](https://verifymcp.io/servers/kindora-pbc-foundation-discovery/mcp.md), [page](https://verifymcp.io/servers/kindora-pbc-foundation-discovery/mcp)

## Channel facts

- Endpoint: `https://mcp.kindora.co/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.1`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 7327 tokens (~563/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 98% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.Kindora-PBC/foundation-discovery MCP server?

io.github.Kindora-PBC/foundation-discovery is a hosted endpoint at https://mcp.kindora.co/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http kindora-pbc-foundation-discovery 'https://mcp.kindora.co/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "kindora-pbc-foundation-discovery": {
      "url": "https://mcp.kindora.co/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "kindora-pbc-foundation-discovery": {
      "type": "http",
      "url": "https://mcp.kindora.co/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.kindora-pbc-foundation-discovery]
url = "https://mcp.kindora.co/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kindora-pbc-foundation-discovery": {
      "type": "remote",
      "url": "https://mcp.kindora.co/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add kindora-pbc-foundation-discovery --url 'https://mcp.kindora.co/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  kindora-pbc-foundation-discovery:
    url: "https://mcp.kindora.co/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "kindora-pbc-foundation-discovery": {
      "Transport": "http",
      "Url": "https://mcp.kindora.co/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add kindora-pbc-foundation-discovery -t streamable-http -u 'https://mcp.kindora.co/mcp'
```

### Other

```json
{
  "mcpServers": {
    "kindora-pbc-foundation-discovery": {
      "type": "http",
      "url": "https://mcp.kindora.co/mcp"
    }
  }
}
```

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-21 (score 73, +1)

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

### 2026-09-19 (score 72, +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.

### 2026-09-17 (score 71, +1)

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

### 2026-09-15 (score 70, +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.

### 2026-09-13 (score 69, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-09-12 (score 68)

First indexed and scored.

## MCP tools (13)

### `health_check` (~55 tokens)

Health Check

Check server health and connectivity.

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

### `list_tools` (~91 tokens)

List Available Tools

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.

Input parameters:

- `tool_name`: Optional name of a specific tool to get detailed help for.       Example: "search_funders", "get_funder_profile"

### `search_funders` (~1221 tokens)

Search Grantmakers

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.

Input parameters:

- `city`: City name to filter by (case-insensitive).    Example: "San Francisco", "New York"
- `country`: Optional 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_types`: Optional 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_type`: Optional canonical funder_type to include. Examples:    "community_foundation", "family_foundation", "corporate_foundation",    "private_operating", "operating_nonprofit", "independent_foundation". U…
- `grantee_country_codes`: Optional 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_grants`: Filter 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_pris`: Filter to foundations with known program-related investment    activity. Set true when looking for PRI-active capital providers.
- `limit` (integer): Maximum number of results to return (1-50)
- `max_assets`: Maximum total assets filter in dollars.    Example: 100000000 (foundations with up to $100M assets)
- `metro`: Colloquial 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_assets`: Minimum total assets filter in dollars.    Example: 10000000 (foundations with $10M+ assets)
- `msa_codes`: Explicit MSA/CBSA codes when you already know them    (e.g. ["41860", "41940"]); unioned with whatever `metro`    resolves to. Most callers should use `metro`.
- `ntee_code`: NTEE classification code to filter by.    Example: "A20" (Arts Organizations), "B" (Education), "E" (Health)
- `query`: Search term for a funder name or cause-area phrase.    Example: "Ford Foundation", "global health", "community foundation"    Topic searches work best with 2+ words.
- `state`: Two-letter US state code to filter by funder HQ location.    Example: "CA", "NY", "TX"

### `get_funder_profile` (~253 tokens)

Get Funder Profile

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.

Input parameters:

- `ein`: Foundation 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_id`: Optional 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.

### `get_990_summary` (~129 tokens)

Get IRS 990 Summary

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.

Input parameters:

- `ein` (string, required): Foundation EIN (9 digits). Can include hyphens (e.g., "94-3136777")  or be provided as digits only (e.g., "943136777").
- `years` (integer): Number of years of filing data to return (1-10)

### `get_foundation_grants` (~819 tokens)

Get Foundation Grants

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.

Input parameters:

- `ein` (string): Foundation EIN (9 digits, hyphens OK). Required for US 990 path.  Optional if ``funder_id`` is supplied for a non-990 funder.
- `funder_id`: Optional 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…
- `limit` (integer): Maximum number of grants to return (1-50)
- `ntee_code`: Optional NTEE code to filter recipient organizations.   Example: "B41" (Higher Education), "E" (Health).   Use get_ntee_codes to browse available codes.
- `purpose_keyword`: Optional 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_country`: Optional recipient country filter. Use ISO   3166-1 alpha-2 codes (e.g., "CH" Switzerland, "ZA" South   Africa, "NG" Nigeria, "IN" India). A code that is valid ISO   is always read as ISO ("NG" is Ni…
- `recipient_state`: Optional 2-letter US state code to filter by   recipient state (e.g., "CA", "NY").
- `year`: Optional year to filter by (filing_year for 990, grant_year   for discovered). If not provided, returns all available years.

### `get_ntee_codes` (~145 tokens)

Browse NTEE Codes

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.

Input parameters:

- `category`: Single 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…
- `query`: Search term to find codes by description (case-insensitive).    Example: "education", "youth", "environment"

### `search_open_grants` (~1007 tokens)

Search Open Grants

Search open grant opportunities from Kindora's active foundation-program corpus plus federal and state 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 government grant opportunities — federal (Grants.gov) plus state and district
grant portals. 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)

Input parameters:

- `agency`: Filter government grants by agency name (case-insensitive).    Example: "Department of Education", "NSF", "NIH"
- `country`: Where the applicant works — a country name or a region.    Returns funders scoped to that place PLUS regional and global    funders, with place-specific ones ranked first (a Kenyan    applicant also…
- `deadline_days` (integer): Deadline lookahead window in days (1-365)
- `focus_area`: Filter foundation programs by focus area (matches values in focus_areas array).    Example: "Education", "Health", "Environment"
- `for_profit_applicant` (boolean): Set 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-…
- `limit` (integer): Maximum number of results to return (1-50)
- `max_award`: Maximum grant size filter in dollars.    Example: 500000 (grants up to $500K)
- `min_award`: Minimum grant size filter in dollars.    Example: 50000 (grants of $50K+)
- `nonprofit_only`: GOVERNMENT-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.
- `query`: Natural 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…
- `source`: Filter by grant source type.    Options: "foundation" (private foundation programs only),             "government" (federal + state government grants only),             or omit for both sources combi…
- `state`: Two-letter US state code to filter by geographic relevance.    Returns programs focused on that state plus nationally available programs.    Example: "CA", "NY", "TX"
- `topic`: Alias 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.

### `search_funder_jobs` (~775 tokens)

Search Funder Jobs

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.

Input parameters:

- `category`: One of the 8 philanthropy categories above.
- `country`: Funder 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_type`: full-time | part-time | contract | internship | fellowship | temporary.
- `exclude_categories`: Categories to hide. Default is no category exclusions; the public jobs board includes operations roles. Pass specific category names to suppress them.
- `funder_ein`: Restrict to one funder by EIN (9 digits, optional prefixes/dashes accepted).
- `funder_eins`: Restrict 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,…
- `limit` (integer): Maximum number of results to return (1-50)
- `posted_within_days` (integer): Recency window in days (0-730). Set 0 to disable.
- `query`: Keyword search on job title (case-insensitive substring). Examples: "program officer", "grants manager", "CEO", "communications director".
- `remote`: remote | hybrid | on-site.
- `seniority`: Experience 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_by` (string): Result ordering. 'funder_giving' (default) ranks by the foundation's annual average giving so the biggest funders surface first. 'recent' sorts by posted_at desc.
- `state`: 2-letter US state code (e.g., "CA", "NY"). Uses a broad SQL prefilter plus an exact token-aware post-filter against the location field.

### `search_nonprofits` (~548 tokens)

Search Nonprofits (Grantee Benchmarking)

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.

Input parameters:

- `active_only` (boolean): Only IRS-active orgs (default True).
- `city`: Case-insensitive exact city name.
- `limit` (integer): Maximum number of results (1-50)
- `max_received`: Maximum total received.
- `max_revenue`
- `metro`: Colloquial metro/region ("Bay Area", "NYC", "Chicago", "Greater Boston") or a city name ("Cleveland", "Portland, OR") → resolved to its MSA codes. Prefer over city for metro-area intent. An unrecogni…
- `min_employees`: Minimum employee count.
- `min_funder_count`: Minimum distinct funders.
- `min_received`: Minimum total grant dollars RECEIVED (the key grantee-benchmarking filter — "received over $1M").
- `min_revenue`
- `msa_codes`: Explicit CBSA codes if you already know them.
- `ntee_codes`: NTEE classification PREFIXES (e.g. ["K31"] food banks, ["E"] health, ["B20"] schools). Prefix match, so "K" = all food/agriculture, "K31" = food banks specifically.
- `query`: Case-insensitive substring match on the organization name.
- `sort_by` (string): received (default) | revenue | funders | name.
- `state`: 2-letter US state code (e.g. "IL").

### `find_funders_for_peers` (~554 tokens)

Find Funders for Peer Orgs

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 SHORT CAUSE PHRASE, not a paragraph — "food bank",
  "mental health", "affordable housing". Fallback for when you cannot name
  peers: it matches the phrase against IRS BMF organization NAMES and, if
  that finds nothing, against the NTEE cause taxonomy, then uses the
  best-funded organizations in that cause (biased to `location`). It does
  NOT search mission text, so a LONGER description matches FEWER orgs, not
  more — keep it to the cause, and prefer peer_orgs. The response reports
  which pass produced the peers in `peer_discovery`.

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).

Input parameters:

- `limit` (integer): Maximum number of funders to return (1-50)
- `location`: Optional 2-letter state or "City, ST". Only biases peer discovery under org_description; never filters funders.
- `min_amount` (integer): Minimum single-grant size in USD (default 5000)
- `org_description`: Short cause phrase for the nonprofit (fallback). Example: "youth mental health". Adding words narrows the match.
- `peer_orgs`: Names or EINs of peer / aspirational organizations. Example: ["Greater Chicago Food Depository", "Feeding America"].

### `find_funders_of_nonprofit` (~326 tokens)

Find Funders of a Nonprofit

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

- `limit` (integer): Maximum number of funders to return (1-50)
- `min_amount` (integer): Minimum single-grant size in USD (default 1000)
- `recipient_ein`: EIN of the RECIPIENT nonprofit whose funders you want.
- `recipient_name`: Name of the recipient nonprofit (resolved via the IRS BMF registry when recipient_ein is not given).

### `get_funder_stats` (~194 tokens)

Get Funder Statistics

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.

Input parameters:

- `ein` (string): Foundation 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_id`: Optional non-990 funder id (bare UUID / ``n9f:<uuid>``).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/kindora-pbc-foundation-discovery/mcp#diagnostics

## Score history

- 2026-09-21: 73
- 2026-09-20: 72
- 2026-09-19: 72
- 2026-09-18: 71
- 2026-09-17: 71
- 2026-09-16: 70
- 2026-09-15: 70
- 2026-09-14: 69
- 2026-09-13: 69
- 2026-09-12: 68

## Common questions

### What is the io.github.Kindora-PBC/foundation-discovery MCP server?

io.github.Kindora-PBC/foundation-discovery is an MCP server listed in the public MCP registry as io.github.Kindora-PBC/foundation-discovery. Foundation discovery and grant intelligence for nonprofits. 174K+ US funders, IRS 990 data. This page covers its hosted endpoint (https://mcp.kindora.co/mcp).

### Is the io.github.Kindora-PBC/foundation-discovery MCP server safe to use?

io.github.Kindora-PBC/foundation-discovery scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.Kindora-PBC/foundation-discovery MCP server expose?

io.github.Kindora-PBC/foundation-discovery exposes 13 tools: health_check, list_tools, search_funders, get_funder_profile, get_990_summary, and 8 more. Their descriptions and schemas cost roughly 6,117 tokens of context every time the server is loaded.

### Does the io.github.Kindora-PBC/foundation-discovery MCP server require authentication?

No. We connected to io.github.Kindora-PBC/foundation-discovery without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the io.github.Kindora-PBC/foundation-discovery MCP server still maintained?

io.github.Kindora-PBC/foundation-discovery is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.kindora.co/mcp
- Repository: https://github.com/Kindora-PBC/kindora
- Website: https://www.kindora.co/mcp
- Changelog RSS feed: https://verifymcp.io/servers/kindora-pbc-foundation-discovery/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/kindora-pbc-foundation-discovery/mcp.json
- HTML version of this page: https://verifymcp.io/servers/kindora-pbc-foundation-discovery/mcp
