openwind-ci commited on
Commit
3839fa1
·
1 Parent(s): b531042

sync: github b57a40b

Browse files
README.md CHANGED
@@ -1,16 +1,16 @@
1
  ---
2
- title: OpenWind MCP
3
  emoji: ⛵
4
- colorFrom: blue
5
- colorTo: indigo
6
  sdk: docker
7
  app_port: 7860
8
  pinned: false
9
  license: mit
10
- short_description: French Atlantic + Mediterranean sailing planner via MCP.
11
  ---
12
 
13
- # OpenWind MCP ⛵
14
 
15
  > **Talk to your LLM. Cast off with confidence.**
16
  >
@@ -26,7 +26,7 @@ short_description: French Atlantic + Mediterranean sailing planner via MCP.
26
  **1.** In your MCP client, add the endpoint:
27
 
28
  ```
29
- https://qdonnars-openwind-mcp.hf.space/mcp
30
  ```
31
 
32
  **2.** Ask, in your own words:
@@ -47,16 +47,17 @@ card.
47
  > then follow the
48
  > [remote-server quickstart](https://modelcontextprotocol.io/docs/develop/connect-remote-servers).
49
  > Works with Claude Desktop, Le Chat, Cursor, Goose, Zed, Continue, and any
50
- > other MCP-compatible host.
 
51
 
52
  ## Why OpenWind
53
 
54
- - **Free & keyless** wind + sea data via [Open-Meteo](https://open-meteo.com) (CC BY 4.0).
55
- - **Mediterranean-tuned** AROME 1.3 km by default, catches thermals & mistral. ICON-EU → ECMWF → GFS for longer reach.
56
- - **Boat-aware** 7 archetypes from 20 to 50 ft, real polars, `efficiency` parameter for trim and crew level.
57
- - **Window-aware** one call sweeps up to 14 days of hourly departures so the LLM can pick the calmest slot.
58
- - **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.
59
- - **Open source, MIT** self-host on Fly, Modal, your VPS in minutes.
60
 
61
  ## Four tools
62
 
@@ -64,8 +65,8 @@ card.
64
  |---------------------------|---------------------------------------------------------------------------|
65
  | `list_boat_archetypes` | Seven descriptive archetypes; the LLM maps "Sun Odyssey 36" → `cruiser_30ft`. |
66
  | `get_marine_forecast` | Wind + sea around a point/window, multi-model. |
67
- | `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. |
68
- | `read_me` | Returns OpenWind's calculation methodology call when the user asks how things are computed. |
69
 
70
  ## About this Space
71
 
@@ -75,12 +76,12 @@ card.
75
  > [openwind.fr](https://openwind.fr) instead.
76
 
77
  **Source of truth:** <https://github.com/qdonnars/openwind>. This Space is
78
- auto-deployed by GitHub Actions from `packages/hf-space/` on `main`. Don't
79
- commit directly to the Space repo your changes will be overwritten at the
80
  next push.
81
 
82
  The Space wrapper is intentionally minimal (~20 lines in `app.py`). All logic
83
- lives in `openwind-mcp-core` and `openwind-data` upstream re-deployable on
84
  Fly, Modal, or a VPS by writing a different wrapper.
85
 
86
  ## Cold-start
 
1
  ---
2
+ title: OpenWind MCP (dev)
3
  emoji: ⛵
4
+ colorFrom: gray
5
+ colorTo: yellow
6
  sdk: docker
7
  app_port: 7860
8
  pinned: false
9
  license: mit
10
+ short_description: (dev) French Atlantic + Med sailing planner via MCP.
11
  ---
12
 
13
+ # OpenWind MCP (dev)
14
 
15
  > **Talk to your LLM. Cast off with confidence.**
16
  >
 
26
  **1.** In your MCP client, add the endpoint:
27
 
28
  ```
29
+ https://qdonnars-openwind-mcp-dev.hf.space/mcp
30
  ```
31
 
32
  **2.** Ask, in your own words:
 
47
  > then follow the
48
  > [remote-server quickstart](https://modelcontextprotocol.io/docs/develop/connect-remote-servers).
49
  > Works with Claude Desktop, Le Chat, Cursor, Goose, Zed, Continue, and any
50
+ > other MCP-compatible host. In Le Chat, add it under **Connectors → Add
51
+ > connector → Custom MCP connector** and paste the endpoint above.
52
 
53
  ## Why OpenWind
54
 
55
+ - **Free and keyless.** Wind + sea data via [Open-Meteo](https://open-meteo.com) (CC BY 4.0).
56
+ - **Mediterranean-tuned.** AROME 1.3 km by default, catches thermals and mistral. ICON-EU → ECMWF → GFS for longer reach.
57
+ - **Boat-aware.** 7 archetypes from 20 to 50 ft, real polars, an `efficiency` parameter for trim and crew level.
58
+ - **Window-aware.** One call sweeps up to 14 days of hourly departures so the LLM can pick the calmest slot.
59
+ - **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.
60
+ - **Open source, MIT.** Self-host on Fly, Modal, or your own VPS in minutes.
61
 
62
  ## Four tools
63
 
 
65
  |---------------------------|---------------------------------------------------------------------------|
66
  | `list_boat_archetypes` | Seven descriptive archetypes; the LLM maps "Sun Odyssey 36" → `cruiser_30ft`. |
67
  | `get_marine_forecast` | Wind + sea around a point/window, multi-model. |
68
+ | `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. |
69
+ | `read_me` | Returns OpenWind's calculation methodology. Call it when the user asks how things are computed. |
70
 
71
  ## About this Space
72
 
 
76
  > [openwind.fr](https://openwind.fr) instead.
77
 
78
  **Source of truth:** <https://github.com/qdonnars/openwind>. This Space is
79
+ auto-deployed by GitHub Actions from `packages/hf-space/` on `dev`. Don't
80
+ commit directly to the Space repo; your changes will be overwritten at the
81
  next push.
82
 
83
  The Space wrapper is intentionally minimal (~20 lines in `app.py`). All logic
84
+ lives in `openwind-mcp-core` and `openwind-data` upstream, re-deployable on
85
  Fly, Modal, or a VPS by writing a different wrapper.
86
 
87
  ## Cold-start
vendor/mcp-core/src/openwind_mcp_core/server.py CHANGED
@@ -639,7 +639,7 @@ def build_server(
639
 
640
  @server.tool()
641
  def list_boat_archetypes() -> list[dict[str, Any]]:
642
- """List the 5 boat archetypes with descriptive metadata.
643
 
644
  The LLM (or user) maps a commercial model (e.g. "Sun Odyssey 32") to one
645
  of these archetypes from the metadata — there is no server-side mapping.
 
639
 
640
  @server.tool()
641
  def list_boat_archetypes() -> list[dict[str, Any]]:
642
+ """List the 7 boat archetypes with descriptive metadata.
643
 
644
  The LLM (or user) maps a commercial model (e.g. "Sun Odyssey 32") to one
645
  of these archetypes from the metadata — there is no server-side mapping.