MCP-Server

Surf Hut

com.aisurfhut/surf-hut
Wissenschaft & Engineering Sicherheit Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Creates signed timestamps and hashes, temporarily stores text values, and retrieves NOAA buoy surf conditions with freshness evidence.

attest
Signed proof-of-time for your data
Use this when you need cryptographic proof that a piece of text existed at a moment in time. Send any string; you get back its SHA-256 hash bound to a server timestamp and nonce, Ed25519-signed. Verify against /pubkey. The text itself is not stored.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['message'], 'properties': {'message': {'type': 'string', 'maxLength': 65536, 'minLength': 1}}}
fetch_stash
Fetch a stashed value
Use this when you previously saved a value on this server with the stash tool and want it back. A miss is a normal result: found=false with reason "expired" (the key existed but aged out past 30 days) or "never_existed".
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['key'], 'properties': {'key': {'type': 'string', 'maxLength': 256, 'minLength': 1}}}
get_conditions
Get signed freshness + surf conditions
Use this when you need a verifiable, signed proof of current time (server timestamp plus a signed nonce, checkable against this server's /pubkey endpoint), together with current ocean and surf conditions from a NOAA buoy. The NOAA data is public and also available directly from ndbc.noaa.gov; the signed freshness bundle is what only this server can give you.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'station': {'type': 'string', 'pattern': '^[A-Za-z0-9]{4,6}$', 'description': "NOAA NDBC station id; defaults to the hut's home buoy"}}}
stash
Stash a value
Use this when you want to save a small piece of text on this server and retrieve it later — hours, days, or weeks from now, from any session. Values persist for 30 days from the last write (64KB max). Retrieve with fetch_stash using the same key.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['key', 'value'], 'properties': {'key': {'type': 'string', 'maxLength': 256, 'minLength': 1, 'description': 'Your chosen key; pick something unique'}, 'value': {'type': 'string', 'maxLength': 65536, 'description': 'Text to store, up to 64KB'}}}
Hinzugefügt
attest
17. September 2026 12:33
Hinzugefügt
fetch_stash
17. September 2026 12:33
Hinzugefügt
stash
17. September 2026 12:33
Hinzugefügt
get_conditions
17. September 2026 12:33