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

NOAA 潮汐和洋流 MCP 服务器

这是一个 MCP(模型上下文协议)服务器,它提供使用 FastMCP 框架与 NOAA 潮汐和洋流 API 交互的工具。

特征

  • 水位数据检索(实时和历史)
  • 潮汐预测(高/低或间隔)
  • 电流数据(实时和历史)
  • 目前的预测
  • 站点元数据检索
  • 风、气温、水温等气象数据
  • 月相信息(过去、现在和未来)
  • 日出/日落和位置数据(过去、现在和未来)

先决条件

  • Node.js(v18 或更高版本)
  • npm 或 yarn

设置

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 NOAA Tides and Currents:

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

手动安装

  1. 克隆此存储库
  2. 安装依赖项
npm install
  1. 基于.env.example文件创建.env文件:
# Server Configuration PORT=3000 # Transport type (stdio or sse) TRANSPORT_TYPE=stdio # NOAA API application name for identification (recommended) APPLICATION_NAME=YourAppName
  1. 构建 TypeScript 代码
npm run build
  1. 启动服务器
npm start

用法

该 MCP 服务器可以与任何 MCP 主机(例如 Claude Desktop)一起使用,这允许您通过 MCP 协议使用 NOAA 潮汐和洋流 API。

您也可以直接使用fastmcp命令行工具进行测试:

npx fastmcp dev dist/index.js

或者,您可以使用 MCP 检查器:

npx fastmcp inspect dist/index.js

可用工具

水位

  • get_water_levels - 获取站点的水位数据
    • 参数:
      • station (字符串)- 车站 ID
      • date (字符串,可选) - 检索数据的日期(“今天”、“最新”、“最近”或特定日期)
      • begin_date (字符串,可选) - 开始日期(YYYYMMDD 或 MM/DD/YYYY)
      • end_date (字符串,可选) - 结束日期(YYYYMMDD 或 MM/DD/YYYY)
      • range (数字,可选) - 检索数据的小时数
      • datum (字符串,可选) - 要使用的基准(MLLW、MSL 等)
      • units (字符串,可选) - 使用的单位(“英制”或“公制”)
      • time_zone (字符串,可选) - 时区 (gmt、lst、lst_ldt)
      • format (字符串,可选)- 输出格式(json、xml、csv)

潮汐预报

  • get_tide_predictions - 获取潮汐预测数据
    • 参数:
      • station (字符串)- 车站 ID
      • begin_date (字符串) - 开始日期 (YYYYMMDD 或 MM/DD/YYYY)
      • end_date (字符串) - 结束日期 (YYYYMMDD 或 MM/DD/YYYY)
      • datum (字符串,可选) - 要使用的基准(MLLW、MSL 等)
      • units (字符串,可选) - 使用的单位(“英制”或“公制”)
      • time_zone (字符串,可选) - 时区 (gmt、lst、lst_ldt)
      • interval (字符串,可选) - 间隔(hilo、hl、h 或分钟数)
      • format (字符串,可选)- 输出格式(json、xml、csv)

电流

  • get_currents - 获取站点的电流数据
    • 参数:
      • station (字符串)- 车站 ID
      • date (字符串,可选) - 检索数据的日期(“今天”、“最新”、“最近”或特定日期)
      • begin_date (字符串,可选) - 开始日期(YYYYMMDD 或 MM/DD/YYYY)
      • end_date (字符串,可选) - 结束日期(YYYYMMDD 或 MM/DD/YYYY)
      • bin (数字,可选)- 箱号
      • units (字符串,可选) - 使用的单位(“英制”或“公制”)
      • time_zone (字符串,可选) - 时区 (gmt、lst、lst_ldt)
      • format (字符串,可选)- 输出格式(json、xml、csv)

当前预测

  • get_current_predictions - 获取当前预测
    • 参数:
      • station (字符串)- 车站 ID
      • date (字符串,可选) - 检索数据的日期(“今天”、“最新”、“最近”或特定日期)
      • begin_date (字符串,可选) - 开始日期(YYYYMMDD 或 MM/DD/YYYY)
      • end_date (字符串,可选) - 结束日期(YYYYMMDD 或 MM/DD/YYYY)
      • bin (数字,可选)- 箱号
      • interval (字符串,可选) - 间隔(MAX_SLACK 或分钟数)
      • vel_type (字符串,可选) - 速度类型 (speed_dir 或默认)
      • units (字符串,可选) - 使用的单位(“英制”或“公制”)
      • time_zone (字符串,可选) - 时区 (gmt、lst、lst_ldt)
      • format (字符串,可选)- 输出格式(json、xml、csv)

气象数据

  • get_meteorological_data - 获取气象数据
    • 参数:
      • station (字符串)- 车站 ID
      • product (字符串) - 产品(气温、风等)
      • date (字符串,可选) - 检索数据的日期(“今天”、“最新”、“最近”或特定日期)
      • begin_date (字符串,可选) - 开始日期(YYYYMMDD 或 MM/DD/YYYY)
      • end_date (字符串,可选) - 结束日期(YYYYMMDD 或 MM/DD/YYYY)
      • units (字符串,可选) - 使用的单位(“英制”或“公制”)
      • time_zone (字符串,可选) - 时区 (gmt、lst、lst_ldt)
      • format (字符串,可选)- 输出格式(json、xml、csv)

车站信息

  • get_stations - 获取车站列表
    • 参数:
      • type (字符串,可选) - 站点类型(水位、水流等)
      • units (字符串,可选) - 使用的单位(“英制”或“公制”)
      • format (字符串,可选)- 输出格式(json,xml)
  • get_station_details - 获取有关车站的详细信息
    • 参数:
      • station (字符串)- 车站 ID
      • units (字符串,可选) - 使用的单位(“英制”或“公制”)
      • format (字符串,可选)- 输出格式(json,xml)

月相信息

  • get_moon_phase - 获取特定日期的月相信息
    • 参数:
      • date (字符串,可选)- 获取月相的日期(格式为 YYYY-MM-DD)。默认为当前日期。
      • latitude (数字,可选) - 用于特定位置计算的纬度
      • longitude (数字,可选) - 用于特定位置计算的经度
      • format (字符串,可选)- 输出格式(json 或文本)
  • get_moon_phases_range - 获取某个日期范围内的月相信息
    • 参数:
      • start_date (字符串) - 开始日期(YYYY-MM-DD 格式)
      • end_date (字符串) - 结束日期(YYYY-MM-DD 格式)
      • latitude (数字,可选) - 用于特定位置计算的纬度
      • longitude (数字,可选) - 用于特定位置计算的经度
      • format (字符串,可选)- 输出格式(json 或文本)
  • get_next_moon_phase - 获取特定月相的下一次出现
    • 参数:
      • phase (字符串) - 要查找的月相(新月、上弦月、满月、下弦月)
      • date (字符串,可选)- 开始日期(格式为 YYYY-MM-DD)。默认为当前日期。
      • count (数字,可选)- 返回的次数。默认为 1。
      • format (字符串,可选)- 输出格式(json 或文本)

日出/日落信息

  • get_sun_times - 获取特定日期和地点的日出/日落时间以及其他太阳事件时间
    • 参数:
      • date (字符串,可选)- 获取日照时间的日期(格式为 YYYY-MM-DD)。默认为当前日期。
      • latitude (数字)- 用于特定位置计算的纬度
      • longitude (数字)- 用于特定位置计算的经度
      • format (字符串,可选)- 输出格式(json 或文本)
      • timezone (字符串,可选)- 结果的时区。默认为 UTC。
  • get_sun_times_range - 获取特定日期范围和位置的日出/日落时间以及其他太阳事件时间
    • 参数:
      • start_date (字符串) - 开始日期(YYYY-MM-DD 格式)
      • end_date (字符串) - 结束日期(YYYY-MM-DD 格式)
      • latitude (数字)- 用于特定位置计算的纬度
      • longitude (数字)- 用于特定位置计算的经度
      • format (字符串,可选)- 输出格式(json 或文本)
      • timezone (字符串,可选)- 结果的时区。默认为 UTC。
  • get_sun_position - 获取特定日期、时间和地点的太阳位置信息
    • 参数:
      • date (字符串,可选)- 获取太阳位置的日期(格式为 YYYY-MM-DD)。默认为当前日期。
      • time (字符串,可选)- 获取太阳位置的时间(HH:MM:SS 格式)。默认为当前时间。
      • latitude (数字)- 用于特定位置计算的纬度
      • longitude (数字)- 用于特定位置计算的经度
      • format (字符串,可选)- 输出格式(json 或文本)
  • get_next_sun_event - 获取特定太阳事件的下一次发生
    • 参数:
      • event (字符串) - 要查找的太阳事件(日出、日落、黎明、黄昏、太阳正午等)
      • date (字符串,可选)- 开始日期(格式为 YYYY-MM-DD)。默认为当前日期。
      • latitude (数字)- 用于特定位置计算的纬度
      • longitude (数字)- 用于特定位置计算的经度
      • count (数字,可选)- 返回的次数。默认为 1。
      • format (字符串,可选)- 输出格式(json 或文本)
      • timezone (字符串,可选)- 结果的时区。默认为 UTC。

API 文档

NOAA 潮汐和洋流 API 文档可在以下位置找到:

关于 FastMCP

FastMCP 是一个 TypeScript 框架,用于构建能够处理客户端会话的 MCP 服务器。它提供以下功能:

  • 简单工具、资源、提示定义
  • 会议
  • 图像内容
  • 日志记录
  • 错误处理
  • 上交所
  • 进度通知
  • 类型化服务器事件
  • 以及更多

了解更多信息: https://github.com/punkpeye/fastmcp

执照

麻省理工学院

You must be authenticated.

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

这是一个 MCP(模型上下文协议)服务器,提供与 NOAA 潮汐和洋流 API 交互的工具。

  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