openwind-mcp-dev / README.md
openwind-ci
sync: github b57a40b
3839fa1
|
Raw
History Blame Contribute Delete
4.3 kB
---
title: OpenWind MCP (dev)
emoji:
colorFrom: gray
colorTo: yellow
sdk: docker
app_port: 7860
pinned: false
license: mit
short_description: (dev) French Atlantic + Med sailing planner via MCP.
---
# OpenWind MCP (dev) ⛵
> **Talk to your LLM. Cast off with confidence.**
>
> Turns any MCP-capable assistant into a sailing planner for the French
> Atlantic and Mediterranean coasts. Free, keyless, open source.
![OpenWind passage plan rendered in the web app](https://raw.githubusercontent.com/qdonnars/openwind/main/docs/screenshots/plan.png)
---
## Try it in 30 seconds
**1.** In your MCP client, add the endpoint:
```
https://qdonnars-openwind-mcp-dev.hf.space/mcp
```
**2.** Ask, in your own words:
> *"I'm leaving Marseille tomorrow morning for Porquerolles on a Sun Odyssey
> 36. How long is the passage and how tricky is it?"*
**3.** Your assistant calls the OpenWind tools and answers in plain language.
On hosts that support the [MCP Apps spec](https://modelcontextprotocol.io/extensions/client-matrix)
(Claude, Claude Desktop, ChatGPT, VS Code Copilot, Goose, Postman, MCPJam) you
also get the live [openwind.fr](https://openwind.fr) plan view rendered
inline. On hosts that don't (Cursor, Le Chat, terminal), the assistant hands
you the same plan as a deep-link instead. No account. No API key. No credit
card.
> **First time with MCP?** Pick your client on
> [modelcontextprotocol.io/clients](https://modelcontextprotocol.io/clients),
> then follow the
> [remote-server quickstart](https://modelcontextprotocol.io/docs/develop/connect-remote-servers).
> Works with Claude Desktop, Le Chat, Cursor, Goose, Zed, Continue, and any
> other MCP-compatible host. In Le Chat, add it under **Connectors → Add
> connector → Custom MCP connector** and paste the endpoint above.
## Why OpenWind
- **Free and keyless.** Wind + sea data via [Open-Meteo](https://open-meteo.com) (CC BY 4.0).
- **Mediterranean-tuned.** AROME 1.3 km by default, catches thermals and mistral. ICON-EU → ECMWF → GFS for longer reach.
- **Boat-aware.** 7 archetypes from 20 to 50 ft, real polars, an `efficiency` parameter for trim and crew level.
- **Window-aware.** One call sweeps up to 14 days of hourly departures so the LLM can pick the calmest slot.
- **Client-agnostic.** One HTTP MCP endpoint, no vendor lock-in. Rich [MCP Apps](https://modelcontextprotocol.io/extensions/client-matrix) widget on supporting hosts; clean deep-link fallback on the rest.
- **Open source, MIT.** Self-host on Fly, Modal, or your own VPS in minutes.
## Four tools
| Tool | What it does |
|---------------------------|---------------------------------------------------------------------------|
| `list_boat_archetypes` | Seven descriptive archetypes; the LLM maps "Sun Odyssey 36" → `cruiser_30ft`. |
| `get_marine_forecast` | Wind + sea around a point/window, multi-model. |
| `plan_passage` | End-to-end: per-leg timing + 1–5 complexity + openwind.fr deep-link, in one call. Pass `latest_departure` and it walks every hourly window up to 14 days out so the LLM can compare side-by-side. Declares an MCP Apps UI resource; supporting hosts auto-render the live plan in a sandboxed iframe. |
| `read_me` | Returns OpenWind's calculation methodology. Call it when the user asks how things are computed. |
## About this Space
> ⚠️ This Space uses the **Docker SDK** (not Gradio). It does **not** carry
> the HF MCP badge and isn't listed in
> `huggingface.co/spaces?filter=mcp-server`. Discoverability lives at
> [openwind.fr](https://openwind.fr) instead.
**Source of truth:** <https://github.com/qdonnars/openwind>. This Space is
auto-deployed by GitHub Actions from `packages/hf-space/` on `dev`. Don't
commit directly to the Space repo; your changes will be overwritten at the
next push.
The Space wrapper is intentionally minimal (~20 lines in `app.py`). All logic
lives in `openwind-mcp-core` and `openwind-data` upstream, re-deployable on
Fly, Modal, or a VPS by writing a different wrapper.
## Cold-start
Free CPU-basic hardware sleeps after 48 h of inactivity. First request after
sleep takes ~5 s to wake. Acceptable for V1.
## License
MIT.