Skip to main content
Glama

🌍 geo-mcp

Un servidor MCP geoespacial que dota a Claude (o a cualquier cliente MCP) de superpoderes de ubicación en el mundo real: clima, geocodificación, zona horaria y lugares cercanos. No requiere claves API.


Qué hace

Conecta Claude Desktop, Cursor o cualquier cliente MCP a datos geoespaciales en tiempo real a través de 5 herramientas claras:

Herramienta

Descripción

API utilizada

geocode_address

Dirección → lat/lon

Nominatim (OSM)

reverse_geocode_coords

lat/lon → dirección

Nominatim (OSM)

current_weather

Clima en tiempo real para cualquier ciudad

Open-Meteo

location_timezone

Zona horaria + hora local

timeapi.io

places_nearby

Puntos de interés dentro de un radio

Overpass (OSM)

Todas las APIs son gratuitas y abiertas: sin registros, sin claves, sin sorpresas por límites de tasa para uso personal.


Related MCP server: Simple Weather MCP

Inicio rápido

git clone https://github.com/yourname/geo-mcp
cd geo-mcp
pip install -r requirements.txt
python server.py

Ejecutar con Docker

docker build -t geo-mcp .
docker run -p 8000:8000 geo-mcp

Conectar a Claude Desktop

Añade esto a tu claude_desktop_config.json:

{
  "mcpServers": {
    "geo-mcp": {
      "command": "python",
      "args": ["/absolute/path/to/geo-mcp/server.py"]
    }
  }
}

Ubicación del archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Reinicia Claude Desktop: verás aparecer el icono de herramientas 🔨.


Ejemplos de prompts

Una vez conectado, prueba esto en Claude:

What's the weather like in Tokyo right now?
Find me hospitals within 500m of the Eiffel Tower.
What time is it right now in lat 35.6762, lon 139.6503?
Geocode "1600 Pennsylvania Ave NW, Washington DC"

Estructura del proyecto

geo-mcp/
├── server.py              # FastMCP server + tool definitions
├── adapters/
│   ├── geocoding.py       # Nominatim geocoder
│   ├── weather.py         # Open-Meteo weather
│   ├── timezone.py        # timeapi.io timezone
│   └── places.py          # Overpass POI search
├── requirements.txt
├── Dockerfile
└── claude_desktop_config.json

Referencia de herramientas

geocode_address(address: str)

{
  "display_name": "Paris, Île-de-France, France",
  "lat": 48.8566,
  "lon": 2.3522,
  "type": "city"
}

current_weather(city: str)

{
  "city": "London",
  "temperature_c": 14.2,
  "feels_like_c": 12.8,
  "humidity_pct": 76,
  "wind_speed_kmh": 18.4,
  "condition": "Partly cloudy",
  "precipitation_mm": 0.0
}

places_nearby(lat, lon, category, radius_m)

Categorías admitidas: restaurant, cafe, hospital, pharmacy, school, supermarket, park, hotel, bank, gas_station

{
  "category": "cafe",
  "count": 8,
  "places": [
    { "name": "Monmouth Coffee", "lat": 51.513, "lon": -0.122, "opening_hours": "Mo-Fr 07:30-18:00" }
  ]
}

Por qué este proyecto

Creado para demostrar el patrón MCP de adaptadores múltiples: la misma arquitectura utilizada en servidores MCP de flotas/telemática en producción. Cada adaptador es:

  • Independientemente comprobable

  • Fácilmente intercambiable (cambia Nominatim por Google Maps, Open-Meteo por OpenWeather, etc.)

  • Asíncrono desde el inicio con httpx

  • Tipado con esquemas de retorno claros

Esto se asigna directamente a trabajos de servidores MCP del mundo real que requieren conectar múltiples APIs de proveedores bajo una capa de herramientas unificada.


Ampliación

¿Quieres añadir una nueva fuente de datos? Crea adapters/yourapi.py:

import httpx

async def your_tool(param: str) -> dict:
    async with httpx.AsyncClient() as client:
        r = await client.get("https://api.example.com/...", timeout=10)
        r.raise_for_status()
        return r.json()

Luego regístralo en server.py:

from adapters.yourapi import your_tool

@mcp.tool()
async def exposed_tool_name(param: str) -> dict:
    """Tool description shown to the AI."""
    return await your_tool(param)

Stack tecnológico


Licencia

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides real-time weather data, hourly forecasts, and daily summaries using the free Open-Meteo API with no API key required. It enables users to search for weather conditions by specific coordinates or city names across multiple measurement units.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A cross-platform MCP server that provides weather forecasts by coordinates, location name, or IP address without requiring API keys. It leverages Open Meteo and OpenStreetMap to deliver fast, single-query weather lookups.
    MIT