{"capabilities":{"pushNotifications":false,"stateTransitionHistory":false,"streaming":false},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"description":"Meridian cloud service layer: marine data proxy (tiles, weather, ocean, bathymetry), isochrone ensemble routing, agentic research, inference and transcription fallback, fleet co-op, and combined search — every skill declares an offline fallback.","name":"meridian","protocolVersion":"0.3.0","provider":{"organization":"Deep Blue Dynamics","url":"https://nuts.services"},"security":[{"nutsAuth":[]}],"securitySchemes":{"nutsAuth":{"bearerFormat":"JWT","description":"Nuts Auth JWT (auth.nuts.services). Skill id = required scope; tier claim gates min_tier.","scheme":"bearer","type":"http"}},"skills":[{"description":"Fetch map tiles: Google 3D (online-only, key hidden) or free-data tiles (cached corridor).","id":"tiles.fetch","inputModes":["application/json"],"name":"tiles.fetch","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"tiles","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":2592000},"output_schema":{"type":"object"},"provider_chain":["google-3d","free-tiles","cached-corridor"]}},{"description":"Ensemble wind/pressure/gust/waves as the normalized Field model (ECMWF primary, GFS fallback).","id":"weather.field","inputModes":["application/json"],"name":"weather.field","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"metered","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":172800},"output_schema":{"type":"object"},"provider_chain":["open-meteo-ecmwf","open-meteo-gfs","ecmwf-open-data","gfs-nomads","cached-field"]}},{"description":"Currents (SMOC), tides, waves/swell, SST as Field/series.","id":"ocean.field","inputModes":["application/json"],"name":"ocean.field","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"metered","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":172800},"output_schema":{"type":"object"},"provider_chain":["copernicus-smoc","rtofs-nomads","cached-field"]}},{"description":"GEBCO depth grid, ENC-derived contours/soundings, OpenSeaMap seamarks.","id":"bathy.field","inputModes":["application/json"],"name":"bathy.field","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"metered","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":7776000},"output_schema":{"type":"object"},"provider_chain":[]}},{"description":"Server-side isochrone ensemble routing: P5/P50/P95 envelope, ETA distribution, risk metrics (async task).","id":"route.compute","inputModes":["application/json"],"name":"route.compute","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"metered","input_schema":{"type":"object"},"min_tier":"coastal","mode":"advise","offline_fallback":{"kind":"local_engine"},"output_schema":{"type":"object"},"provider_chain":[]}},{"description":"Grubcrawler agentic crawl->summarize->cite report keyed to destination intent (async task).","id":"research.report","inputModes":["application/json"],"name":"research.report","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"inference","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":2592000},"output_schema":{"type":"object"},"provider_chain":[]}},{"description":"Model proxy for the coastal tier; sovereign boats fall back to a local model.","id":"infer.complete","inputModes":["application/json"],"name":"infer.complete","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"inference","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"deterministic_floor"},"output_schema":{"type":"object"},"provider_chain":["local-model","proxied-model","deterministic-floor"]}},{"description":"Higher-accuracy cloud transcript for opt-in uploads; the boat's local Whisper is always the floor (spec-radio, spec-backend-services v2).","id":"transcribe.audio","inputModes":["application/json"],"name":"transcribe.audio","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"inference","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"local_model"},"output_schema":{"type":"object"},"provider_chain":["whisper-local","whisper-cloud","openai"]}},{"description":"Submit anonymized grid-cell observations / completed-passage records to the fleet co-op.","id":"fleet.contribute","inputModes":["application/json"],"name":"fleet.contribute","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"free","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":604800},"output_schema":{"type":"object"},"provider_chain":[]}},{"description":"Query the fleet aggregate for a grid cell or corridor.","id":"fleet.observe","inputModes":["application/json"],"name":"fleet.observe","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"free","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":604800},"output_schema":{"type":"object"},"provider_chain":[]}},{"description":"Store an agent-authored pane spec for subscribers.","id":"panes.publish","inputModes":["application/json"],"name":"panes.publish","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"free","input_schema":{"type":"object"},"min_tier":"coastal","mode":"act","offline_fallback":{"kind":"cache","max_age_secs":2592000},"output_schema":{"type":"object"},"provider_chain":[]}},{"description":"Receive pushed pane specs.","id":"panes.subscribe","inputModes":["application/json"],"name":"panes.subscribe","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"free","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":2592000},"output_schema":{"type":"object"},"provider_chain":[]}},{"description":"Combined Shivvr+Lume search over Grub-crawled content (online); Logs/Docs run boat-side.","id":"search.query","inputModes":["application/json"],"name":"search.query","outputModes":["application/json"],"tags":["meridian"],"x-meridian":{"cost_class":"metered","input_schema":{"type":"object"},"min_tier":"coastal","mode":"read","offline_fallback":{"kind":"cache","max_age_secs":2592000},"output_schema":{"type":"object"},"provider_chain":[]}}],"url":"https://meridian.deepbluedynamics.com/a2a","version":"0.1.0"}