Reported issues for geonames-mcp-server
Pod holds 11 of 11 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 geonames-mcp-server.
Most discussed
bug(geonameId): ids above 2147483647 pass validation and fail upstream with an unrelated hint
Server version
0.1.0
mcp-ts-core version
0.13.10
Runtime
Node.js
Runtime version
Node 26.5.0
Transport
HTTP (Streamable HTTP)
Description
The shared geonameId input accepts up to 10 digits (^[1-9]\d{0,9}$), but GeoNames parses the id as a 32-bit integer and answers anything above 2147483647 with status 14. geonames_get_place, geonames_get_hierarchy, and geonames_get_children then fail with upstream_rejected_parameter, GeoNames' bare `For input…
Read the thread · 2026-10-01 · closed · 2 comments
bug(geonames_get_place): timezone offsets labelled standard/DST are swapped south of the equator
Server version
0.1.0
mcp-ts-core version
0.13.10
Runtime
Node.js
Runtime version
Node 26.5.0
Transport
HTTP (Streamable HTTP)
Description
geonames_get_place presents GeoNames' gmtOffset (the offset on 1 January) as the standard-time offset and dstOffset (the offset on 1 July) as the daylight-saving offset. South of the equator January falls in summer, so every southern-hemisphere place that observes DST gets its standard and DST offsets swapped, in both…
Read the thread · 2026-10-01 · closed · 2 comments
bug(geonames_get_countries): Kosovo isoNumeric placeholder "0" is reported as a code and resolves 000
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Bun
Runtime version
1.4.2
Transport
stdio
Description
GeoNames' countryInfoJSON sends isoNumeric: "0" for Kosovo (XK/XKX), which has no ISO 3166-1 numeric code. geonames_get_countries reports that 0 as Kosovo's numeric code, and because numeric lookups are zero-padded, countries: ["000"] resolves to Kosovo. ISO 3166-1 assigns no 000.
Related: #8, whose numeric code table leaves Kosovo…
Read the thread · 2026-10-01 · closed · 1 comment
bug(geonames_search_places): cities with a non-P featureClasses or featureCodes filter silently returns nothing
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Bun
Runtime version
1.4.2
Transport
stdio
Description
cities restricts GeoNames' searchJSON to populated places (class P), and it intersects with featureClass and featureCode. geonames_search_places forwards cities beside any feature filter, so cities with a class other than P, or a code outside class P, matches nothing and the call returns an empty page. Its zero-hit notice suggests…
Read the thread · 2026-10-01 · closed · 1 comment
feat(countries filter): accept ISO alpha-3 and numeric codes in search and postal country filters
Use case
geonames_get_countries accepts alpha-2, alpha-3, and numeric codes, but the shared countries filter of geonames_search_places and geonames_find_postal_codes takes alpha-2 only. A caller passing USA or DEU, the form many datasets and other gazetteers use, gets a bare pattern error and has to look the code up:
countries.0: Invalid string: must match pattern /^[A-Z]{2}$/
Recovery: Provide countries.0.
Proposed behavior
Map alpha-3 and three-digit numeric…
Read the thread · 2026-10-01 · closed · 1 comment
feat(geonames_reverse_geocode): coastal buffer so harbor and shoreline points resolve to their country
Use case
A point in a harbor or on a waterfront (a berth, a pier, a GPS fix on a quay) can resolve to no country and an ocean, because the containment lookup runs without a buffer. At (40.69, -74.03) in Upper New York Bay, 134 m outside the nearest country polygon GeoNames holds, geonames_reverse_geocode answers North Atlantic Ocean with no country or admin levels; at (43.29, 5.35), 48 m outside it on Marseille's waterfront, Mediterranean Sea, Western Basin. Port, shipping, and…
Read the thread · 2026-10-01 · closed · 1 comment
bug(feature filters): featureClasses and featureCodes intersect upstream, so a mismatched pair silently drops matches
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Node.js
Runtime version
v26.5.0
Transport
HTTP (Streamable HTTP)
Description
GeoNames applies featureClass and featureCode as an intersection on both searchJSON and findNearbyJSON: a code outside every listed class never matches, and a class with no listed code adds nothing. Neither geonames_search_places nor geonames_reverse_geocode says so, and the reverse-geocode zero-hit notice states the…
Read the thread · 2026-10-01 · closed · 1 comment
bug(geonames_get_children): tourism, geography, and dependency trees return the administrative children when the feature has none
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Node.js
Runtime version
v26.5.0
Transport
HTTP (Streamable HTTP)
Description
When a parent has no edges in the requested tree, GeoNames' childrenJSON answers with its administrative children, byte-identical to the administrative response, and geonames_get_children labels them with the requested tree (hierarchy: "dependency", heading "(dependency tree)"). geography has no data: GeoNames'…
Read the thread · 2026-10-01 · closed · 1 comment
Most recent
bug(GeoNamesService): a cancelled shared request makes every waiter start its own, and a cancelled waiter keeps waiting
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Bun
Runtime version
1.4.2
Transport
stdio
Description
GeoNamesService.#singleFlight lets identical in-flight requests on one account share a single upstream call. When the caller that started the shared request is cancelled, every caller waiting on it falls through and starts its own request, so N waiters spend N credits where one restart would do. A waiter cancelled while it waits is also not…
Read the thread · 2026-10-02 · open · 0 comments
feat(geonames_reverse_geocode): derive date-labelled timezone offsets from the IANA zone instead of deprecated gmtOffset/dstOffset
Use case
geonames_reverse_geocode reports a point's UTC offset on 1 January and 1 July from timezoneJSON's gmtOffset and dstOffset. GeoNames' web-services documentation now marks both fields "(deprecated)", with no removal date. When they stop arriving, the timezone block loses its two date-labelled offsets, and today the output schema requires them.
Proposed behavior
When timezoneJSON returns a timezoneId, derive the 1 January and 1 July offsets locally from the IANA…
Read the thread · 2026-10-01 · open · 0 comments
bug(geonames_reverse_geocode): offshore dstOffset placeholder 0 is reported as the 1 July UTC offset
Server version
0.1.1
mcp-ts-core version
0.13.10
Runtime
Node.js
Runtime version
v26.5.0
Transport
HTTP (Streamable HTTP)
Description
Offshore, GeoNames' timezoneJSON sends no timezoneId and dstOffset: 0, while rawOffset and gmtOffset carry the nautical offset. geonames_reverse_geocode passes the 0 through as dstOffsetInHours, which it describes as "UTC offset in hours on 1 July", so open-water points report UTC+0 for July. Open water has no…
Read the thread · 2026-10-01 · closed · 1 comment
The remaining reports are on the project's issue tracker.