Servidor MCP de LocalTides
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 :
Instalación manual
- Clonar este repositorio
- Instalar dependencias
- Construir el código TypeScript
- Iniciar el servidor
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
:
O bien, puede utilizar el Inspector MCP:
Herramientas disponibles
Definiciones de parámetros
get_parameter_definitions
: obtiene información sobre los valores de parámetros válidos para las solicitudes de API de NOAA- Parámetros:
parameter
(cadena, opcional): Tipo de parámetro del que se obtiene información (zonas horarias, datos, unidades, intervalos de marea, intervalos de corriente, tipos de velocidad, productos, tipos de estación, formatos de fecha y formatos de salida). Si no se proporciona, se devuelve información sobre todos los tipos de parámetro.
- Parámetros:
Niveles de agua
get_water_levels
- Obtener datos del nivel de agua para una estación- Parámetros:
station
(cadena) - ID de la estacióndate
(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 datosdatum
(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)
- Parámetros:
Predicciones de mareas
get_tide_predictions
- Obtener datos de predicción de mareas- Parámetros:
station
(cadena) - ID de la estaciónbegin_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)
- Parámetros:
Corrientes
get_currents
- Obtener datos de corrientes para una estación- Parámetros:
station
(cadena) - ID de la estacióndate
(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 contenedorunits
(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)
- Parámetros:
Predicciones actuales
get_current_predictions
- Obtener predicciones actuales- Parámetros:
station
(cadena) - ID de la estacióndate
(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 contenedorinterval
(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)
- Parámetros:
Datos meteorológicos
get_meteorological_data
- Obtener datos meteorológicos- Parámetros:
station
(cadena) - ID de la estaciónproduct
(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)
- Parámetros:
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)
- Parámetros:
get_station_details
- Obtener información detallada sobre una estación- Parámetros:
station
(cadena) - ID de la estaciónunits
(cadena, opcional) - Unidades a utilizar ("inglés" o "métrico")format
(cadena, opcional) - Formato de salida (json, xml)
- Parámetros:
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ónlongitude
(número, opcional) - Longitud para cálculos específicos de la ubicaciónformat
(cadena, opcional) - Formato de salida (json o texto)
- Parámetros:
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ónlongitude
(número, opcional) - Longitud para cálculos específicos de la ubicaciónformat
(cadena, opcional) - Formato de salida (json o texto)
- Parámetros:
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)
- Parámetros:
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ónlongitude
(número) - Longitud para cálculos específicos de la ubicaciónformat
(cadena, opcional) - Formato de salida (json o texto)timezone
(cadena, opcional): Zona horaria de los resultados. El valor predeterminado es UTC.
- Parámetros:
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ónlongitude
(número) - Longitud para cálculos específicos de la ubicaciónformat
(cadena, opcional) - Formato de salida (json o texto)timezone
(cadena, opcional): Zona horaria de los resultados. El valor predeterminado es UTC.
- Parámetros:
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). El valor predeterminado es la hora actual.latitude
(número) - Latitud para cálculos específicos de la ubicaciónlongitude
(número) - Longitud para cálculos específicos de la ubicaciónformat
(cadena, opcional) - Formato de salida (json o texto)
- Parámetros:
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ónlongitude
(número) - Longitud para cálculos específicos de la ubicacióncount
(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.
- Parámetros:
Documentación de la API
La documentación de la API de mareas y corrientes de la NOAA se puede encontrar en:
- API de datos CO-OPS: https://api.tidesandcurrents.noaa.gov/api/prod/
- API de metadatos de CO-OPS: https://api.tidesandcurrents.noaa.gov/mdapi/prod/
- API de producto derivado de CO-OPS: https://api.tidesandcurrents.noaa.gov/dpapi/prod/
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Tools
Este servidor proporciona herramientas para interactuar con la API de mareas y corrientes de la NOAA, lo que permite el acceso a datos de nivel de agua, predicciones de mareas, datos de corrientes, información de estaciones e información astronómica como fases lunares y horas solares.
Related Resources
Related MCP Servers
- -securityFlicense-qualityThis SSE-based MCP server allows users to connect and interact with National Weather Service APIs to retrieve weather alerts and forecasts.Last updated -90Python
- AsecurityAlicenseAqualityThis is an MCP (Model Context Protocol) server that provides tools for interacting with the NOAA Tides and Currents API.Last updated -71TypeScriptMIT License
- AsecurityAlicenseAqualityFetches tide information for any location using latitude and longitude, providing detailed tide data including high/low tides and station information with automatic UTC time zone handling.Last updated -111PythonMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that retrieves current weather information for specified cities using the Open-Meteo API, requiring no API key.Last updated -34PythonApache 2.0