🚀 快速访问 NOAA 的海洋和大气数据通过 MCP
一站式解决方案,提供潮汐、水流、天气、天文和气候数据
</div>🌊 25+ 专业工具 - 从基本潮汐数据到高级气候预测
⚡ 闪电般快速 - 基于 FastMCP 构建以实现最佳性能
🎯 零配置 - 直接在 Claude Desktop 上运行
🌍 全面的数据 - 水位、水流、天气、月相、太阳数据
📊 气候研究准备就绪 - 海平面上升趋势、洪水预测、极端事件
🚀 NPX 准备就绪 - 单个命令安装和运行
# 安装并立即运行 - 不需要设置!
npx @ryancardin/noaa-tides-currents-mcp-server
# 或使用较短的别名
npx noaa-mcp
STDIO 模式(默认 - MCP 协议)
# 标准 MCP 服务器用于 Claude Desktop 集成
npx @ryancardin/noaa-tides-currents-mcp-server
# 或使用较短的别名
npx noaa-mcp
HTTP 可流式传输模式(Web 集成)
# 在默认端口 3000 启动 HTTP 服务器
npx @ryancardin/noaa-tides-currents-mcp-server --http
# 指定自定义端口
npx @ryancardin/noaa-tides-currents-mcp-server --http --port 8080
# 使用较短的别名
npx noaa-mcp --http --port 8080
# 通过 Server-Sent Events 访问
curl http://localhost:3000/sse
通过 Smithery 直接安装到 Claude Desktop:
npx -y @smithery/cli install @RyanCardin15/tidesandcurrents --client claude
# 克隆并构建
git clone https://github.com/RyanCardin15/NOAA-Tides-And-Currents-MCP.git
cd NOAA-Tides-And-Currents-MCP
npm install && npm run build
# 启动服务器
npm start
# 使用 FastMCP 测试
npx fastmcp dev dist/index.js
get_water_levels - 实时和历史水位数据get_tide_predictions - 高低潮预测和连续数据get_currents - 实时和历史水流测量get_current_predictions - 水流速度和方向预测get_meteorological_data - 风、气温、水温、气压等get_stations - 搜索和列出监测站get_station_details - 详细站点元数据和功能get_sea_level_trends - 长期海平面上升趋势和速率get_extreme_water_levels - 极端事件的统计分析get_high_tide_flooding_daily - 每日洪水事件计数get_high_tide_flooding_monthly - 月度洪水模式get_high_tide_flooding_seasonal - 季节性洪水分析get_high_tide_flooding_annual - 年度洪水趋势get_high_tide_flooding_projections - 未来洪水风险情景get_high_tide_flooding_likelihoods - 每日洪水概率get_top_ten_water_levels - 最高/最低水位记录get_moon_phase - 当前月亮相位和照明get_moon_phases_range - 日期范围内的月亮相位get_next_moon_phase - 查找下一个新/满/四分之一个月亮get_sun_times - 日出、日落、黎明、黄昏时间get_sun_times_range - 日期范围内的太阳时间get_sun_position - 实时太阳方位角和高度get_next_sun_event - 下一个日出、日落或太阳正午get_parameter_definitions - 所有 API 参数的有效值# 获取波士顿港最新的水位
get_water_levels station="8443970" date="latest"
# 获取今天迈阿密的潮汐预测
get_tide_predictions station="8723214" begin_date="today" end_date="today" interval="hilo"
# 获取风暴规划的极端水位统计数据
get_extreme_water_levels station="8518750" units="english"
# 检查明天的洪水可能性
get_high_tide_flooding_likelihoods station="8518750" date="2024-12-16" threshold="minor"
# 分析 30 年的海平面上升趋势
get_sea_level_trends station="8518750" affiliation="US"
# 获取 2050 年代中等海平面上升情景下的高潮洪水预测
get_high_tide_flooding_projections station="8518750" scenario="intermediate" decade="2050s"
# 获取今晚的月亮相位用于导航
get_moon_phase date="2024-12-15" latitude="42.3601" longitude="-71.0589"
# 计算航行的日出/日落时间
get_sun_times date="2024-12-15" latitude="25.7617" longitude="-80.1918" timezone="America/New_York"
# 最佳捕鱼时间与水流预测
get_current_predictions station="ACT0446" date="today" interval="MAX_SLACK"
# 风和天气条件
get_meteorological_data station="8443970" product="wind" date="today"
# 在开发模式下运行(stdio)
npm run dev
# 使用 HTTP 传输的开发
npm run dev:http
# 使用不同传输方式的生产构建
npm start # STDIO 模式(默认)
npm run start:http # 端口 3000 的 HTTP
npm run start:http:3001 # 端口 3001 的 HTTP
npm run start:http:8080 # 端口 8080 的 HTTP
# 检查服务器功能
npx fastmcp inspect dist/index.js
当以 HTTP 模式运行时,服务器在 /sse 提供 Server-Sent Events (SSE):
# 启动 HTTP 服务器
npx @ryancardin/noaa-tides-currents-mcp-server --http --port 3000
# 测试端点
curl -N http://localhost:3000/sse
# 或与 Web 应用程序集成
fetch('http://localhost:3000/sse')
.then(response => response.body.getReader())
.then(reader => {
// 处理流式 MCP 响应
});
HTTP 模式的用例:
所有工具支持多种输出格式:
此服务器集成了三个 NOAA API:
| API | 目的 | 基础 URL |
|---|---|---|
| 数据 API | 实时观测及预测 | api.tidesandcurrents.noaa.gov/api/prod/ |
| 元数据 API | 站点信息及功能 | api.tidesandcurrents.noaa.gov/mdapi/prod/ |
| 衍生产品 API | 气候分析及研究数据 | api.tidesandcurrents.noaa.gov/dpapi/prod/ |
# 检查 Node.js 版本
node --version # 应该是 18+
# 重新构建 TypeScript
npm run build
get_stations 查找有效站点chmod +x dist/index.js我们热爱贡献!这是如何开始的:
git checkout -b amazing-feature)npm testnpm run build # 构建 TypeScript
npm run dev # 开发模式
npm run test # 运行测试套件
npm run format # 使用 Prettier 格式化
MIT 许可证 - 详情见 LICENSE 文件。
由 Ryan Cardin 用心打造
⭐ 如果这个仓库对你有帮助,请给它点赞!
得益于 NOAA 对开放海洋数据的承诺 🌊
</div>