---
summary: "Fix: research_landscape funding step resolves funder IDs correctly; invalid-params 400 recovery branches by upstream failure shape; describe_fields(group_by) no longer advertises non-groupable fields."
breaking: false
security: false
---

# 0.7.4 — 2026-07-09

## Fixed

- **`openalex_research_landscape` funding step** — the "Funding" step now resolves `awards.funder_id` values via `openalex_search_entities` (`entity_type: "funders"`, `id: <funder_id>`); `openalex_resolve_name` is a name-autocomplete endpoint and cannot resolve an ID. Also notes `awards.funder_display_name` as a zero-hop `group_by` when readable labels suffice and exact counts aren't critical. ([#46](https://github.com/cyanheads/openalex-mcp-server/issues/46))
- **Invalid-params 400 recovery now branches by upstream failure shape** — `openalex-service.ts` adds `classifyInvalidParamsReason()`, so a rejected 400 no longer always claims a rejected field name. Rejected field name keeps `upstream_invalid_params` (describe_fields + close matches); a relevance sort without an active search maps to the new `upstream_sort_requires_search`; an ungroupable `group_by` target maps to the new `upstream_ungroupable_group_by`; any other 400 falls to the new neutral `upstream_invalid_params_other`. `search-entities`, `analyze-trends`, and `citation-graph` each declare the reasons they can actually produce, with matching recovery text. ([#43](https://github.com/cyanheads/openalex-mcp-server/issues/43))
- **`openalex_describe_fields(context: "group_by")` no longer advertises non-groupable fields** — prunes `*.search`/`*.search.exact` operators, `from_*`/`to_*` range-modifier keys, and the raw date fields (`publication_date`, `created_date`, `updated_date`) from the `group_by` view; integer count fields stay groupable. For `works`, 24 of 206 filter fields are excluded, so `group_by` now returns 182. The `context` param description and the `getFieldCatalog()` JSDoc no longer claim group_by shares the same valid set as filter. ([#42](https://github.com/cyanheads/openalex-mcp-server/issues/42))
