Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
Search GeoNames places, walk admin hierarchies, reverse geocode, get postal codes and country info.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
GEONAMES_USERNAME, MCP_LOG_LEVELLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
https://geonames.caseyjhand.com/mcpAbre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"geonames": {
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server"
],
"env": {
"GEONAMES_USERNAME": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http geonames https://geonames.caseyjhand.com/mcpclaude mcp add geonames --env GEONAMES_USERNAME=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/geonames-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"geonames": {
"url": "https://geonames.caseyjhand.com/mcp"
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"geonames": {
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server"
],
"env": {
"GEONAMES_USERNAME": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"geonames": {
"type": "http",
"url": "https://geonames.caseyjhand.com/mcp"
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"geonames": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server"
],
"env": {
"GEONAMES_USERNAME": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
https://geonames.caseyjhand.com/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
MCP_LOG_LEVEL envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Nombres y descripciones de las herramientas tal como los informó el servidor el 7 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
geonames_search_placesSearch the GeoNames gazetteer of 13M+ places by name and filters: country, admin division by its GeoNames code (adminCode1 TX with countries US for Texas), feature class (P populated places, A admin divisions, T mountains and terrain, H water, S buildings and spots), feature code
geonames_get_placeFetch the full GeoNames record for one geonameId: coordinates, feature type, the admin chain with each level's code, name, and geonameId, timezone, bounding box, recorded and DEM elevation, population, Wikipedia URL, names in other languages, postal codes, and external identifier
geonames_get_hierarchyReturn the parent chain of a GeoNames feature, ordered from Earth and its continent through the country and admin divisions down to the feature itself, each with its geonameId, feature code, and coordinates. Use it to find which country, state, and county contain a place, or to f
geonames_get_childrenList the direct children of a GeoNames feature — Earth's continents, a continent's countries, a country's first-level divisions, a state's counties, a city's sections — in the administrative tree, or in the tourism tree (islands, coasts, and their municipalities; almost all in Sp
geonames_reverse_geocodeResolve a latitude/longitude to the country and admin subdivisions that contain it (down to ADM5, each with its geonameId and ISO 3166-2 code where one exists), or the ocean or sea when the point is offshore, plus the nearest populated places with distances; these include neighbo
geonames_find_postal_codesLook up postal codes in the GeoNames postal database (122 countries): mode code resolves a postal code to its place, admin names, and centroid; mode place_name finds postal codes for a place name; both page with offset, up to 5000; mode nearby lists postal codes within radiusKm (
geonames_get_countriesGet GeoNames country facts — ISO alpha-2, alpha-3, and numeric codes, FIPS code, geonameId, capital, population, area in km², continent, languages, currency, postal-code format, and mainland bounding box — for the countries named, a continent, or all 250. The geonameId anchors ge
geonames_list_referenceDecode GeoNames vocabulary used by the other tools: topic feature_classes lists the 9 one-letter classes; topic feature_codes lists the 684 feature codes with names and definitions, filterable by class and text; topic postal_countries lists the 122 countries with postal-code data
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub cyanheads, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Respondió en 210 ms (HTTP 200)
No hace falta iniciar sesión
Leímos 8 descripciones de herramientas y no encontramos instrucciones ocultas para la IA
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: GEONAMES_USERNAME
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (0.2.0) llegó al registro hace 9 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
@cyanheads/geonames-mcp-server Search GeoNames places, walk admin hierarchies, reverse geocode, get postal codes and country info via MCP. STDIO or Streamable HTTP. 8 Tools
Public Hosted Server: https://geonames.caseyjhand.com/mcp
The GeoNames gazetteer: 13M+ places worldwide, linked into an administrative tree from continent to neighborhood. Search places, read full records, walk the admin hierarchy, reverse geocode coordinates, look up postal codes, and read country facts.
| Tool | Description |
|---|---|
geonames_search_places | Search places by name, country, admin division code, feature class or code, population tier, and bounding box |
geonames_get_place | Full record for one geonameId: admin chain, timezone, elevation, alternate names, postal codes, external identifiers |
geonames_get_hierarchy | Parent chain from Earth and the continent down to the feature |
geonames_get_children | Direct children of a feature in the administrative, tourism, or dependency tree |
geonames_reverse_geocode | Country and admin subdivisions (or the ocean) for a coordinate, plus the nearest places or features and an optional timezone |
geonames_find_postal_codes | Postal codes by code, by place name, or near a coordinate |
geonames_get_countries | Country facts: ISO and FIPS codes, geonameId, capital, population, area, languages, currency, postal-code format |
geonames_list_reference | Feature classes, feature codes, and the countries with postal-code data |
geonames_search_places toolquery (up to 200 characters) compared per match: name_required (default), any_field, exact_name, or name_prefix; filters countries (up to 10, by ISO alpha-2, alpha-3, or numeric code), adminCode1–adminCode4, featureClasses, featureCodes (up to 20), cities (cities1000 / cities5000 / cities15000), and boundingBox. A call needs query or one of countries, featureClasses, featureCodes, boundingBoxGB also returns IM, GG, JE, and GS), each place under its own countryCode; the notice names any country on the page that countries does not listadminCode1–adminCode4 search inside an admin division by its GeoNames code, as geonames_get_place and geonames_reverse_geocode return it in adminLevels (countries: ["US"], adminCode1: "TX", featureCodes: ["AIRP"] lists Texas airports). Codes are case-insensitive and zero padding counts (02, not 2); they are not ISO 3166-2 or postal codes (Bavaria is 02, not BY). Each needs exactly one country, and levels 2–4 need adminCode1limit 1–1,000 (default 10), held to 100 per call with a notice when more remain; offset 0–5000, orderBy relevance or population (omitted, GeoNames' own order); returns totalCount, effectiveQuery, and nextOffsetfeatureClasses, featureCodes, and cities (class P only) intersect: with both lists set, each code's class must be listed and each listed class needs a code; beside cities, only class P and its codes. Anything else fails as feature_filter_mismatchquery_or_filter_required, query_required, unknown_country_code, unknown_feature_code, admin_code_unscoped, feature_filter_mismatch, or invalid_bounding_boxgeonames_get_place toolgeonameId; an unknown id returns found: false with guidanceadminLevels 1–5 (code, name, geonameId), timezone (UTC offsets on 1 January and 1 July), bounding box, recorded and DEM elevation, population, Wikipedia URL, alternateNames, postalCodes, links, and identifiers (IATA, ICAO, FAA, Transport Canada, UN/LOCODE, Wikidata)geonames_reverse_geocode call for the time at its coordinatespostalCodes lists the codes GeoNames links to the feature, which can be fewer than geonames_find_postal_codes returns for the placenameLanguages (up to 20 tags; zh also matches zh-CN) filters alternateNames onlygeonames_get_hierarchy toolgeonameId; chain runs from Earth and its continent through the country and admin divisions down to the feature, skipping levels it does not sit undergeonameId, feature class and code, country and first-level codes, coordinates, and population; an unknown id returns found: falsegeonames_get_children toolhierarchy: administrative (default), tourism (islands, coasts, and their municipalities; almost all in Spain), or dependency (a country's dependent territories). Children are mostly admin divisions (class A) and populated places (class P); continents and coasts are class L, islands class Ttourism or dependency request with the administrative children when the feature has no such tree. The tool compares the two lists and sets sameAsAdministrative, with a notice, when they match; the rows stay, since a real tree can match toonameContains, limit (1–1,000, default 100, held to 500 per call with a notice when more remain), and offset cost no extra credits; a notice says when GeoNames lists more. A nameContains with no letter or digit fails before any request as name_contains_unsearchablefound: false; a leaf returns an empty children list with a noticegeonames_reverse_geocode toollat / lng resolve to country and adminLevels (down to ADM5, each with its geonameId and ISO 3166-2 subdivision code where one exists) or, offshore, the oceancoastalBufferKm (0–50, default 0) matches the nearest country within that distance when none contains the point, for harbor, pier, and shoreline fixes; a buffered match carries country.distanceInKm, and the nearby and timezone lookups keep the exact pointnearby lists the nearest populated places (nearbyLimit 0–1,000, default 5, held to 50 per call with a notice when more lie within the radius; radiusKm up to 300, default 20; optional cities tier) or, when featureClasses / featureCodes is set, the nearest features of that type; nearbyKind says which. featureClasses and featureCodes intersectgeonames_search_places call, with a boundingBox enclosing the radius, that lists them, up to the search's 5,100-row reach. The search returns rows by relevance, not distance, so read every page and keep the rows within radiusKmconflicting_filters (cities with a feature filter), unknown_feature_code, or feature_filter_mismatch (a code whose class is not listed, or a listed class with no code)includeTimezone adds the IANA id, UTC offsets, local time, sunrise, and sunset (offsets only offshore, where both dates are reported at the standard offset)geonames_find_postal_codes toolmode: code (needs postalCode), place_name (needs placeName), or nearby (needs lat and lng; radiusKm up to 30, default 10); a missing field, or countries or an offset above 0 in nearby, fails as mode_fields_mismatchcountries filter for code and place_name, by ISO alpha-2, alpha-3, or numeric code (the 250 country codes plus the retired AN, CS, and YU; any other, such as EL or ZZZ, fails as unknown_country_code)GB also returns IM, JE, and GG), each postal code under its own countryCode; the notice names any country on the page that countries does not listlimit 1–1,000 (default 10), held to 100 per call with a notice when more remain; code and place_name page with offset 0–5000 and return nextOffset while more rows remain below offset 5000; GeoNames reports no total, so truncated says whether more rows exist, never how manyBY here, 02 in search), so they are not geonames_search_places filtersgeonames_get_countries toolcountries by ISO alpha-2, alpha-3, or numeric code, a continent, nameContains, or no filter for all 250; limit 1–1,000 (default 50), held to 250 per call, with offset; a nameContains with no letter or digit fails before any request as name_contains_unsearchablegeonameId (the starting point for geonames_get_children), capital, population, area, continent, languages, currency, postal-code format, and mainland bounding box; unknown codes land in notFoundgeonames_list_reference tooltopic: feature_classes (9), feature_codes (684, filterable by featureClass), or postal_countries (122, with each country's code range and count); featureClass with another topic fails as filter_not_applicablenameContains, limit 1–1,000 (default 100, held to 700 per call, which fits every topic), and offset; feature classes and codes are bundled and spend no credits. A nameContains with no letter or digit fails before any request as name_contains_unsearchableBuilt on [@cyanheads/mcp-ts-core](https://github.com/cyanheads/mcp
Solo se muestra el principio; lee el resto en el repo