# Reported issues for worldbank-mcp-server

Pod holds 14 of 14 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [worldbank-mcp-server](/mcp/worldbank-mcp-server).

## Most discussed

### bug(worldbank_get_data): out-of-range date_range is dropped and the full series returned

### Server version

0.1.14

### mcp-ts-core version

0.10.9

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

HTTP (Streamable HTTP)

### Description

When a `date_range` span does not overlap the indicator's coverage, the World Bank API ignores the `date` parameter and returns the entire series. `worldbank_get_data` passes that response through as a successful match, so a request for 1850–1900 comes back with 2021–2025 observations and no indication the filter was discarded.…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/20) · 2026-08-09 · closed · 3 comments

### bug(worldbank_search_indicators): keyword query returns the unfiltered catalog

### Server version

0.1.14

### mcp-ts-core version

0.10.9

### Runtime

Bun

### Runtime version

Bun 1.3.14

### Transport

HTTP (Streamable HTTP)

### Description

`worldbank_search_indicators` sends `searchterm` to the World Bank `/indicator` endpoint for keyword-only searches, but the upstream endpoint returns the full catalog instead of filtering. The tool passes that response through as if it matched the query, so both ordinary and impossible searches return unrelated indicators.

###…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/16) · 2026-07-16 · closed · 3 comments

### bug(indicators): upstream HTTP 404 on escaped IDs surfaces as a raw fetch failure

### Server version

0.3.3

### mcp-ts-core version

^0.12.8

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

An indicator or topic ID containing a character that `encodeURIComponent` escapes (`/`, `%`) makes the World Bank API answer a real HTTP 404 instead of its usual HTTP-200 invalid-value envelope. The service only recognizes the envelope, so the 404 escapes as the framework's raw `FetchHttpError`: a `-32001` error whose message is…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/36) · 2026-09-12 · closed · 1 comment

### feat(worldbank_get_poverty): expose PPP vintage and survey comparability

### Use case

`worldbank_get_poverty` cannot select or report the PPP vintage/data release used for a poverty estimate, and it drops the provider's survey-comparability fields. A poverty-trend or cross-country comparison needs both: the PPP vintage to know which dollars a headcount or poverty line is expressed in, and the comparability fields to know whether two survey years can be compared at all.

### Proposed behavior

Extend the existing tool with an optional PPP-vintage selector and return…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/35) · 2026-09-12 · closed · 1 comment

### bug(indicators): provider HTML remains in metadata responses

### Server version

0.3.3 (`1e48824`)

### mcp-ts-core version

`^0.12.8` in the reviewed package.json

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

Indicator descriptions pass provider HTML through as prose on both MCP surfaces. Break markup is left embedded in run-on text instead of preserving the intended structure.

### Steps to reproduce

1. Call `worldbank_get_indicator({"indicator_id":"SE.PRM.INPT"})`.
2. Inspect…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/34) · 2026-09-12 · closed · 1 comment

### bug(worldbank_search_indicators): punctuation-only queries return unfiltered results

### Server version

0.3.3 (`1e48824`)

### mcp-ts-core version

`^0.12.8` in the reviewed package.json

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

`worldbank_search_indicators` treats a punctuation-only keyword as a match for every indicator, while echoing the keyword as an applied search. This is a remaining unfiltered-success path after keyword matching moved into the service.

Related: #16

### Steps to reproduce

Call…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/33) · 2026-09-12 · closed · 1 comment

### bug(worldbank_search_projects): invalid dates are reported as upstream outages

### Server version

0.3.4

### mcp-ts-core version

^0.12.9

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

`worldbank_search_projects` validates the shape of `approved_from`/`approved_to` (`CALENDAR_DATE = /^\d{4}-\d{2}-\d{2}$/` in `worldbank-search-projects.tool.ts`) but not whether they are real calendar dates or an ordered interval. An out-of-range month reaches the Projects API, crashes it, and is reported to the caller as a provider…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/32) · 2026-09-12 · closed · 1 comment

### bug(responses): project and poverty pages exceed practical context limits

### Server version

0.3.4

### mcp-ts-core version

^0.12.9

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

The allowed page sizes for `worldbank_search_projects` and `worldbank_get_poverty` produce responses large enough to exceed common client context limits. Neither tool's `per_page` ceiling (1000, in both schemas) is bounded by the serialized payload size, and neither has an output budget or truncation-disclosure mechanism —…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/31) · 2026-09-12 · closed · 1 comment

## Most recent

### bug(pagination): exhausted pages misreport filtered totals and matches

### Server version

0.3.4

### mcp-ts-core version

^0.12.9

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

`worldbank_get_data` misreports `totalCount`/`totalPages` on an exhausted page whenever the requested `date_range` was dropped by upstream — `WorldBankApiService.getData()` returns early on an empty upstream page (`src/services/worldbank/worldbank-service.ts:821-833`) before the local date-window filter ever runs, so the response…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/30) · 2026-09-12 · closed · 1 comment

### bug(lookups): collection selectors return arbitrary single records

### Server version

0.3.3 (`1e48824`)

### mcp-ts-core version

`^0.12.8` in the reviewed package.json

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

The single-country and single-indicator lookups accept World Bank collection selectors and silently choose one returned record. Their matching resources have the same behavior. Invalid input therefore produces plausible metadata for an arbitrary item rather than an error.

`getCountry()`…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/29) · 2026-09-12 · closed · 1 comment

### bug(worldbank_search_indicators): source filter is ignored when a topic is supplied

### Server version

0.3.3 (`1e48824`)

### mcp-ts-core version

`^0.12.8` in the reviewed package.json

### Runtime

Bun

### Runtime version

1.4.0

### Transport

HTTP (Streamable HTTP)

### Description

`worldbank_search_indicators` ignores `source_id` whenever `topic_id` is present, with or without a keyword. Both response surfaces nevertheless claim that the source filter was applied, so a search scoped to one dataset returns indicators from other datasets.

In…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/28) · 2026-09-12 · closed · 1 comment

### feat(worldbank_get_data): serve message-id-175 indicators via the source-scoped data API

### Use case

`worldbank_search_indicators` returns indicators catalogued only under source 57 ("WDI Database Archives"), such as `SM.POP.REFG.OR` (Refugee population by country or territory of origin), but `worldbank_get_data` cannot fetch any of them. The standard data endpoint rejects them with message id 175 ("The indicator was not found. It may have been deleted or archived."), with or without `source=57`. As `#24` established, message id 175 is not specific to source 57 — it covers every…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/27) · 2026-09-12 · closed · 1 comment

### feat(worldbank_get_data): split comma-separated codes in a single countries string

### Use case

`worldbank_get_data`'s `countries` string accepts a single code or `"all"`, but a comma-separated list — `"US,JP,KR"` — passes schema validation, reaches the World Bank Indicators API verbatim, and the API rejects it with a generic `The provided parameter value is not valid` error, surfaced to the caller as `country_not_found` even though every code is valid. `worldbank_get_poverty` and `worldbank_search_projects` already accept comma-separated strings; an agent that picks up the…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/25) · 2026-08-21 · closed · 1 comment

### bug(worldbank_get_data): archived-source indicators are misattributed as invalid country codes

### Server version

0.3.2

### mcp-ts-core version

0.12.8

### Runtime

Bun

### Runtime version

Bun 1.4.x

### Transport

http

### Description

`worldbank_get_data` misattributes archived-source indicators as invalid country codes. For an indicator that lives only in an archived database — e.g. [SM.POP.REFG.OR](https://api.worldbank.org/v2/indicator/SM.POP.REFG.OR?format=json) (Refugee population by country or territory of origin, source 57 "WDI Database Archives") — the data endpoint…

[Read the thread](https://github.com/cyanheads/worldbank-mcp-server/issues/24) · 2026-08-21 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/cyanheads/worldbank-mcp-server/issues).
