bbox-mcp-server

Conversión de coordenadas de bounding box, proyecciones EPSG, indexación H3, consultas Overpass OSM y enlaces de mapas compartibles

Documentación

🌍 bbox-mcp-server

Pregúntale a la IA sobre cualquier cosa, en cualquier lugar — y verifica la respuesta en un mapa. Gratis

El kit de herramientas geoespaciales para agentes de IA. 6 herramientas, cero configuración — dale a cualquier LLM la capacidad de encontrar, consultar, convertir y agregar datos espaciales usando datos abiertos. No se requieren claves API ni registros para comenzar.

Cada respuesta incluye un enlace de verificación compartible a vibhorsingh.com/boundingbox — haz clic para confirmar visualmente los resultados en un mapa interactivo. Ningún otro servidor MCP hace esto.

Node.js License: MIT


¿Qué Puedes Hacer Con Esto?

No tienes que ser un profesional de GIS para aprovecharlo. Cualquier agente de IA con este servidor MCP puede responder preguntas espaciales usando datos reales de OpenStreetMap y no escupir basura alucinada.

Pregúntale a tu agente de IA...Qué sucede bajo el capó
"¿Cuántos cargadores de vehículos eléctricos hay en el centro de Denver?"Consulta Overpass → agrupación en hexágonos H3 → análisis de densidad
"¿Hay un hospital cerca de este Airbnb?"Búsqueda de POI con etiquetas estructuradas → enlace de verificación en mapa
"Encuentra todos los parques infantiles a menos de 1 km de esta dirección"Consulta Overpass + filtro de radio → resultados fijados en un mapa compartible
"Convierte este WKT a GeoJSON en EPSG:3857"Conversión de formato entre 6 entradas, 9 salidas, más de 3,900 proyecciones
"Muéstrame todas las estaciones de bicicletas compartidas en Ámsterdam"Etiquetas OSM seleccionadas → consulta Overpass → resultados en mapa
"Compara la densidad de parques en los vecindarios de Seattle"Overpass + agregación H3 → análisis espacial en hexágonos

Cada respuesta viene con un enlace. Haz clic, comprueba si la IA acertó y también puedes compartirlo con otra persona.


Qué Hace Esto Diferente

La mayoría de las herramientas de IA te dan texto en el que tienes que confiar. Esta te da un mapa interactivo que puedes comprobar y verificar.

  • Verificable — Cada respuesta incluye una URL pública donde tú (o cualquier persona) pueden confirmar visualmente los resultados. Este es el único servidor MCP que hace esto en cualquier dominio.
  • Determinista — Las consultas acceden a datos reales de OpenStreetMap y devuelven coordenadas reales. La IA interpreta tu pregunta. Los datos provienen de todo el trabajo duro de los increíbles voluntarios de OSM.
  • Gratis — Sin servicios de pago. La API de Overpass es gratuita, los datos de OSM son gratuitos, la herramienta es gratuita. Un token de Mapbox (nivel gratuito, sin información de pago) desbloquea la búsqueda de ubicaciones en lenguaje natural, pero no es obligatorio.
  • Cero configuraciónnpx -y bbox-mcp-server y ya estás en marcha.

Por Qué Existe Esto

El problemaCómo lo resuelve bbox-mcp
"Tengo WKT pero la API necesita un bbox GeoJSON en EPSG:3857."Analiza 6 formatos de entrada, proyecta a más de 3,900 códigos EPSG, genera en 9 formatos — en una sola llamada.
"Sigo obteniendo etiquetas OSM incorrectas para consultas Overpass."list_osm_tags devuelve combinaciones de etiquetas seleccionadas. No más amenity=grocery alucinados.
"¿Cuántos hospitales hay en este distrito?"aggregate_overpass_h3 consulta Overpass y agrupa los resultados en hexágonos H3 en el servidor.
"¿Este bounding box es realmente correcto?"Cada respuesta incluye un enlace de mapa en el que se puede hacer clic para verificación visual.

Herramientas de un Vistazo

HerramientaQué haceParámetros clave
get_boundsConvierte y proyecta un bbox entre formatos y sistemas de coordenadasbbox, epsg, format, coord_order, zoom
get_h3_indicesGenera índices de celdas hexagonales H3 que cubren un bboxbbox, resolution, compact
generate_share_urlCrea un enlace de mapa compartible para un bboxbbox
search_overpassConsulta OpenStreetMap mediante Overpass QL dentro de un bbox o radiobbox, query, limit, radius_meters
list_osm_tagsBusca las etiquetas OSM correctas para una categoríacategory
aggregate_overpass_h3Ejecuta una consulta Overpass y agrupa los resultados en hexágonos H3bbox, query, resolution

Todas las herramientas aceptan location (lenguaje natural, requiere token de Mapbox) o bbox (coordenadas, WKT, GeoJSON, etc.).


Inicio Rápido

Añade a la configuración de tu cliente MCP:

Claude Desktop (Clic para expandir)

Añade a claude_desktop_config.json:

{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}
Cursor (Clic para expandir)

Añade a .cursor/mcp.json:

{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}
Windsurf (Clic para expandir)

Añade a ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}
VS Code (GitHub Copilot) o Google Antigravity (Clic para expandir)

Añade a .vscode/mcp.json en tu espacio de trabajo:

{
  "servers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"]
    }
  }
}

Prueba: "Encuentra todas las cafeterías a menos de 500 m de Times Square"

Configuración Opcional

{
  "mcpServers": {
    "bbox": {
      "command": "npx",
      "args": ["-y", "bbox-mcp-server"],
      "env": {
        "MAPBOX_ACCESS_TOKEN": "pk.your-token-here",
        "OVERPASS_API_URL": "https://your.custom.overpass.instance/api/interpreter",
        "NOMINATIM_API_URL": "https://your.custom.nominatim.instance"
      }
    }
  }
}
VariablePredeterminadoDescripción
MAPBOX_ACCESS_TOKENHabilita la búsqueda de ubicaciones en lenguaje natural (p. ej., "San Francisco")
OVERPASS_API_URLautoEndpoint personalizado de Overpass. Por defecto, rota entre overpass-api.de y kumi.systems.
NOMINATIM_API_URLhttps://nominatim.openstreetmap.orgEndpoint personalizado de Nominatim. Configúralo si alojas un servidor MCP compartido/remoto o usas un proveedor comercial.
MAX_H3_CELLS50000Límite de seguridad para la generación de la cuadrícula H3

O instala globalmente: npm install -g bbox-mcp-server


Referencia de Herramientas

get_bounds

Convierte y proyecta un bounding box entre 6 formatos de entrada, 9 formatos de salida y más de 3,900 sistemas de coordenadas. Devuelve el punto central y las coordenadas de teselas para el centroide.

ParámetroTipoPredeterminadoDescripción
bboxstringGeometría de entrada (coordenadas, WKT, GeoJSON, extensión ogrinfo)
epsgstring"4326"Proyección de destino. Los códigos desconocidos se obtienen automáticamente de epsg.io.
formatstring"csv"Salida: csv, wkt, geojson-bbox, geojson-polygon, leaflet, overpass, ogc-bbox, kml, stac-bbox
coord_orderstring"lng,lat"Cambia a "lat,lng" para APIs que esperan latitud primero
zoomnumber15Nivel de zoom para el cálculo de coordenadas de teselas
precisionnumber6Decimales en la salida formateada

💡 Sugerencia: "Obtén el bounding box de Central Park en formato WKT proyectado a EPSG:32618"


get_h3_indices

Genera índices de celdas hexagonales de Uber H3 que cubren un bounding box.

ParámetroTipoPredeterminadoDescripción
bboxstringGeometría de entrada
resolutionnumberResolución H3 (0–15)
compactbooleanfalseFusiona celdas en padres más gruesos cuando sea posible
return_geometrybooleanfalseIncluye límites hexagonales GeoJSON

💡 Sugerencia: "Dame celdas H3 a resolución 7 para el centro de Chicago, incluye las geometrías hexagonales"


search_overpass

Ejecuta una consulta Overpass dentro de un bounding box o radio. Devuelve resultados estructurados con nombres, coordenadas y etiquetas. El enlace de verificación coloca cada resultado como un pin en el mapa.

ParámetroTipoPredeterminadoDescripción
bboxstringGeometría de entrada
querystringOverpass QL (p. ej., nwr["amenity"="cafe"]). El servidor lo envuelve automáticamente en el filtro espacial adecuado.
radius_metersnumberRadio de búsqueda en metros. Úsalo solo cuando el usuario especifique una distancia explícita (p. ej., 2000 para "dentro de 2 km"). Omítelo para consultas de área/región.
limitnumber100Máximo de elementos devueltos

💡 Sugerencia: "Encuentra todos los estacionamientos a menos de 2 km del aeropuerto JFK"

💡 Sugerencia: "Busca hospitales en Manhattan, límite 50"


list_osm_tags

Busca las etiquetas correctas de OpenStreetMap para una categoría antes de escribir una consulta Overpass.

ParámetroTipoDescripción
categorystringCategoría amplia (p. ej., "food", "health", "transport")

💡 Sugerencia: "¿Cuáles son las etiquetas OSM correctas para supermercados?"


aggregate_overpass_h3

Ejecuta una consulta Overpass y agrupa los resultados en hexágonos H3 para análisis de densidad espacial. Devuelve recuentos por celda y límites hexagonales GeoJSON.

ParámetroTipoPredeterminadoDescripción
bboxstringGeometría de entrada
querystringConsulta central Overpass QL
resolutionnumber8Resolución H3 para agrupación

💡 Sugerencia: "Agrega todos los hospitales de Seattle en contenedores H3 a resolución 7"


generate_share_url

Genera un enlace compartible para visualizar un bounding box en el mapa interactivo en vibhorsingh.com/boundingbox.

ParámetroTipoDescripción
bboxstringGeometría de entrada

💡 Sugerencia: "Genera un enlace para compartir del bbox 40.7128,-74.0060,40.7580,-73.9855"


Formatos de Entrada Compatibles

Todas las herramientas detectan automáticamente el formato de entrada. No es necesario especificar cuál estás usando.

FormatoEjemplo
Coordenadas crudas40.7128,-74.0060,40.7580,-73.9855
WKTPOLYGON((-74.006 40.712, -73.985 40.712, ...))
GeoJSON{"type":"Feature","geometry":{...}}
bbox GeoJSON{"bbox":[-74.006,40.712,-73.985,40.758]}
Extensión ogrinfoExtent: (-74.006, 40.712) - (-73.985, 40.758)
Separado por espacios40.7128 -74.0060 40.7580 -73.9855

🤖 Para Desarrolladores de Agentes de IA

Estructura de respuesta

Cada herramienta devuelve dos bloques de contenido:

  1. Texto legible para humanos — salida formateada con el enlace de verificación en mapa
  2. JSON estructurado — todos los datos calculados, analizables por máquina

Ejemplo de respuesta JSON get_bounds:

{
  "original_wgs84": { "lat1": 40.7128, "lng1": -74.006, "lat2": 40.758, "lng2": -73.9855 },
  "projected": { "xmin": -8238310.23, "ymin": 4970241.32, "xmax": -8235527.11, "ymax": 4976491.56 },
  "center": { "lat": 40.7354, "lng": -73.99575 },
  "tile_indices": { "z": 15, "x": 9660, "y": 12284 },
  "epsg": "3857",
  "coord_order": "lng,lat",
  "area_km2": 8.681,
  "dimensions": { "width_km": 1.714, "height_km": 5.066 },
  "share_url": "https://vibhorsingh.com/boundingbox/#40.712800,-74.006000,40.758000,-73.985500"
}

Manejo de errores

Todos los errores devuelven isError: true con un mensaje descriptivo. Coordenadas inválidas, códigos EPSG desconocidos y solicitudes H3 sobredimensionadas devuelven errores limpios — el servidor nunca falla con entrada incorrecta.

Registro

Los registros JSON estructurados van a stderr (stdout está reservado para el protocolo MCP). Cada entrada incluye marca de tiempo, nivel y contexto.


Agradecimientos y Uso Justo

OpenStreetMap

Esta herramienta está construida sobre OpenStreetMap: un conjunto de datos global creado y mantenido por millones de voluntarios. Cada consulta que ejecutas devuelve datos que alguien caminó, mapeó o verificó a mano. Si encuentras esto útil, considera contribuir a OSM.

Uso Responsable

Las instancias públicas de las API de Overpass y Nominatim son recursos comunitarios gratuitos con capacidad limitada. Evita bucles cerrados, sondeos excesivos o extracción masiva de datos. Si alojas esto como un servidor MCP compartido/remoto, apunta NOMINATIM_API_URL y OVERPASS_API_URL a tu propia instancia o a un proveedor comercial (consulta instalación de Overpass API e instalación de Nominatim). La rotación predeterminada del servidor para Overpass ayuda a distribuir la carga, pero no sustituye un uso responsable.


Licencia

MIT

MCP Badge