Skip to main content
Glama

Zovo Charity Lookup

Server Details

Check a US nonprofit's tax-exempt status, revenue, expenses and officer pay before you donate.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a distinct input mode and action: search by name returns EINs, get by single EIN returns full profile, compare takes 2-5 EINs side by side. The descriptions explicitly disambiguate boundaries (e.g. 'Do not use with names; find EINs with search_nonprofits first'), leaving no plausible misselection.

Naming Consistency5/5

All three follow a verb_noun pattern (search_nonprofits, get_nonprofit_profile, compare_nonprofits) in snake_case with a consistent domain noun. The plural/singular variation ('nonprofits' vs 'nonprofit_profile') is trivial and still predictable.

Tool Count5/5

Three tools map cleanly onto the natural workflow of find → inspect → compare, and each earns its place with no filler or redundancy. The surface is narrow but deliberately so for a lookup server.

Completeness4/5

The name-search, EIN profile, and multi-entity comparison plus PDF/CSV/Excel export cover the core lifecycle for nonprofit financial lookup. Minor gaps remain: compare caps at 5 EINs, and there is no bulk EIN lookup or cross-state/category browsing beyond a single filter, though agents can work around these via repeated calls.

Available Tools

3 tools
compare_nonprofitsCompare nonprofitsA
Read-onlyIdempotent
Inspect

Use this when the user wants 2 to 5 US nonprofits side by side by EIN: latest Form 990 revenue, expenses, net assets, total assets, officer compensation and computed ratios with formulas, plus a PDF, CSV and Excel comparison. Data is live from ProPublica Nonprofit Explorer. Does not rate or rank organizations. Do not use with names; find EINs with search_nonprofits first.

NameRequiredDescriptionDefault
einsYes2 to 5 EINs, e.g. ["53-0196605", "13-1623829"].

Output Schema

NameRequiredDescription
notesYes
sourceYes
formulasYes
downloadsYes
organizationsYes
tax_years_differYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the bar is lower. The description still adds non-redundant context: data provenance and freshness ("Data is live from ProPublica Nonprofit Explorer") and a scope limitation beyond the annotations ("Does not rate or rank organizations"), which heads off a natural misinterpretation of a tool named 'compare'. It does not mention cost, rate limits, or failure modes for invalid EINs, keeping it short of a 5.

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

Conciseness4/5

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

Four sentences, front-loaded with the usage trigger and with the alternative-tool steering placed last, which reads naturally. The output enumeration is dense but each item is concrete rather than filler. Minor length cost from listing the exact return fields even though an output schema exists.

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

Completeness4/5

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

For a single-parameter, read-only tool with full schema coverage, rich annotations, and a declared output schema, the description covers trigger, inputs, provenance, and scope limits. The only real gap is the unresolved 2-to-5 versus maxItems-50 discrepancy in the accepted EIN count, which the description does not reconcile.

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 coverage is 100%, so the baseline is 3; the description earns above that by adding EIN format guidance implicitly through the EIN-keyed workflow and by tying the parameter to the search_nonprofits prerequisite for name-based requests. It is docked because it asserts a 2-to-5 EIN range while the schema permits maxItems 50, leaving an agent unsure which bound is authoritative.

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?

The description names a specific verb and resource ("compare 2 to 5 US nonprofits side by side by EIN") and enumerates the concrete outputs returned (Form 990 revenue, expenses, net assets, assets, officer comp, computed ratios with formulas, PDF/CSV/Excel exports). It also states what it is not ("Does not rate or rank organizations"), so an agent can distinguish it from get_nonprofit_profile and search_nonprofits without opening any schema.

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?

It gives an explicit trigger ("Use this when the user wants 2 to 5 US nonprofits side by side by EIN"), an explicit exclusion ("Do not use with names"), and a named prerequisite/alternative ("find EINs with search_nonprofits first"). This is the full when/when-not/alternative triad with a routing dependency to a sibling tool.

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

get_nonprofit_profileGet nonprofit profileA
Read-onlyIdempotent
Inspect

Use this when the user wants to check a US nonprofit by EIN: IRS subsection, foundation status, deductibility, ruling date, and a multi-year table of revenue, expenses, net assets, total assets and officer compensation from Form 990 filings, with year-over-year change, ratios and their formulas, filing PDF links, and a PDF, CSV and Excel report. Data is live from ProPublica Nonprofit Explorer. Does not rate or rank organizations and does not give tax or legal advice.

NameRequiredDescriptionDefault
einYesThe 9-digit Employer Identification Number, with or without the hyphen, e.g. 53-0196605.

Output Schema

NameRequiredDescription
notesYes
yearsYes
sourceYes
filingsYes
formulasYes
downloadsYes
years_countYes
years_shownNo
organizationYes
filings_countYes
filings_shownNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the bar is lower; the description nonetheless adds meaningful context the annotations lack — live third-party provenance (ProPublica Nonprofit Explorer) and explicit scope disclaimers about ranking and tax/legal advice. It does not cover edge behavior such as a nonexistent or malformed EIN, which is the main remaining gap.

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

Conciseness4/5

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

Front-loaded with the usage trigger, then a compact inventory of attributes and a scope disclaimer in two sentences with no filler. The long embedded field list is dense and partly duplicates the output schema, which costs a bit of economy but still reads as purposeful rather than padded.

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

Completeness4/5

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

For a one-parameter, read-only lookup with full annotation coverage and an output schema, the description supplies source, scope, and disclaimers, which is close to sufficient for correct invocation. The missing piece is failure semantics (what happens for an unknown or invalid EIN), which an agent would want before calling.

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

Parameters3/5

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

Schema description coverage is 100% with a single required parameter whose format (9 digits, optional hyphen, example 53-0196605) is fully documented in the schema. The description only restates 'by EIN' and adds no format, lookup, or normalization detail beyond it, so the baseline of 3 applies.

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?

States a specific verb and resource ('check a US nonprofit by EIN') and enumerates exactly what the profile contains (IRS subsection, foundation status, deductibility, ruling date, multi-year Form 990 financials, filing links, export formats). The single-EIN profile framing plus 'does not rate or rank organizations' clearly separates it from the sibling compare_nonprofits and search_nonprofits tools.

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

Usage Guidelines4/5

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

Opens with an explicit trigger ('Use this when the user wants to check a US nonprofit by EIN') and adds scope exclusions ('does not rate or rank', 'no tax or legal advice'), which is real when-to-use guidance. It never names compare_nonprofits or search_nonprofits as alternatives, so the routing decision is left partly to inference.

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

search_nonprofitsSearch nonprofitsA
Read-onlyIdempotent
Inspect

Use this when the user wants to find a US nonprofit or charity and its EIN by name, optionally in one US state or one category. Returns up to 25 matches with EIN, city, state, NTEE code and IRS subsection, from ProPublica Nonprofit Explorer. Does not return financials; use get_nonprofit_profile with an EIN for those. Do not use for organizations outside the US.

NameRequiredDescriptionDefault
nameYesPart of the organization's name, up to 100 characters, e.g. "food bank" or "Red Cross".
stateNoOptional 2-letter US postal code of the state where the organization is registered, e.g. CA.
categoryNoOptional NTEE major group, e.g. human-services.

Output Schema

NameRequiredDescription
noteYes
queryYes
stateYes
sourceYes
categoryYes
organizationsYes
total_resultsYes
total_results_cappedNo

TDQS

A4.7/5.0
Behavior4/5

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

Adds substantial behavior beyond the readOnly/idempotent annotations: the upstream source (ProPublica Nonprofit Explorer), the result cap of 25, the exact fields returned, and the explicit absence of financials. The main omission is what happens when more than 25 matches exist — no guidance on pagination or refining the query, which matters for a capped search.

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?

Four short sentences, front-loaded with the trigger condition, then results, then the routing alternative, then the exclusion. No filler and nothing repeated from the name or title.

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?

An output schema exists so return shape needn't be spelled out, yet the description still summarizes returned fields and their source, which is useful for judging relevance. For a simple three-parameter read-only search, an agent has everything needed to select and call it 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?

With 100% schema coverage the baseline is 3, and the description does add a little: "optionally in one US state or one category" clarifies that state and category are single-value narrowing filters rather than multi-selects, and that name is the primary search key. It stops short of explaining matching behavior (prefix vs substring vs fuzzy), which the schema leaves ambiguous with "Part of the organization's name".

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?

States a specific verb and resource ("find a US nonprofit or charity and its EIN by name") plus the optional narrowing dimensions (state, category). An agent can immediately distinguish this from get_nonprofit_profile because the description says the profile tool needs an EIN.

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?

Opens with an explicit trigger ("Use this when the user wants to..."), names the alternative for a related need (financials via get_nonprofit_profile), and gives an explicit exclusion ("Do not use for organizations outside the US"). It doesn't mention compare_nonprofits, but the when/when-not/alternative triad is otherwise complete.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedcompare_nonprofits
    • First observedget_nonprofit_profile
    • First observedsearch_nonprofits

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources