georef-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@georef-mcp normalize the address Av. Corrientes 1234, Buenos Aires"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
georef-mcp
An MCP server that gives AI agents access to Argentina's official geographic data through the public Georef API.
Normalizá direcciones y buscá provincias, departamentos, municipios y localidades de Argentina desde tu agente.
Georef (Servicio de Normalización de Datos Geográficos de Argentina) is a free public API from the Argentine government's open data team (datos.gob.ar). It normalizes free-text place names and street addresses into official names, INDEC ids and coordinates. No API key is needed.
Tools
All tools are read-only (readOnlyHint: true) and call an external service (openWorldHint: true).
Tool | Georef endpoint | Inputs | Returns |
|
|
| name, id, centroid |
|
|
| name, id, province, centroid |
|
|
| name, id, province, centroid |
|
|
| name, id, department, province, centroid |
|
|
| official address, street id, coordinates |
|
|
| province, department, municipality |
max is bounded to 1–50. Filters accept a name (accents optional) or an INDEC id. Text output is one compact line per result; the full Georef objects are in structuredContent. Empty results come back as a normal result with a hint on what to try; upstream errors (4xx/5xx, timeouts) come back as isError: true with Georef's own message and a suggestion.
Related MCP server: Tlaloc MCP Server
Install
Requires Node.js 20 or newer.
git clone https://github.com/diego-prieri/georef-mcp && cd georef-mcp
npm install
npm run build
claude mcp add georef -- node /absolute/path/to/georef-mcp/dist/index.jsAny MCP client that launches stdio servers works the same way: run node dist/index.js.
Optional environment variable:
GEOREF_BASE_URL: point at a self-hosted Georef instance (defaulthttps://apis.datos.gob.ar/georef/api/).
Example prompts
"normalizá 'av corrientes 1234 caba'"
"What province and municipality is -31.4201, -64.1888 in?"
"List the departments of Mendoza with their ids."
"Is there a locality called San Martín in Buenos Aires province? Give me the coordinates."
"Find the municipality of Rosario and its INDEC code."
Development
npm test # in-memory client ↔ server tests, no network
npm run test:live # smoke test against the real API (GEOREF_LIVE=1)
npm run typecheck
npm run inspect # MCP Inspectorsrc/
backend.ts GeorefBackend interface + HttpGeorefBackend (fetch) + FakeGeorefBackend
tools/georef.ts Tool definitions: zod inputs, annotations, ok()/fail() results
server.ts createServer(backend), no transport
index.ts stdio entry point
test/
server.test.ts Every tool, validation, empty results, upstream failures
live.test.ts Optional live smoke testData attribution and licence
The data is served by the Georef API, published by the Argentine government's open data team (Dirección Nacional de Datos e Información Pública). According to the Georef data documentation, the sources are:
Provinces, departments, municipalities and
/ubicacion: Instituto Geográfico Nacional (IGN)Localities: Base de Asentamientos Humanos de la República Argentina (BAHRA)
Streets and addresses: Instituto Nacional de Estadística y Censos (INDEC)
The dataset Servicio de normalización de direcciones y unidades territoriales de Argentina on datos.gob.ar is licensed under Creative Commons Attribution 4.0 (CC BY 4.0). If you publish results obtained through this server, credit the sources above. The Georef API code itself is MIT-licensed.
This project is not affiliated with or endorsed by the Argentine government. The public API has usage quotas; please be considerate with request volume.
License
MIT (this server's code). See LICENSE.
Available Tools
6 toolsnormalize_addressNormalize addressARead-onlyIdempotent
Normalize a free-text street address ("street number", e.g. "av corrientes 1234") into its official form with street id, department, province and coordinates. Pass provincia (and optionally departamento or localidad) to disambiguate: the same street name exists in many cities.
Inputs: direccion (required), max, localidad, provincia, +1 more.
reverse_geocodeReverse geocodeARead-onlyIdempotent
Find the province, department and municipality that contain a WGS84 point (lat, lon). Only points inside Argentina resolve.
Inputs: lat (required), lon (required).
search_departmentsSearch departmentsARead-onlyIdempotent
Search departments (partidos in Buenos Aires, comunas in CABA) by name and/or province.
Inputs: max, nombre, provincia.
search_localitiesSearch localitiesARead-onlyIdempotent
Search localities (cities, towns, settlements from the BAHRA dataset) by name, optionally within a province and department.
Inputs: nombre (required), max, provincia, departamento.
search_municipalitiesSearch municipalitiesBRead-onlyIdempotent
Search municipalities (local governments) by name and/or province.
Inputs: max, nombre, provincia.
search_provincesSearch provincesARead-onlyIdempotent
Search Argentina's 24 provinces (including CABA) by name. Omit nombre to list them all. Returns official name, INDEC id and centroid.
Inputs: max, nombre.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct geographic operation or administrative level: province, department, municipality, locality, address normalization, and reverse geocoding. Although departments, municipalities, and localities are hierarchically related, their descriptions clearly distinguish them and prevent likely misselection.
All tool names consistently use snake_case with a clear verb_noun or operation pattern: search_provinces, search_departments, search_municipalities, search_localities, normalize_address, reverse_geocode. The naming is predictable and readable.
Six tools is well-scoped for a focused Argentine georeferencing server. Each tool covers a distinct lookup or geocoding operation without unnecessary redundancy.
The surface covers the core workflows: searching administrative units, normalizing addresses, and reverse geocoding coordinates. Minor gaps exist, such as no dedicated street-name search or batch geocoding, but agents can work around these through normalize_address.
Maintenance
Related MCP Connectors
Normaliza y geocodifica direcciones de Argentina con el callejero oficial (georef).
Routing, geocoding, places, matrix and map tools for location-aware AI workflows.
Geodata for any place, inside your agent: map data, terrain, routes, satellite images, GIS files.
Address validation & geocoding for AI agents: 240+ countries, UK PAF, free US/CA enrichment
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables LLM clients to convert addresses to coordinates (forward geocoding), coordinates to addresses (reverse geocoding), and lookup Google Place IDs using the Google Maps Geocoding API with support for multiple languages and advanced filtering.314 npmMIT

Tlaloc MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceProvides AI assistants with live, authenticated access to official Mexican data sources including CURP, RFC, postal codes, phone numbers, SPEI payments, CFDI status, DOF semantic search, and geocoding via INEGI/INE.MIT- FlicenseNot gradedqualityCmaintenanceEnables AI agents to query Mexican postal codes, validate addresses, and search settlements using natural language from the official SEPOMEX catalog.1-

mcp-radarofficial
AlicenseNot gradedqualityCmaintenanceEnables address autocomplete, forward and reverse geocoding, IP geolocation, and place/geofence context lookups using Radar's API, letting AI agents resolve locations through natural language.301 npmMIT