Skip to main content
Glama

NOAA 潮汐和洋流 MCP 服务器

铁匠徽章

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

特征

  • 水位数据检索(实时和历史)

  • 潮汐预测(高/低或间隔)

  • 电流数据(实时和历史)

  • 目前的预测

  • 站点元数据检索

  • 风、气温、水温等气象数据

  • 月相信息(过去、现在和未来)

  • 日出/日落和位置数据(过去、现在和未来)

Related MCP server: Node.js MCP Weather Server

先决条件

  • 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

执照

麻省理工学院

Latest Blog Posts

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/NOAA'

If you have feedback or need assistance with the MCP directory API, please join our Discord server