noaa-tidesandcurrents-mcp

by RyanCardin15
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • The server supports retrieving data from NOAA API in XML format, as specified in various tool parameters

Servidor MCP de mareas y corrientes de la NOAA

Este es un servidor MCP (Protocolo de contexto de modelo) que proporciona herramientas para interactuar con la API de mareas y corrientes de la NOAA utilizando el marco FastMCP.

Características

  • Recuperación de datos de nivel de agua (en tiempo real e históricos)
  • Predicciones de mareas (altas/bajas o basadas en intervalos)
  • Datos actuales (en tiempo real e históricos)
  • Predicciones actuales
  • Recuperación de metadatos de la estación
  • Viento, temperatura del aire, temperatura del agua y otros datos meteorológicos
  • Información sobre las fases lunares (pasadas, presentes y futuras)
  • Datos de salida/puesta del sol y posición (pasado, presente y futuro)

Prerrequisitos

  • Node.js (v18 o superior)
  • npm o hilo

Configuración

Instalación mediante herrería

Para instalar NOAA Tides and Currents para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @RyanCardin15/tidesandcurrents --client claude

Instalación manual

  1. Clonar este repositorio
  2. Instalar dependencias
npm install
  1. Cree un archivo .env basado en el archivo .env.example :
# Server Configuration PORT=3000 # Transport type (stdio or sse) TRANSPORT_TYPE=stdio # NOAA API application name for identification (recommended) APPLICATION_NAME=YourAppName
  1. Construir el código TypeScript
npm run build
  1. Iniciar el servidor
npm start

Uso

Este servidor MCP se puede utilizar con cualquier host MCP como Claude Desktop, lo que le permite utilizar la API de mareas y corrientes de la NOAA a través del protocolo MCP.

También puedes probarlo directamente usando la herramienta de línea de comandos fastmcp :

npx fastmcp dev dist/index.js

O bien, puede utilizar el Inspector MCP:

npx fastmcp inspect dist/index.js

Herramientas disponibles

Niveles de agua

  • get_water_levels - Obtener datos del nivel de agua para una estación
    • Parámetros:
      • station (cadena) - ID de la estación
      • date (cadena, opcional): fecha para la que se recuperarán los datos ("hoy", "más reciente", "reciente" o fecha específica)
      • begin_date (cadena, opcional) - Fecha de inicio (AAAAMMDD o MM/DD/AAAA)
      • end_date (cadena, opcional) - Fecha de finalización (AAAAMMDD o MM/DD/AAAA)
      • range (número, opcional) - Número de horas para recuperar datos
      • datum (cadena, opcional) - Dato a utilizar (MLLW, MSL, etc.)
      • units (cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")
      • time_zone (cadena, opcional) - Zona horaria (gmt, lst, lst_ldt)
      • format (cadena, opcional) - Formato de salida (json, xml, csv)

Predicciones de mareas

  • get_tide_predictions - Obtener datos de predicción de mareas
    • Parámetros:
      • station (cadena) - ID de la estación
      • begin_date (cadena) - Fecha de inicio (AAAAMMDD o MM/DD/AAAA)
      • end_date (cadena) - Fecha de finalización (AAAAMMDD o MM/DD/AAAA)
      • datum (cadena, opcional) - Dato a utilizar (MLLW, MSL, etc.)
      • units (cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")
      • time_zone (cadena, opcional) - Zona horaria (gmt, lst, lst_ldt)
      • interval (cadena, opcional) - Intervalo (hilo, hl, h o un número para minutos)
      • format (cadena, opcional) - Formato de salida (json, xml, csv)

Corrientes

  • get_currents - Obtener datos de corrientes para una estación
    • Parámetros:
      • station (cadena) - ID de la estación
      • date (cadena, opcional): fecha para la que se recuperarán los datos ("hoy", "más reciente", "reciente" o fecha específica)
      • begin_date (cadena, opcional) - Fecha de inicio (AAAAMMDD o MM/DD/AAAA)
      • end_date (cadena, opcional) - Fecha de finalización (AAAAMMDD o MM/DD/AAAA)
      • bin (número, opcional) - Número de contenedor
      • units (cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")
      • time_zone (cadena, opcional) - Zona horaria (gmt, lst, lst_ldt)
      • format (cadena, opcional) - Formato de salida (json, xml, csv)

Predicciones actuales

  • get_current_predictions - Obtener predicciones actuales
    • Parámetros:
      • station (cadena) - ID de la estación
      • date (cadena, opcional): fecha para la que se recuperarán los datos ("hoy", "más reciente", "reciente" o fecha específica)
      • begin_date (cadena, opcional) - Fecha de inicio (AAAAMMDD o MM/DD/AAAA)
      • end_date (cadena, opcional) - Fecha de finalización (AAAAMMDD o MM/DD/AAAA)
      • bin (número, opcional) - Número de contenedor
      • interval (cadena, opcional) - Intervalo (MAX_SLACK o un número para minutos)
      • vel_type (cadena, opcional) - Tipo de velocidad (speed_dir o predeterminado)
      • units (cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")
      • time_zone (cadena, opcional) - Zona horaria (gmt, lst, lst_ldt)
      • format (cadena, opcional) - Formato de salida (json, xml, csv)

Datos meteorológicos

  • get_meteorological_data - Obtener datos meteorológicos
    • Parámetros:
      • station (cadena) - ID de la estación
      • product (cadena) - Producto (temperatura del aire, viento, etc.)
      • date (cadena, opcional): fecha para la que se recuperarán los datos ("hoy", "más reciente", "reciente" o fecha específica)
      • begin_date (cadena, opcional) - Fecha de inicio (AAAAMMDD o MM/DD/AAAA)
      • end_date (cadena, opcional) - Fecha de finalización (AAAAMMDD o MM/DD/AAAA)
      • units (cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")
      • time_zone (cadena, opcional) - Zona horaria (gmt, lst, lst_ldt)
      • format (cadena, opcional) - Formato de salida (json, xml, csv)

Información de la estación

  • get_stations - Obtener lista de estaciones
    • Parámetros:
      • type (cadena, opcional) - Tipo de estación (niveles de agua, corrientes, etc.)
      • units (cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")
      • format (cadena, opcional) - Formato de salida (json, xml)
  • get_station_details - Obtener información detallada sobre una estación
    • Parámetros:
      • station (cadena) - ID de la estación
      • units (cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")
      • format (cadena, opcional) - Formato de salida (json, xml)

Información sobre las fases lunares

  • get_moon_phase - Obtener información de la fase lunar para una fecha específica
    • Parámetros:
      • date (cadena, opcional): Fecha para obtener la fase lunar (formato AAAA-MM-DD). El valor predeterminado es la fecha actual.
      • latitude (número, opcional) - Latitud para cálculos específicos de la ubicación
      • longitude (número, opcional) - Longitud para cálculos específicos de la ubicación
      • format (cadena, opcional) - Formato de salida (json o texto)
  • get_moon_phases_range : obtiene información de las fases lunares para un rango de fechas
    • Parámetros:
      • start_date (cadena) - Fecha de inicio (formato AAAA-MM-DD)
      • end_date (cadena) - Fecha de finalización (formato AAAA-MM-DD)
      • latitude (número, opcional) - Latitud para cálculos específicos de la ubicación
      • longitude (número, opcional) - Longitud para cálculos específicos de la ubicación
      • format (cadena, opcional) - Formato de salida (json o texto)
  • get_next_moon_phase - Obtener las próximas ocurrencias de una fase lunar específica
    • Parámetros:
      • phase (cadena) - Fase lunar a encontrar (Luna nueva, Cuarto creciente, Luna llena, Cuarto menguante)
      • date (cadena, opcional): Fecha de inicio (formato AAAA-MM-DD). El valor predeterminado es la fecha actual.
      • count (número, opcional): Número de ocurrencias a devolver. El valor predeterminado es 1.
      • format (cadena, opcional) - Formato de salida (json o texto)

Información sobre la salida y puesta del sol

  • get_sun_times : obtiene la hora de salida y puesta del sol y otros eventos solares para una fecha y ubicación específicas
    • Parámetros:
      • date (cadena, opcional): Fecha para obtener la hora del sol (formato AAAA-MM-DD). El valor predeterminado es la fecha actual.
      • latitude (número) - Latitud para cálculos específicos de la ubicación
      • longitude (número) - Longitud para cálculos específicos de la ubicación
      • format (cadena, opcional) - Formato de salida (json o texto)
      • timezone (cadena, opcional): Zona horaria de los resultados. El valor predeterminado es UTC.
  • get_sun_times_range : obtiene las horas de salida y puesta del sol y otros eventos solares para un rango de fechas y una ubicación
    • Parámetros:
      • start_date (cadena) - Fecha de inicio (formato AAAA-MM-DD)
      • end_date (cadena) - Fecha de finalización (formato AAAA-MM-DD)
      • latitude (número) - Latitud para cálculos específicos de la ubicación
      • longitude (número) - Longitud para cálculos específicos de la ubicación
      • format (cadena, opcional) - Formato de salida (json o texto)
      • timezone (cadena, opcional): Zona horaria de los resultados. El valor predeterminado es UTC.
  • get_sun_position : obtiene información sobre la posición del sol para una fecha, hora y ubicación específicas
    • Parámetros:
      • date (cadena, opcional): Fecha para obtener la posición del sol (formato AAAA-MM-DD). El valor predeterminado es la fecha actual.
      • time (cadena, opcional): Hora para obtener la posición del sol (formato HH:MM:SS). El valor predeterminado es la hora actual.
      • latitude (número) - Latitud para cálculos específicos de la ubicación
      • longitude (número) - Longitud para cálculos específicos de la ubicación
      • format (cadena, opcional) - Formato de salida (json o texto)
  • get_next_sun_event - Obtener las próximas ocurrencias de un evento solar específico
    • Parámetros:
      • event (cadena) - Evento solar a buscar (amanecer, atardecer, amanecer, anochecer, mediodía solar, etc.)
      • date (cadena, opcional): Fecha de inicio (formato AAAA-MM-DD). El valor predeterminado es la fecha actual.
      • latitude (número) - Latitud para cálculos específicos de la ubicación
      • longitude (número) - Longitud para cálculos específicos de la ubicación
      • count (número, opcional): Número de ocurrencias a devolver. El valor predeterminado es 1.
      • format (cadena, opcional) - Formato de salida (json o texto)
      • timezone (cadena, opcional): Zona horaria de los resultados. El valor predeterminado es UTC.

Documentación de la API

La documentación de la API de mareas y corrientes de la NOAA se puede encontrar en:

Acerca de FastMCP

FastMCP es un framework TypeScript para crear servidores MCP capaces de gestionar sesiones de cliente. Ofrece:

  • Herramienta sencilla, recurso, definición rápida
  • Sesiones
  • Contenido de la imagen
  • Explotación florestal
  • Manejo de errores
  • SSE
  • Notificaciones de progreso
  • Eventos de servidor tipificados
  • Y más

Obtenga más información en: https://github.com/punkpeye/fastmcp

Licencia

Instituto Tecnológico de Massachusetts (MIT)

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Este es un servidor MCP (Protocolo de contexto de modelo) que proporciona herramientas para interactuar con la API de mareas y corrientes de la NOAA.

  1. Features
    1. Prerequisites
      1. Setup
        1. Installing via Smithery
        2. Manual Installation
      2. Usage
        1. Available Tools
      3. API Documentation
        1. About FastMCP
          1. License
            ID: ro2rz2c734