OpenClaw · Skill
Tides
Use this guide to call the deployed API directly:
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install hamandmore/tidesClawHub installer
npx clawhub@latest install hamandmore/tidesOpenClaw CLI
openclaw skills install hamandmore/tidesDirect OpenClaw install
openclaw install hamandmore/tidesWhat this skill does
Use this guide to call the deployed API directly:
Why it matters
Eliminates the need to run local harmonic tide prediction libraries by exposing a global model through a single HTTP endpoint.
Typical use cases
- Checking tide height before launching a kayak or small boat
- Finding low-tide windows for coastal foraging or beach access
- Scheduling marina departures around predicted high tide
- Building a tide alert app for a specific harbor or cove
- Pulling wind and temperature data alongside tides for trip planning
Source instructions
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
Authorizationheader (free tier rate limits) - Keyed: add
Authorization: Bearer <token>orAuthorization: Basic <token> - Need higher usage tiers? Request authentication by emailing
hamandmore@gmail.com.
Important:
Basichere 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 valuemethod: one ofinitialize,tools/list,tools/callparams: object (required shape depends on method)
Quick Start Commands
Initialize:
curl -sS -X POST https://hamandmore.net/api/harmonics/mcp \
-H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
List tools:
curl -sS -X POST https://hamandmore.net/api/harmonics/mcp \
-H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
List tools (keyed tier):
curl -sS -X POST https://hamandmore.net/api/harmonics/mcp \
-H 'content-type: application/json' \
-H 'authorization: Bearer YOUR_TOKEN' \
--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 \
-H 'content-type: application/json' \
--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 \
-H 'content-type: application/json' \
--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 \
-H 'content-type: application/json' \
--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 \
-H 'content-type: application/json' \
--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 resultresult.structuredContent: same result as an object (preferred)
Errors use JSON-RPC error:
-32602: invalid params-32601: method not found-32603: server/tool exception