Reel-E
Make and edit real estate listing videos, photos and websites from your AI assistant.
Description from the maker (original English)
Search GeoNames places, walk admin hierarchies, reverse geocode, get postal codes and country info.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
GEONAMES_USERNAME, MCP_LOG_LEVELValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://geonames.caseyjhand.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"geonames": {
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server"
],
"env": {
"GEONAMES_USERNAME": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Run this in your 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-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"geonames": {
"url": "https://geonames.caseyjhand.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"geonames": {
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server"
],
"env": {
"GEONAMES_USERNAME": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"geonames": {
"type": "http",
"url": "https://geonames.caseyjhand.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"geonames": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server"
],
"env": {
"GEONAMES_USERNAME": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://geonames.caseyjhand.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
MCP_LOG_LEVEL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
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
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account cyanheads, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 210 ms (HTTP 200)
No sign-in needed
Read 8 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: GEONAMES_USERNAME
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.2.0) reached the registry 9 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Reel-E, Agro API MCP by usefulapi, FieldClimate MCP by usefulapi
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Make and edit real estate listing videos, photos and websites from your AI assistant.
Read satellite, NDVI, weather and soil data; create and delete fields in Agro API.
Read weather station data, sensors, farms, fields and crop zones in FieldClimate.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@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
Only the beginning is shown; read the rest in the repo