Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "goodearth_mint_coupon" and "goodearth_update_coupon"
Create a new operator-owned discount coupon.
The coupon owns its binding: ``tool_ids`` names the tools it
discounts, and re-pricing a tool never touches it. A coupon bound
to no tool discounts nothing, however many patrons redeem it.⟨28 unchanged words⟩ uniqueness).","type":"string"},"tool_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"The tools this coupon discounts — tool ids or MCP\ntool names, or ``[\"*\"]`` for every tool priced above zero."},"total_uses":{"anyOf":[{"type":"integer ⟨70 unchanged words⟩
⟨36 unchanged words⟩ rows survive (they key on coupon id). ``tool_ids`` replaces the coupon's binding — tool ids or MCP tool names, ``["*"]`` for every paid tool, ``[]`` to unbind it. RESTRICTED to operator — requires proof.
⟨33 unchanged words⟩ ":"null"}],"default":null},"tool_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null},"total_uses":{"anyOf":[{"type":"integer ⟨32 unchanged words⟩
Added "goodearth_sunlight"; changed the definition of "goodearth_calibration" (82 tools before, 83 now)
⟨95 unchanged words⟩ frosts earlier or later than the region). The block's sunlight reports are counted and pointed at goodearth_sunlight, which reads them. Nothing is applied silently. A correction appears only ⟨23 unchanged words⟩
⟨187 unchanged words⟩ \"2026-05-24\"}. Both accept an optional note. A sunlight report ({\"kind\": \"sunlight\", ...}) is goodearth_sunlight's and is only counted here."},"season":{"anyOf":[{"type ⟨20 unchanged words⟩
Added "goodearth_companions" (81 tools before, 82 now)
Goodearth Companions — Companions for one planting on this block, of one of two kinds. **Synergy** reads the planting's family and genus from iNaturalist and applies published companion-planting rules — nitrogen fixers beside heavy feeders, open flowers that feed the wasps that take aphids, alliums that mask a carrot from its fly, walnut and fennel that poison the ground beside them, the same family sharing its pests. Every row names its mechanism or its tradition and a citation. These rules Good Earth publishes rather than computes; it says so in the note. **Design** is arithmetic over what you wrote down: a col…
Changed the definition of "goodearth_check_proof_status", "goodearth_receive_npub_proof" and "goodearth_request_npub_proof"
Check whether apreviously-cachedproofdpop_tokengrant is still valid. Mirrors ``check_oauth_status`` for the npub-proof ⟨13 unchanged words⟩ dpop_token?" before burning credits on a guaranteed failure. Expiry is read from the grant itself; the only store consulted is the patron's revocation watermark. Free, no side effects —does not evict the cache ortouchestouchnorelays.relay.
Changed the definition of "goodearth_restore_neon_schema"
Re-runPrepare``ensure_schema()``thisonoperator'severydatabaseNeonVaultschemathisagain,operatorignoringuses.the breadcrumb. Diagnostic / recovery tool forthe case where thewhen NeonHTTP SQL API is returning
Changed the definition of "goodearth_session_status"
⟨14 unchanged words⟩ do next. Free. Lifecycle states: - ready:OperatorVaultisANDwarmpricingandmodelfullyverifiedoperationalon—thisvaultcall.ANDProceedpricing
Certificate recorded, valid to 2026-12-31
Authorization not required
Unknown → Live
First tool surface recorded: 81 tools (server version 4.0.4)
https://goodearth-mcp.fastmcp.app/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 11 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Goodearth Sunlight — How many hours of direct sun each part of this ground gets, month by month — and what a panel would make. Rasterises the block at 2–20 m and, from every cell, casts the sky line of the ground to 20 km and the trees within 250 m — from the Copernicus terrain model and the Meta/WRI 1 m canopy map, both global — then counts the ten-minute steps on the 15th of each month when the sun stands above that line. Reports per month the share of the block in full sun (6 h or more), part shade (3–6 h) and full shade (under 3 h), the median hours and the spread, and the sunniest and shadiest spots with th…
⟨106 unchanged words⟩ nsec signed it). On success, returnsthea new ``dpop_token``:—an Operator-signed **proof grant envelope** ``{"grant": …, "nonce": …}`` bound to thesamepatron, this challenge, and the duration the patrontoken.named. The calling application MUST rememberitthatandwhole string and pass it asthe``dpop_token``parameteron every subsequent paid tool call. Theproofgrant(aishashself-verifying;ofnothingtheabouttoken)it is storedin the vault keyed by that hash — the MCP never stores the raw token itself.here. Free.
⟨113 unchanged words⟩ the relay mailbox. **Returns** a ``dpop_token`` — thedemonstrated-proof-of-possession tokenone-timethatchallengethenoncecallingshownapplicationin theMUSTDM.rememberPassanditpasstoas``receive_npub_proof``the ``dpop_token``toparametercollectontheeveryreply.subsequentIt ispaidatoolmatchingcall.token,ThenotMCP doesanotcredential:retainonthisitsvalueownacrossitrestarts.authorizes nothing. **Lifecycle:**The``receive_npub_proof``cachedreturns the proof grant, which expires after thepatron's chosendurationduration.the patron named in their reply. When itexpires, call ``request_npub_proof``again for a fresh challenge,then wait for the user, thencall ``receive_npub_proof``. Free.