solano
Registry code: 63bf4d7238109649
Solano aggregates international weather models and official marine sources for sailing, boating and outdoor activities.
What makes it different from a plain forecast API:
- endpoint
- https://solanometeo.fr/mcp/
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is solano live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 99% of checks over the last 30 days.
- Is solano free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does solano have?
- 9 tools: get_confidence, get_storm_risk, get_forecast, get_marine_bulletin, get_tide, find_known_anchorages, list_models_for_location, analyze_anchorage, ….
- Is solano safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 99%· all time 99%
last good check
of 9 tools
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- used for
- get a marine weather forecast
- get official marine bulletins and warnings
- get tide times
- analyze anchorage shelter
- check forecast confidence from ensembles
- takes → gives
- data → data, text
- tools
- 9 reads
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Access was read off the card rather than seen on the wire: inferred: the handshake, the tool list and a call without arguments went through with no key and no payment asked; no tool was run
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_confidence reads unknown 13h ago
How much the forecast can be trusted at this point, hour by hour, from ensemble spread — Solano's own indicator, not a raw model output. Each deterministic model is compared against the members of ITS OWN reference ensemble (GFS→GEFS, ECMWF IFS→ECMWF-ENS, ICON→ICON-EPS), never against a mixed pool: the systematic offset between forecasting centres would otherwise be charged to the model as if it were uncertainty. The percentage blends wind (60%), rain intensity class (25%) and pressure (15%). High means the scenarios converge, so the forecast is solid; low means they diverge and the forecast should be treated as uncertain. Use this when asked "is this forecast reliable?", "will it hold?", or before committing to a passage plan. Returned per day: mean and minimum confidence, plus the per-variable breakdown at the least confident hour.
{ "type": "object", "title": "get_confidenceArguments", "required": [ "latitude", "longitude" ], "properties": { "models": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Models", "default": null }, "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 33 linesget_storm_risk reads unknown 10h ago
Thunderstorm environment at a point, scored 0-10 per hour from convective ingredients rather than from a rain field. Built on a GFS baseline that carries the full set: CAPE sharpened by the lifted index, capped by convective inhibition, then modulated by the 700-500 hPa lapse rate and 0-6 km shear. Shear also decides organisation — a severe-intensity hour with weak shear is reported as "marked, isolated" rather than severe. `capped_gun` flags a loaded-gun setup: lots of fuel held down by a strong cap, explosive if it breaks. ⚠️ This describes an ENVIRONMENT at basin scale (the point is snapped to a ~25 km grid). It does NOT locate individual cells and must never be phrased as "a storm at 4pm" — say "conditions favourable to storms during the afternoon". Convection-resolving models place cells; see `list_models_for_location` for which ones cover this point.
{ "type": "object", "title": "get_storm_riskArguments", "required": [ "latitude", "longitude" ], "properties": { "days": { "type": "integer", "title": "Days", "default": 3 }, "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 23 linesget_forecast reads unknown 10h ago
Daily weather summary for a point, from one or more international models. Returns, per model and per LOCAL day: mean and max wind (knots), max gust, dominant wind direction, min/max temperature, total precipitation, and peak CAPE. Not hour-by-hour — follow `solano_url` for the hourly view. When the point is at sea and `include_sea_state` is true, a `sea_state` block adds significant wave height (Hs), derived maximum wave height (Hmax), period and direction from a wave model. Models are picked for the location: a regional high-resolution model (AROME 1.5 km, ICON-2I, ICON-D2, UKV…) replaces its global parent where it is available. Pass `models` to force specific keys — use `list_models_for_location` first to see what exists there.
{ "type": "object", "title": "get_forecastArguments", "required": [ "latitude", "longitude" ], "properties": { "days": { "type": "integer", "title": "Days", "default": 5 }, "models": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "title": "Models", "default": null }, "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" }, "include_sea_state": { "type": "boolean", "title": "Include Sea State", "default": true } } }arguments 43 linesget_marine_bulletin reads unknown 10h ago
The official marine forecast bulletin for the maritime zone containing a point — the text a national weather service publishes for mariners, not a model output. Providers, matched automatically to the point: Météo-France (BMR coastal), AEMET (Spain), MeteoAM (Italy), Met Office (UK inshore waters and shipping forecast). Pass `provider` to force one of `mf`, `aemet`, `meteoam`, `metoffice`. The bulletin is returned in the language its issuing service publishes it in (see `language`). Quote it, do not translate it as if it were the official wording. Costs no third-party call when warm: bulletins are cached 1-3 hours.
{ "type": "object", "title": "get_marine_bulletinArguments", "required": [ "latitude", "longitude" ], "properties": { "latitude": { "type": "number", "title": "Latitude" }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Provider", "default": null }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 30 linesget_tide reads unknown 5h ago
High and low water times and tidal range at any point on the globe, and real water heights wherever a national almanac covers it. Two very different answers, and the difference matters: - `reference.kind == "chart_datum"` — a national tide almanac is attached to this point (Canada CHS, France api-maree.fr, Ireland Marine Institute). `height_m` is then a TRUE water height above chart datum, which can be added to a charted sounding. - `reference.kind == "lowest_low_water"` — no almanac here, so the figures come from a global model referenced to mean sea level. Times and ranges are sound (they are differences, the unknown datum cancels out) but `height_m` is NOT a water height: it is an offset above an internal reference. Never add it to a sounding, and never present it as depth. Model range is systematically UNDERSTATED, the more so the more confined the place (-6% Halifax, -20% at the head of the Bay of Fundy): 8 km grid cells do not resonate a funnel. This is flagged, never silently corrected. The almanac attachment for a new point is decided in the background, so the first call at a fresh location may return the model and a later one the almanac.
{ "type": "object", "title": "get_tideArguments", "required": [ "latitude", "longitude" ], "properties": { "days": { "type": "integer", "title": "Days", "default": 3 }, "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 23 linesfind_known_anchorages reads unknown 13h ago
Anchorages already analysed nearby, re-scored for comfort over the next three nights against the real forecast wind and swell. Only spots whose full shelter profile is already in Solano's shared cache are considered — work other users' analyses have already paid for. Each is scored per night (18:00 to 10:00 local) on the worst hour of the window, which is the conservative reading you want for a night at anchor: swell weighs 0.70, wind 0.30, because swell is what makes a boat roll. Empty result means nobody has analysed an anchorage around this point yet, not that there is none — use `analyze_anchorage` on a precise spot to add one, or open the app to sweep the area. Cheap by construction: no topography download, two forecast calls.
{ "type": "object", "title": "find_known_anchoragesArguments", "required": [ "latitude", "longitude" ], "properties": { "latitude": { "type": "number", "title": "Latitude" }, "radius_m": { "type": "integer", "title": "Radius M", "default": 5000 }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 23 lineslist_models_for_location reads unknown 5h ago
Which weather models actually cover a point, and which resolve convection. A regional high-resolution model hides its global parent where it is available (AROME 1.5 km over France, ICON-2I over the Mediterranean, UKV over the UK, HRDPS over Canada). `resolves_convection` marks the models fine enough to place individual storm cells rather than parametrise them — those are the ones to cite when asked where a storm will actually break. `near_domain_edge` warns that the point sits in a regional model's relaxation zone, where its values are least trustworthy. Costs nothing: read from the registry, no network call.
{ "type": "object", "title": "list_models_for_locationArguments", "required": [ "latitude", "longitude" ], "properties": { "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 18 linesanalyze_anchorage reads unknown 13h ago
Directional shelter analysis of ONE precise anchorage: how protected it is from every compass direction, and how comfortable it will be over the next three days. Casts 1728 rays against a global elevation model plus OSM breakwaters and moles, giving per-direction wind protection and whether swell is blocked; then scores comfort hour by hour against the real forecast. Also returns depth (EMODnet bathymetry) and seabed nature: a seagrass meadow (`seabed.seagrass`, e.g. protected Posidonia) always takes precedence over the sediment beneath (`seabed.sediment`) and means anchoring there should be avoided. ⚠️ Use this on a SINGLE spot the user has in mind. It is the most expensive thing this server does — 18 topography calls against a public quota shared with the website — so it is capped per day, serialised, and de-duplicated. Do NOT call it repeatedly to sweep a coastline: call `find_known_anchorages` for that, or send the user to the app, which has a search built for it. A refusal here is a budget limit, not an error. Points already analysed come back from cache instantly and cost nothing.
{ "type": "object", "title": "analyze_anchorageArguments", "required": [ "latitude", "longitude" ], "properties": { "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 18 linesget_zone_alerts reads unknown 5h ago
Marine and weather warnings in force for a point, from every official source at once — gale and storm warnings (BMS Météo-France, AEMET, MeteoAM, Met Office) plus European MeteoAlarm warnings resolved to the actual region, not the whole country. Empty list means no warning is in force, which is a real answer worth stating. Each warning carries its issuing service, validity window, level and the official text in the publishing language. Check this before any passage or coastal activity. Costs no third-party call when warm (own 15-minute cache).
{ "type": "object", "title": "get_zone_alertsArguments", "required": [ "latitude", "longitude" ], "properties": { "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" } } }arguments 18 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id63bf4d7238109649.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/63bf4d7238109649/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/63bf4d7238109649?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.