Skip to main content
Glama
270,502 tools. Last updated 2026-07-07 20:47

"namespace:io.github.warwickwood-cell" matching MCP tools:

  • Compare two bands at the same cell. Scalar pair → metric=delta, value=b-a. Vector pair (equal dim) → metric=cosine + per-dim delta. Returns a signed receipt naming both source fact CIDs. When to use: Call when the user wants cross-source consistency at one place ('does Cop-DEM agree with GMRT here?'), cross-vintage drift ('how did the embedding change between 2017 and 2024 at this cell?'), or any band-vs-band comparison within a single cell. `cell` + `a` + `b` are required. `tslot_a`/`tslot_b` are OPTIONAL: omit them to let the responder auto-pick each band's latest attested tslot — required for medium/fast-tempo bands (NDVI 30-day, MODIS 8-day, weather, CAMS) where there is no fact at tslot=0. The response carries `tslot_resolution` (echoes what was chosen and why) and `bands_with_no_history` (lists any band the cell has no attested fact for).
    Connector
  • One-shot elevation answer that fuses Cop-DEM 30 m (land), GMRT (ocean topobathy), and ESA WorldCover (water mask) into a single signed scalar at a place or coordinate. Returns `elevation_m`, the source actually used, and a `coherence_note` when the two surfaces disagree at the coast. When to use: Use when the user asks 'how high is X' or 'what's the elevation at this lat/lng' and you want the correct answer regardless of whether the cell is land, water, or coastline — the handler picks Cop-DEM for land and GMRT for water and surfaces the choice. Pass `place` (free text), `lat`+`lng`, OR `cell`. Otherwise, prefer emem_recall with `copdem30m.elevation_mean` / `gmrt.topobathy_mean` individually.
    Connector
  • Compute the Standardized Precipitation Index (McKee et al. 1993) at a cell: fit a gamma distribution to the same-window precipitation-accumulation history, then standardize the current accumulation to a z-score and map it to a drought class (extreme/severe/moderate drought … normal … wet). Supply `precip_history_mm` + `current_accumulation_mm` directly, or omit them to read the stored `weather.precipitation_mm` trajectory and build the window accumulations server-side. `window_days` selects SPI-1 (30 d), SPI-3 (90 d, default), SPI-12 (360 d), etc. When to use: Call when the user asks 'is this place in drought', 'how dry is it relative to normal', or wants a precipitation-anomaly z-score. The response is honest: when fewer than the WMO-recommended minimum samples exist it returns verdict=`inconclusive` with `spi:null` and a `honest_note` rather than fabricating a z-score from a handful of points. Quote the `spi`, `spi_class`, and `n_samples`. For raw precipitation use `emem_weather`; SPI is the standardized anomaly.
    Connector
  • Compute three standard DEM terrain indices from one 3×3 Copernicus-DEM (copdem30m.elevation_mean) neighbourhood at a cell: Horn (1981) slope in degrees, Riley (1999) Terrain Ruggedness Index (TRI = sqrt(Σ(Z_centre−Z_i)²)), and Weiss (2001) Topographic Position Index (TPI = Z_centre − mean(neighbours); positive = ridge, negative = valley). The 8 neighbour cell64s are derived by perturbing the cell's lat/lng one cell pitch per axis; the east-west ground spacing is cos(lat)-corrected. When to use: Call when the user asks how steep / how rugged / ridge-or-valley a place is, for siting (solar, construction, agriculture), erosion/landslide screening, or habitat-heterogeneity inputs. Slope and TRI need the full 8-neighbour ring; TPI degrades to ≥1 neighbour. Copernicus DEM is bathymetry-free, so ocean cells return a signed `inconclusive` rather than a fabricated slope — read each index's own `verdict`. For raw elevation use `emem_elevation`.
    Connector
  • Fetch the actual observations/values for a ČSÚ dataset as JSON-stat 2.0 (dimensions in `id`/`dimension`, cell counts in `size`, numbers in `value`). Verified live. NOTE: returns the complete dataset as a full cross-product, which is often large (hundreds of thousands of cells, 1MB+) — call data_summary first to check pocetUdaju. Version (verze) is auto-resolved from the catalog if omitted.
    Connector
  • Query verified U.S. annual retail electricity sales — billed MWh, revenue, and customer counts — by utility, state, and customer sector from EIA-861. Use this for "who sold how much power to whom" questions at the annual utility×state×sector grain: filter or group by `data_year`, `state`, `sector` (residential / commercial / industrial / transportation), `part`, `service_type`, `ownership`, `ba_code`, `data_type`, `eia_utility_id`, or `utility_name`. Pass filters inside the `params` object. Returns JSON aggregates with citations down to the exact stacked sector/measure cell, and optional row-level records when `include_records` is true. Defaults keep totals faithful: the in-row `total` sector block is excluded unless named explicitly (it duplicates the four sectors); EIA's state-level Adjustment (99999) and Withheld (88888) sentinel rows stay in state totals but are auto-excluded from any utility-keyed query; territories are excluded unless `included_in_default_us_metrics` is false. A result mixing service types carries a `service_type_mix` note quoting the file's own law — revenue sums Parts A,B,C,D but sales/customers sum A,B,D only (Part C delivery re-counts Part B energy). History spans data years 2016–2024, one annual census per year, each its own vintage. Reach an earlier year through `as_of`, not `data_year`: `as_of` resolves to the newest census at or before it (so `as_of` 2018-06-01 — or just 2018 — returns the 2018 census) and the response echoes that resolved `as_of`. `data_year` only filters within the resolved vintage, so `data_year` 2018 under the default `as_of` (latest = 2024) returns an empty scope, not 2018; the default serves 2024, a multi-year trend is one query per year, and an `as_of` before 2016 is refused, naming the floor. Does not determine hourly or peak load (sales are billed MWh over a year — use power.demand), facility-level or data-center-specific load, county-level detail, average retail price (cents/kWh — deferred), the ~1,700 small short-form (EIA-861S) utilities, or monthly freshness (this is the annual census, not the monthly EIA-861M sample).
    Connector

Matching MCP Servers

Matching MCP Connectors

  • GitHub MCP — wraps the GitHub public REST API (no auth required for public endpoints)

  • 297 data tools across 90 MCP servers via one gateway. Free trial header; x402 USDC on Base.

  • Publish a single output to its platform. Defaults to dry_run=true: returns the would-publish payload plus any verifier blocks without actually filing. Set dry_run=false and provide an idempotency_key to commit. The commit is the only irreversible action in the workflow; the agent should present the dry-run preview to the human and only commit on explicit go-ahead. For any piece with a rendered image, reel, or card, show the human the actual pixels (the preview_url / image_url) first: never let publish be the first time a human sees the final visual. Verifier-blocked outputs refuse to publish even with dry_run=false; clear the block on the row first. When the target social isn't linked, returns status='not_connected' plus a `connect_url` instead of publishing; send the user to connect once, then retry. Scheduling: pass `scheduled_for` (an ISO-8601 datetime in the future) to file the post for later instead of publishing now; it dispatches automatically through the same publish path. Pass `cancel_scheduled=true` to clear a pending schedule for this platform. Prefer an exact cell string (e.g. 'x:thread', 'x:single_tweet') over a bare family name. A bare family that matches more than one draft on the session returns status='ambiguous_platform' with the candidate cells rather than guessing. Every publish and dry-run response echoes `resolved_cell` so you can confirm which artifact shipped.
    Connector
  • Forward-step 2-D explicit finite-difference solver for the heat equation ∂u/∂t = α∇²u over a 3×3 cell stencil centred on `cell`. Reads `modis.lst_day_8day` (Land Surface Temperature) at the centre and 8 cell64 neighbours, integrates N hours ahead under a CFL-stable timestep, returns a signed forecast. Real PDE rollout — not a decay-scoring heuristic. When to use: Use when the user wants a short-horizon LST forecast (urban heat island, surface-temperature evolution, heatwave onset modelling) at a specific cell. Default α=1e-6 m²/s matches urban surface diffusivity (Oke 2017); pass a smaller α for water bodies or higher for vegetated surfaces. The solver caps at one-week horizons because the 8-day MODIS composite stops being a representative initial condition past that. Each call materialises 9 MODIS facts (one per neighbour) on miss — first call ~5 s cold, ~30 ms warm. Receipt cites all 9 input fact CIDs.
    Connector
  • Post a new comment on any target in a workspace: a row, a cell, a doc text range, an html element, an entire surface, or the workspace itself. Polymorphic target shape mirrors the REST POST /api/workspaces/:slug/comments. For threading, pass `parentId` to hang the new comment as a reply (the server flattens nested replies to single depth and auto-unresolves a resolved parent). Mentions are an array of `{ kind: 'user'|'agent', id, label }` triples; the server validates each mention's access to the workspace before accepting. Fires `comment.added` (and `comment.unresolved` when a reply reopens a resolved parent). For replies to existing comments where you don't want to reconstruct the target, prefer `reply_to_comment` which derives the target from the parent. Editor or commenter role required.
    Connector
  • Parse-check a formula expression server-side without writing anything. Returns { ok, error?, rewrittenFormula?, referencedFunctions, unknownFunctions }. Use BEFORE update_row / create_row when the formula references functions or syntax you're not 100% sure of: a `=SUMIFS(...)` with the wrong arg order or a misspelled `=AVERAG(...)` will round-trip into the cell as a stored carrier with no value, and the user will see #NAME? or #VALUE? on next view. Catch it here. `unknownFunctions` flags any identifier that isn't in the Dock Sheets catalog (including likely typos); `referencedFunctions` lists the canonical post-alias names the engine will see. Cheap, public, no auth, no workspace context needed.
    Connector
  • Event-discovery sweep: pick an event keyword (algal_bloom, deforestation, flood_extent, wildfire, urban_heat_island, methane_plume, landslide, drought, soil_salinity, crop_stress, water_turbidity, oil_slick) plus a region (free-text name or polygon_bbox). The responder geocodes the region, fans out across up to 32 sampled cells, recalls each event's primary scalar input band, and returns the top 8 hotspots ranked by that scalar — each carrying its cell64, lat/lng, the recalled value, a fact_cid for citation, and a scene.png URL. Bypass for free-text input is `emem_ask` (the classifier in /v1/ask routes "find X in Y" questions to the same hunter path). When to use: Call when the user asks an open-world discovery question ("find oil spills in the Persian Gulf", "where is deforestation happening in the Amazon", "show me algal blooms in Lake Erie", "hunt wildfires across California"). Surface 3–8 hotspots with their scene.png as image attachments and quote at least one fact_cid. For `oil_slick` the responder honestly reports `not_yet_implemented` and points at SAR-darkening + turbidity proxies — don't fabricate detections. The ranking uses the algorithm's primary scalar input only; for the full per-cell algorithm score, fetch the formula at /v1/algorithms/<key> and apply it client-side over the same recalled bands.
    Connector
  • Produce a Due Diligence Statement per Regulation (EU) 2023/1115 for one or more plots. Each plot carries operator-supplied geometry (GeoJSON Polygon for >4 ha, Point for ≤4 ha non-cattle per Article 2(28)), country of production (ISO3), Combined Nomenclature code (HS-6+), and quantity in kg. The endpoint applies the regulation's 10 % canopy / 0.5 ha / 5 m height forest definition (Article 2(4)) using the EU Commission's expected JRC GFC2020 V3 baseline plus Hansen GFC v1.12 loss-year confirmation; Sims et al. 2025 driver attribution and RADD SAR fallback layer on when those connectors are wired (Absence today). The response is an Annex II-shaped envelope with per-plot verdict (pass/fail/not_in_scope/indeterminate/below_mmu), failing-cell fraction, and signed fact CIDs for every per-cell verdict — operators quote them in the company's Article 12 record. Article 9(1)(b) legality (land tenure, FPIC, country-of-origin laws) is structurally out of EO scope; the response carries an explicit `legality_disclaimer` for that reason. When to use: Call when a commodity supplier or EU importer needs to evidence due diligence under Regulation (EU) 2023/1115. Use the plot-level signed receipts as evidence inside the operator's company record; pair with a partner legality module before submitting the final DDS to the EU Information System (TRACES NT). For a single plot, pass one entry in `plots`. For batch supply-chain audits, pass up to a few dozen plots in one call — the endpoint fans out per plot. Surface the failing-cell fraction, the chosen forest baseline, and the legality disclaimer in the user-facing response so the operator understands what the engine claims (and does not).
    Connector
  • Compute the differenced Normalized Burn Ratio (dNBR = NBR_pre − NBR_post; Key & Benson 2006) and map it to the USGS burn-severity classes (unburned / low / moderate-low / moderate-high / high). Supply `nbr_pre` + `nbr_post` (pin the scenes bracketing the fire date) for a correct result, or omit both to use the two most-recent stored `indices.nbr` scenes (older=pre, newer=post) as a coarse estimate. When to use: Call after a wildfire to quantify how badly an area burned, or to triage post-fire severity across a region cell-by-cell. Best practice: explicitly pass `nbr_pre`/`nbr_post` from scenes that bracket the known fire date — the stored-trajectory fallback just takes the two most-recent scenes and may not bracket the fire. Surface `dnbr` and `severity_class`. For active-fire detection use `emem_hunt` with the wildfire event instead.
    Connector
  • Answer 'how alike are these two places?' Mean-pool the 128-D GeoTessera embedding across each region's cells to get a centroid, then return the cosine similarity in [-1,1] (+1 = identical landscape, 0 = unrelated). Each region is {place} | {polygon_bbox} | {cells}. CPU-fetched embeddings — no GPU sidecar needed. Surfaces how many cells in each region actually carried a vector (coverage). When to use: Call to compare two areas at the level of overall land character (e.g. 'is this valley like that one?', 'find me somewhere that looks like X'). Degrades to a signed `inconclusive` (no number) when a region has no embedding-covered cells. For a single cell-to-cell vector cosine use `emem_compare`; for k-NN retrieval use `emem_find_similar`.
    Connector
  • Remove the last N blocks YOU placed (your own recent ADD brushes), by reading your agent_brush_log and issuing op:"remove" at each cell. Default n=1, max 20. Only reverses ADDs (a prior remove is skipped). Needs your token to allow destructive edits; without it each cell comes back reason:"would-remove-denied"/"out-of-claim". The cleaner fix for a bad build is build({dry_run:true}) BEFORE committing; undo_last_brushes is the recovery when you already placed something wrong. Returns { undone, failed, failed_cells }.
    Connector
  • Query verified U.S. monthly net electricity generation (MWh) from EIA-923. Use this for "how much was generated" questions by state, source-reported balancing authority code, fuel, prime mover, sector, plant, or generator, for a given month. For a fuel total or a fuel mix (e.g. "coal generation", "top fuels"), filter or group by `fuel_group` — it sums the several energy_source_code values a fuel spans (coal alone is 6 codes), so a total is correct-by-construction; use the raw `energy_source_code` only when you want one exact as-reported code, since it splits coal/biomass across sub-codes. Select one `atom`: `by_fuel` (default — the complete plant total) or `by_generator` (generator-level, joinable to EIA-860M); never sum across atoms. History runs monthly from 2014-01 onward and is served by default: a bare `data_month` anywhere in that window answers from the newest promoted vintage covering it, and the response `as_of` is that knowledge cut (pin `as_of` to any date to reproduce what was served then — it resolves to the newest vintage at or before it; an empty result names the served window in an `empty_scope` note). `balancing_authority_code` is reported by EIA only from 2018 onward — a BA-filtered query cannot see earlier months. Pass filters inside the `params` object. Returns JSON aggregates with citations down to the exact source month-cell. Does not determine installed capacity (MW — use power.capacity), demand/load, wholesale prices, fuel cost, heat rate, capacity factor, or real-time/hourly dispatch.
    Connector
  • 5-day river-discharge FORECAST near an Australian location — Copernicus CEMS Global Flood Awareness System (GloFAS, operational LISFLOOD control run), retrieved daily from the CEMS Early Warning Data Store and served from cache (the answer is instant — never waits on the CDS queue). The forward-looking sibling of au_water: au_water = what AU rivers are DOING (live gauges), flood_forecast = what the global model expects them to do over the next 5 days. Returns the strongest modelled river cell within ~90 km: 24 h-mean discharge (m3/s) per day for ~5 days, the peak value + day, and a rising/falling/steady trend; values are the MAX within ~25 km (0.25-deg max-pooled) cells. `location` = an AU preset ("brisbane" default, "sydney", "melbourne", "adelaide", "hobart", "darwin", "canberra", "perth") or a "lat,lon" string; explicit `lat`/`lon` override. Raw model guidance ONLY — no flood thresholds or severity classifications are added, and this is NOT a flood warning; official AU flood warnings/watches are issued by the Bureau of Meteorology at bom.gov.au/australia/warnings. Attribution: contains modified Copernicus Emergency Management Service information. Every value is returned in an Ed25519-signed, provenance-stamped envelope (source and observation time) you can verify offline against /.well-known/keys, no account required.
    Connector
  • Copy an image that already exists on one output onto another cell, instant and free (no regeneration, no credits). Use this when the user wants 'the same image' on a second surface ('use the LinkedIn image on X', 'same picture on the newsletter') instead of niche_render_image_card (which generates a new image and costs credits). Both cells must already exist on the session (add the target via niche_add_output first if needed) and the source must have a rendered image. Copies the source's static_urls onto the target so it publishes with that image. Idempotent: source==target is a no-op.
    Connector
  • Upload or attach a user-supplied or externally-designed image (bring-your-own asset) to a post: the creator's own visual (a product shot, their actual work, a card designed elsewhere) instead of an AI-generated image (niche_render_image_card photo, paid) or a flat brand card. Free, with no image-generation spend. For a visual-product maker the real piece is the sale. Input modes, in order of preference: (1) `upload_ref`, the FAST path for an agent that built the asset itself and can run a shell: POST the raw file to `/asset/upload` (multipart/form-data, your bearer token) to get back an `upload_ref`, then pass it here. The bytes travel over HTTP and never round-trip through the model as base64, so it's effectively instant for a real graphic. (2) `image_url`, a fetchable https URL (the server fetches + stores it; for an asset that already lives on the web). (3) `image: {mime_type, data_base64}`, inline base64, fine for small images only. (4) `image_chunk`, the no-shell FALLBACK: upload bounded chunks of base64. It still re-types the bytes through the model (slow), so use it only when the agent has no shell to curl with. Split the file's bytes into ~32-48KB pieces, base64 EACH independently, send in order, each with a `sha256` of that piece's raw bytes so the server catches a mis-transcribed chunk and has you resend just that one (this is what makes the slow path reliable). Omit upload_id on the first chunk; the response returns one to pass on the rest. Set `final:true` on the last chunk (optionally with `total_sha256`); that call assembles, validates, and attaches. The cell's output must already exist (use niche_add_output first if needed). Sets it as the post's image; publishes with the caption. A dimension_note warns if the image's aspect won't fit the cell. Undo-able (the prior image is kept in history).
    Connector
  • Query verified U.S. employment, establishments, and wages for the data-center industry and semiconductor manufacturing — by national, state, and county — from the U.S. Bureau of Labor Statistics' Quarterly Census of Employment and Wages (QCEW). Use this for "how many people work in / how many establishments / what wages in data centers (or chip fabs) in the US, a state, or a county" questions — INDUSTRY employment, not an "AI jobs" count. Filter by `industry_code` ("518210" = computing infrastructure / data processing / web hosting — the data-center industry; "334413" = semiconductor & related device manufacturing), `own_code` ("5" = Private — the usual one; "1"/"2"/"3" = federal/state/local government; "0" = Total Covered), geography (`agglvl` "18" national / "58" state / "78" county; plus `state` USPS e.g. "VA", `county_fips` 5-digit e.g. "51107" Loudoun County, or `area_fips`), and time (`year`, `qtr` "1"-"4", the `quarter` ISO first-of-quarter e.g. "2025-10-01", or a `quarter_from`/`quarter_to` range). Group by any of `industry`, `industry_code`, `ownership`, `own_code`, `state`, `county_fips`, `agglvl`, `year`, `qtr`, or `quarter`. Pass each parameter as a top-level key of `params` (flat — not nested under a `filter`/`where` key). Example: `{"industry_code": "518210", "own_code": "5", "agglvl": "18", "quarter": "2025-10-01"}` for the national private figure; add `"group_by": ["county_fips"], "state": "VA"` for counties. Returns JSON aggregates with citations and optional row-level records when `include_records` is true — every value cites the exact BLS file, row, and quarter. Measures: `qtrly_estabs` (establishments), `month1_emplvl`/`month2_emplvl`/`month3_emplvl` (employment in each month of the quarter — intra-quarter SNAPSHOTS; average them for a quarterly figure, never sum them), `total_qtrly_wages` ($), and `avg_wkly_wage` ($, on detail records). The two industries are DISTINCT, never conflated. SUPPRESSION: BLS withholds a confidential (small county × industry) cell by zeroing its employment and wages and marking `disclosure_code` "N" (or "-"). Those are served as NULL (absent), never as zero — the establishment count is still shown. Roughly half of county × data-center cells are withheld; an absent value means "BLS withheld it," not "no jobs." A scope containing withheld cells returns a `qcew_suppression` note counting them: sums skip the NULLs, so summed employment/wages UNDERCOUNT — for a state or national figure use BLS's own row at that level (agglvl 58/18) instead of summing finer cells. Data is quarterly back to 2014 Q1, ~6-month lag (latest ≈ 2025 Q4). The response `as_of` is the release vintage; pin `as_of` to reproduce an earlier vintage. NOT additive across hierarchy or time: counts and employment are additive across distinct AREAS within ONE `agglvl` + ONE `own_code` + ONE quarter (e.g. all counties in a state). They are NOT additive across geographic levels (national already contains states/counties — a `qcew_hierarchy` note flags it), across ownership totals ("0"/"8" contain their components), or across QUARTERS (employment is a per-quarter stock — a `qcew_period` note flags it; quarterly wages, by contrast, sum across quarters into an annual bill). Filter or group_by to avoid double-counting. Does not determine "AI jobs" or a data-center-only headcount (NAICS 518210 is the broader computing-infrastructure / hosting industry), employment for a withheld cell (served absent), occupation or job-title detail (QCEW is industry, not occupation), which company employs (no employer breakdown), or MSA / metro figures (national / state / county only).
    Connector