潮汐与海洋数据 API:全球潮汐高度与天气 - Openclaw Skills

作者:互联网

2026-03-27

AI教程

什么是 潮汐与海洋数据?

此技能为开发人员和 AI 代理提供了一个强大的全球海洋潮汐模型接口。通过利用 JSON-RPC 2.0 协议,它允许根据地理坐标和时间戳精确查询海洋状况。对于构建航海应用、研究工具或沿海监测系统的用户来说,它是 Openclaw Skills 库中必不可少的补充。

该技能与现代 AI 工作流无缝集成,可针对复杂的航海分析实现自动化数据检索。无论您是需要特定港口的当前潮汐水平,还是需要一周的潮汐极值,此工具都能通过兼容 MCP 的接口直接提供高保真海洋数据。

下载入口:https://github.com/openclaw/skills/tree/main/skills/hamandmore/tides

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install tides

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 tides。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

潮汐与海洋数据 应用场景

  • 通过计算特定坐标的潮汐高度来规划海上航行。
  • 为海岸工程项目分析历史或未来的潮汐极值。
  • 将海洋潮汐数据与地表风速和温度等气象变量相关联。
  • 使用 Openclaw Skills 自动生成环境监测报告。
潮汐与海洋数据 工作原理
  1. 用户或代理向专门的 API 端点发起兼容 MCP 的 JSON-RPC 请求。
  2. 身份验证通过 Bearer 令牌(高频使用层级)或匿名(标准查询)处理。
  3. 该技能使用提供的经纬度参数处理 tides_single 或 tides_extrema 等工具调用。
  4. 后端海洋模型计算请求的谐波数据或获取气象网格点。
  5. 结果以结构化 JSON 形式返回,允许 Openclaw Skills 立即解析潮位和天气变量。

潮汐与海洋数据 配置指南

要开始使用,您可以直接使用 JSON-RPC 2.0 访问 API。如需更高的频率限制,请联系 hamandmore@gmail.com 申请身份验证令牌。使用以下命令初始化连接:

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

要在您的 Openclaw Skills 环境中列出可用工具:

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

潮汐与海洋数据 数据架构与分类体系

该技能利用标准的地理和时间参数来返回结构化的海洋数据。响应包括字符串化的 JSON 和结构化对象,以便更好地进行程序化访问。

参数 类型 描述
latitude float 目标位置的纬度
longitude float 目标位置的经度
start_time string 数据开始的 ISO-8601 时间戳
variables array 天气变量列表(例如 wind/surface/0)

来自 Openclaw Skills 的所有成功响应都包含一个 result.structuredContent 字段,用于直接访问对象。

name: tides
description: Access global ocean tides model. Functions include tide height at a given date/time/location, tide extrema, and grid weather data.

Tides JSON-RPC Access

Use this guide to call the deployed API directly:

  • Base URL: https://hamandmore.net/api/harmonics/mcp
  • Method: POST
  • Content-Type: application/json
  • Protocol: JSON-RPC 2.0 request envelope

Authentication

Use one of these modes:

  • Anonymous: no Authorization header (free tier rate limits)
  • Keyed: add Authorization: Bearer or Authorization: Basic
  • Need higher usage tiers? Request authentication by emailing hamandmore@gmail.com.

Important:

  • Basic here is an opaque token prefix, not RFC Basic base64 decoding.
  • Tokens do not need to be valid base64.

JSON-RPC Envelope

Always send:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
  "params": {}
}
  • id: any client correlation value
  • method: one of initialize, tools/list, tools/call
  • params: object (required shape depends on method)

Quick Start Commands

Initialize:

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

List tools:

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

List tools (keyed tier):

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  -H 'authorization: Bearer YOUR_TOKEN' r
  --data '{"jsonrpc":"2.0","id":3,"method":"tools/list","params":{}}'

Tool Call Pattern

All tool calls use:

{
  "jsonrpc": "2.0",
  "id": 10,
  "method": "tools/call",
  "params": {
    "name": "TOOL_NAME",
    "arguments": {}
  }
}

Curl Examples

1) Current time (tides_time)

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":10,"method":"tools/call","params":{"name":"tides_time","arguments":{}}}'

2) Single tide value (tides_single)

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":11,"method":"tools/call","params":{"name":"tides_single","arguments":{"latitude":40.7128,"longitude":-74.0060,"time":"2026-02-10T00:00:00Z"}}}'

3) Tide extrema (tides_extrema)

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":12,"method":"tools/call","params":{"name":"tides_extrema","arguments":{"latitude":40.7128,"longitude":-74.0060,"start_time":"2026-02-10T00:00:00Z","end_time":"2026-02-11T00:00:00Z"}}}'

4) Weather points (weather_met)

curl -sS -X POST https://hamandmore.net/api/harmonics/mcp r
  -H 'content-type: application/json' r
  --data '{"jsonrpc":"2.0","id":13,"method":"tools/call","params":{"name":"weather_met","arguments":{"latitude":40.7128,"longitude":-74.0060,"start_time":"2026-02-10T00:00:00Z","variables":["wind/surface/0","tmp/surface/0"]}}}'

Response Shape

Successful responses include:

  • result.content[0].text: stringified JSON result
  • result.structuredContent: same result as an object (preferred)

Errors use JSON-RPC error:

  • -32602: invalid params
  • -32601: method not found
  • -32603: server/tool exception