NOAA潮汐MCP服务器
该MCP服务器通过模型上下文协议提供对NOAA CO-OPS(运营海洋学产品和服务中心)数据的访问。
特性
- 获取特定站点的水位数据
- 获取潮汐预测(高潮/低潮)
- 获取电台信息和元数据
安装
uv add mcp[cli]
uv add httpx开发设置
要设置具有测试依赖关系的开发环境,请执行以下操作:
# Install test dependencies
uv add pytest pytest-asyncio pytest-httpx pytest-mock测试
该项目使用pytest进行测试。测试套件包括:
- 所有API端点的单元测试
- 错误处理测试
- 参数验证测试
- 使用pytest-httpx模拟HTTP响应
要运行测试,请执行以下操作:
# Run all tests with verbose output
pytest -v
# Run a specific test file
pytest tests/test_server.py -v
# Run a specific test function
pytest tests/test_server.py::test_get_water_levels -v用法
服务器提供三个主要工具:
get_water_levels:获取特定站点的水位数据
- 参数: - station_id:7位站点ID - begin_date:yyyyMMdd格式的开始日期(可选) - end_date:yyyyMMdd格式的结束日期(可选) - datum:垂直基准(默认值:MLLW) - time_zone:时区(默认值:gmt) - units:计量单位(默认值:英制)
get_tide_predictions:获取特定站点的潮汐预测
- 参数: - station_id:7位站点ID - begin_date:yyyyMMdd格式的开始日期(可选) - end_date:yyyyMMdd格式的结束日期(可选) - datum:垂直基准(默认值:MLLW) - time_zone:时区(默认值:gmt) - units:计量单位(默认值:英制) - interval:预测间隔(默认值:高潮/低潮为hilo)
get_station_info:获取特定电台的信息
- 参数: - station_id:7位站点ID
站点ID示例
- 9414290:加利福尼亚州旧金山
- 8518750:纽约炮台
- 8557863:马里兰州雷霍沃斯海滩
运行服务器
python server.py与Claude Desktop一起使用
要将此服务器与Claude Desktop一起使用,请使用以下配置字符串添加它:
python:/path/to/your/server.py替换 /path/to/your/server.py 与您的实际路径 server.py 文件。
许可证
麻省理工学院

