Mapbox

Un servidor MCP para interactuar con la API de Mapbox, que proporciona acceso a mapas, navegación y otros servicios basados en ubicación.

Documentación

Servidor MCP de Mapbox

Servidor MCP para la API de Mapbox.

Características

Herramientas de Navegación

  1. mapbox_directions

    • Obtener indicaciones entre coordenadas
    • Entradas:
      • coordinates ({latitude: number, longitude: number}[])
      • profile (opcional): "driving-traffic", "driving", "walking", "cycling"
    • Devuelve: detalles de la ruta con pasos, distancia y duración
  2. mapbox_directions_by_places

    • Obtener indicaciones entre lugares usando sus nombres
    • Entradas:
      • places (string[]): Lista de nombres de lugares
      • profile (opcional): "driving-traffic", "driving", "walking", "cycling"
      • language (opcional): Código de idioma de dos letras (p. ej., "zh", "en")
    • Devuelve:
      • Resultados de geocodificación para cada lugar
      • Detalles de la ruta con pasos, distancia y duración
      • Cualquier error que ocurra durante el procesamiento
  3. mapbox_matrix

    • Calcular matrices de tiempo de viaje y distancia entre coordenadas
    • Entradas:
      • coordinates ({latitude: number, longitude: number}[])
      • profile (opcional): "driving", "walking", "cycling"
      • annotations (opcional): "duration", "distance", "duration,distance"
      • sources (opcional): Índices de coordenadas de origen
      • destinations (opcional): Índices de coordenadas de destino
    • Devuelve: Matriz de duraciones y/o distancias entre puntos
  4. mapbox_matrix_by_places

    • Calcular matrices de tiempo de viaje y distancia entre lugares usando sus nombres
    • Entradas:
      • places (string[]): Lista de nombres de lugares (2-25 lugares)
      • profile (opcional): "driving", "walking", "cycling"
      • annotations (opcional): "duration", "distance", "duration,distance"
      • language (opcional): Código de idioma de dos letras
      • sources (opcional): Índices de lugares de origen
      • destinations (opcional): Índices de lugares de destino
    • Devuelve:
      • Resultados de geocodificación para cada lugar
      • Matriz de duraciones y/o distancias
      • Cualquier error que ocurra durante el procesamiento

Herramientas de Búsqueda

  1. mapbox_geocoding

    • Buscar lugares y convertir direcciones en coordenadas
    • Entradas:
      • searchText (string): El lugar o dirección a buscar
      • limit (opcional): Número máximo de resultados (1-10)
      • types (opcional): Filtrar por tipos de lugar (country, region, place, etc.)
      • language (opcional): Código de idioma de dos letras
      • fuzzyMatch (opcional): Activar/desactivar coincidencia difusa
    • Devuelve: Información detallada de la ubicación, incluyendo coordenadas y propiedades

Integración con Claude Desktop

Agrega esta configuración a tu archivo de configuración de Claude Desktop (normalmente ubicado en ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mapbox-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/mapbox-mcp-server/build/index.js"],
      "env": {
        "MAPBOX_ACCESS_TOKEN": "your-api-key"
      }
    }
  }
}

Configuración

Requisitos previos

  • Node.js 16 o superior
  • TypeScript 4.5 o superior
  • Una clave de API de Mapbox válida

Clave de API

Obtén una clave de API de Mapbox siguiendo las instrucciones aquí.

Establece tu clave de API como variable de entorno:

export MAPBOX_ACCESS_TOKEN=your_api_key_here

Límites de velocidad

  • API de direcciones: 300 solicitudes por minuto
  • API de matrices:
    • 60 solicitudes por minuto para driving/walking/cycling
    • 30 solicitudes por minuto para driving-traffic
  • API de geocodificación: 600 solicitudes por minuto

Implementación

Estructura

En mapbox-mcp-server, usamos la siguiente estructura para gestionar los manejadores del servidor:

  • src/server/handlers/base.ts: Clase base para todos los manejadores
  • src/server/registry.ts: Registro de todos los manejadores
  • src/server/main.ts: Punto de entrada principal del servidor

Cada módulo de funcionalidad sigue esta estructura:

src/
├── types/          # Type definitions
├── schemas/        # Zod schemas for validation
├── tools/
│   ├── definitions/  # Tool definitions
│   └── handlers/     # Tool implementations
└── server/
    └── handlers/     # Handler classes

Diagrama de clases: mapbox-mcp-server-class-diagram


Diagrama de procesos: mapbox-mcp-server-process-diagram

Manejo de errores

Todas las herramientas implementan un manejo completo de errores:

  • Errores de validación de entrada
  • Fallos en solicitudes a la API
  • Errores de límites de velocidad
  • Errores específicos del servicio (p. ej., no se encontraron rutas, coordenadas no válidas)

Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.