[{"slug":"ZV-2026-1985","server_name":"kindora-mcp.azurewebsites.net","severity":"breaking","title":"kindora-mcp.azurewebsites.net: Type of sort_by on search_nonprofits changed string → unset.","summary":"[risky] Description of search_nonprofits changed (48% word delta). [risky] Optional field ai_usage was added to search_nonprofits; may shift model behaviour. [risky] Optional field ruling_date_from was added to search_nonprofits; may shift model behaviour. [risky] Optional field technology_role was added to search_nonprofits; may shift model behaviour. [risky] Optional field thesis was added to search_nonprofits; may shift model behaviour. [breaking] Type of sort_by on search_nonprofits changed string → unset. [risky] Default of sort_by on search_nonprofits changed \"received\" → null.","changes":[{"kind":"description_changed","tool":"search_nonprofits","after":"Search the ~2M-org universe of US nonprofits (IRS Business Master File) —\nthe RECIPIENT / grantee side, distinct from search_funders (the grantmaker\nside). Use this to benchmark peer organizations, research a cause's\nlandscape, or find well-funded peers and then look up WHO funds them.\n\nEach result carries 990 financials (revenue, program-expense ratio,\nemployees, governance score) and recipient-side funding signals:\n`total_grants_received` (tracked foundation $ received), `funder_count`\n(distinct funders), `avg_grant_size_received`, and `funder_concentration_hhi`.\n\nCHOOSING THE RIGHT TOOL:\n- Want FUNDERS to apply to → use search_funders.\n- Want to research/benchmark RECIPIENT nonprofits (peers, \"who received\n  $X\", landscape of a cause) → use search_nonprofits.\n- Found a well-funded peer and want their funders → note its `funder_count`,\n  then use get_foundation_grants / search_funders to find who funds that work.\n\nTHESIS MODE (funder-side sourcing): pass `thesis`, a plain-language description of\nthe organizations wanted (\"early-stage nonprofits using AI to expand economic\nmobility in the US\"). The corpus is ranked by meaning instead of by name, and each\nrow carries `similarity`, `technology_role` / `ai_usage` (evidence-backed enums,\n'unknown' when not yet assessed) and `evidence` (verbatim quotes + source URLs).\nCombine with ruling_date_from (yyyymm; 201800 = ruled 2018+), ntee_codes, state,\nmetro, revenue / received bounds. Default sort in thesis mode is 'relevance';\n'legibility_counterweight' adds a bounded bonus for small or lightly funded orgs.\nOnly organizations with a semantic profile are reachable in thesis mode; `query`\n(name match) still reaches every organization.","before":"Search the ~2M-org universe of US nonprofits (IRS Business Master File) —\nthe RECIPIENT / grantee side, distinct from search_funders (the grantmaker\nside). Use this to benchmark peer organizations, research a cause's\nlandscape, or find well-funded peers and then look up WHO funds them.\n\nEach result carries 990 financials (revenue, program-expense ratio,\nemployees, governance score) and recipient-side funding signals:\n`total_grants_received` (tracked foundation $ received), `funder_count`\n(distinct funders), `avg_grant_size_received`, and `funder_concentration_hhi`.\n\nCHOOSING THE RIGHT TOOL:\n- Want FUNDERS to apply to → use search_funders.\n- Want to research/benchmark RECIPIENT nonprofits (peers, \"who received\n  $X\", landscape of a cause) → use search_nonprofits.\n- Found a well-funded peer and want their funders → note its `funder_count`,\n  then use get_foundation_grants / search_funders to find who funds that work.","detail":"Description of `search_nonprofits` changed (48% word delta).","severity":"risky","descriptionDelta":0.48344370860927155},{"kind":"input_property_added","path":"inputSchema.properties.ai_usage","tool":"search_nonprofits","after":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null,"description":"Thesis mode filter, same enum for AI specifically. Evidence-backed."},"detail":"Optional field `ai_usage` was added to `search_nonprofits`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.ruling_date_from","tool":"search_nonprofits","after":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Thesis mode: earliest IRS ruling date as yyyymm."},"detail":"Optional field `ruling_date_from` was added to `search_nonprofits`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.technology_role","tool":"search_nonprofits","after":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null,"description":"Thesis mode filter, subset of core | assisted | none | unknown\n(is technology the organization's PRODUCT?). Evidence-backed."},"detail":"Optional field `technology_role` was added to `search_nonprofits`; may shift model behaviour.","severity":"risky"},{"kind":"input_property_added","path":"inputSchema.properties.thesis","tool":"search_nonprofits","after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Plain-language description for thesis mode (see above)."},"detail":"Optional field `thesis` was added to `search_nonprofits`; may shift model behaviour.","severity":"risky"},{"kind":"input_type_changed","path":"inputSchema.properties.sort_by","tool":"search_nonprofits","after":"unset","before":"string","detail":"Type of `sort_by` on `search_nonprofits` changed string → unset.","severity":"breaking"},{"kind":"default_changed","path":"inputSchema.properties.sort_by","tool":"search_nonprofits","after":null,"before":"received","detail":"Default of `sort_by` on `search_nonprofits` changed \"received\" → null.","severity":"risky"}],"published_at":"2026-10-08T23:59:11.888Z"}]