使用说明
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位站点IDbegin_date:yyyyMMdd格式的开始日期(可选)end_date:yyyyMMdd格式的结束日期(可选)datum:垂直基准(默认值:MLLW)time_zone:时区(默认值:gmt)units:计量单位(默认值:英制)
- 参数:
-
get_tide_predictions:获取特定站点的潮汐预测- 参数:
station_id:7位站点IDbegin_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 文件。
许可证
麻省理工学院