noaa-tidesandcurrents-mcp
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)
Related MCP server: mcp-noaa-tides
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 claudeInstalación manual
Clonar este repositorio
Instalar dependencias
npm installCree un archivo
.envbasado 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=YourAppNameConstruir el código TypeScript
npm run buildIniciar el servidor
npm startUso
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.jsO bien, puede utilizar el Inspector MCP:
npx fastmcp inspect dist/index.jsHerramientas disponibles
Niveles de agua
get_water_levels- Obtener datos del nivel de agua para una estaciónPará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)
Predicciones de mareas
get_tide_predictions- Obtener datos de predicción de mareasPará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)
Corrientes
get_currents- Obtener datos de corrientes para una estaciónPará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)
Predicciones actuales
get_current_predictions- Obtener predicciones actualesPará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)
Datos meteorológicos
get_meteorological_data- Obtener datos meteorológicosPará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)
Información de la estación
get_stations- Obtener lista de estacionesPará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ónPará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)
Información sobre las fases lunares
get_moon_phase- Obtener información de la fase lunar para una fecha específicaPará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)
get_moon_phases_range: obtiene información de las fases lunares para un rango de fechasPará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)
get_next_moon_phase- Obtener las próximas ocurrencias de una fase lunar específicaPará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íficasPará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.
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ónPará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.
get_sun_position: obtiene información sobre la posición del sol para una fecha, hora y ubicación específicasPará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ónlongitude(número) - Longitud para cálculos específicos de la ubicaciónformat(cadena, opcional) - Formato de salida (json o texto)
get_next_sun_event- Obtener las próximas ocurrencias de un evento solar específicoPará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.
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/
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)
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides tools to fetch weather alerts for US states and forecasts based on latitude/longitude coordinates using the US National Weather Service API.2801MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that provides access to NOAA Tides & Currents data including tide predictions, water levels, currents, and meteorological observations.9MIT
- FlicenseBqualityDmaintenanceA Model Context Protocol (MCP) server that provides US weather forecasts and active alerts using the National Weather Service API.2
- FlicenseNot gradedqualityDmaintenanceMinimal MCP server exposing tools for kitesurfing forecasts (wind and waves via Open-Meteo) and tide predictions (via NOAA CO-OPS).
Related MCP Connectors
Tides MCP — NOAA Tides and Currents data
Geospatial MCP server for earthquake, tsunami, volcano, disaster, and FX data queries.
MCP server for Mireye Earth — federal-source-cited geospatial data for any MCP-aware agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RyanCardin15/Perigee-Tides'
If you have feedback or need assistance with the MCP directory API, please join our Discord server