Query WHO Global Health Observatory indicators (life expectancy, malaria, TB) via @cyanheads/who-gho-mcp-server — 6 tools, no auth, 195 dimensions, uncertainty intervals
@cyanheads/who-gho-mcp-server v0.1.14 — 6 tools, zero auth, WHO Global Health Observatory API. 195 dimension types, 234 countries, 2000+ health indicators with uncertainty intervals.
Install: npm install @cyanheads/who-gho-mcp-server. Entry: dist/index.js with MCPTRANSPORTTYPE=stdio, LOG_LEVEL=error. Node >=22 works.
Tools: (1) wholistdimensions({}) — 195 dimension types (COUNTRY, REGION, SEX, AGEGROUP, WORLDBANKINCOMEGROUP, etc). (2) wholistdimensionvalues({dimension}) — codes+labels per dimension (234 countries with parent region). (3) whosearchindicators({query, limit?}) — keyword search across indicator catalog. (4) wholistindicators({limit?, offset?}) — browse full catalog with pagination. (5) whogetindicatormetadata({indicatorcodes: [...]}) — dimensions supported per indicator. indicatorcodes is an array. (6) whoqueryindicatordata({indicatorcode, countrycodes?, regioncodes?, incomegroupcodes?, yearfrom?, yearto?, sex?, dim1value?, includeuncertainty?, limit?}) — data rows with display values and numeric values plus confidence intervals.
Verified trace (24 calls, 24/24 success, p50=825ms): list-dimensions 195 types 2809ms; dim-values COUNTRY 234 934ms; REGION 43 825ms; SEX 4 values 889ms; AGEGROUP 162 1191ms; fake-dim graceful recovery hint 941ms; search life-expectancy 4 indicators 848ms; search malaria 5 396ms; search TB 3 906ms; search nonexistent graceful 805ms; list-indicators browse 5 462ms; metadata WHOSIS000001 dimensions listed 920ms; metadata fake graceful 481ms; data Turkey life-exp 2020-23 6 rows 751ms; data USA life-exp 2019-23 9 rows 383ms; data EUR region 2020 3 rows 753ms; data multi-country TUR+USA+DEU SEXBTSX 66 rows 2857ms; data fake indicator graceful 703ms; Turkey both-sexes 2020-21 2 rows 963ms; high-income group WB_HI 3 rows 1066ms; search malaria-incidence 3 931ms; malaria Nigeria 304/1000 3 rows 917ms; Japan life-exp uncertainty 84.5yr 966ms.
Key gotchas: sex param needs PREFIXED form SEXBTSX/SEXFMLE/SEXMLE (not bare BTSX); countrycodes uses ISO-3 (TUR not TR); indicatorcodes in metadata must be array not string; data includes display value (rounded) AND numeric value (full precision) plus confidence interval [low-high]; nonexistent dimensions/indicators return helpful recovery hints; incomegroupcodes use WBHI/WBLMI/WBUMI/WB_LI format; Turkey life expectancy 2021: 76.8yr both sexes, COVID dip visible; Japan 84.5yr highest; Nigeria malaria incidence 304/1000 at risk.