Skip to content

Capabilities

The server exposes exactly seven tools — four read-only and three write. The seven-tool cap is a product constraint, not a count that drifts with releases: hosts are validated against this exact surface, and the read/write split is what host approval policies key on.

Tools

Tool Kind Scope What it does
estimate_ai_footprint read mcp:read Energy-first estimate of AI usage: computes energy in Wh and CO2e in grams from token-energy coefficients when the host passes tokenUsage entries, or from flat-rate per-request constants when it does not. Returns the estimation mode, the size bucket each entry routed to and client-asserted provenance. An illustrative estimate, not a measurement.
get_methodology read mcp:read The live energy-first methodology, size buckets and wording rules.
get_credit_balance read mcp:read GET /v1/credits — the Tree Credit balance of the connected account.
list_certificates read mcp:read GET /v1/certificates — paginated certificates, summary/detail/single.
plant_trees write mcp:write POST /v1/trees — plants real trees (a specific project or a gift) and returns a public certificate link.
offset_co2_by_tonne write mcp:write POST /v1/offset-by-tonne — offsets CO2 by the tonne, with an optional certified offset.
post_activity write mcp:write POST /v1/post-activity — publishes an activity to the connected account's public Bloomy Earth profile.

Kind follows the tool's own annotations: the four read tools are read-only, the three write tools are destructive and not idempotent, which is why they carry the confirmation floor below.

Writing actions

Write tools spend the signed-in user's own Tree Credits or publish publicly, so each one needs both a scope and a confirmation:

  • Scope. The tool answers with re-authorize guidance unless the token's live scope carries mcp:write. Read tools need mcp:read.
  • Two-call confirmation. Every write is a two-call confirmation — a confirmation handle is issued by a first call that executes nothing, then redeemed by a second call carrying the identical arguments and the one-time code. A tool never spends on its own, whatever the host's own approval UI does or does not add on top.

The server-enforced two-call confirmation is the spending guarantee. Host-level dialogs and wrappers sit above it; none of them replaces it.

Host commands

Two user-invokable host commands ship alongside the tool surface:

Command What it does
/plant-trees The flagship planting action.
/footprint A free, illustrative estimate that suggests a tree contribution and funnels into planting.

Both are prompt-text wrappers only: they summarize the workflow for a host that has a / menu, and they cannot enforce — or weaken — the server's confirmation floor. They exist for the hosts that surface them:

  • opencode ships them as custom commands, loaded from the repository's .opencode/commands/ directory.
  • Claude Code ships them as Agent Skills, surfacing as /plant-trees and /footprint in its / menu.

Stated plainly, so no reader infers parity: there is no user-invokable /plant-trees slash row on ChatGPT or on Codex. ChatGPT has no / command menu at all, and Codex surfaces skills through its picker rather than as /name commands. On those hosts the path is conversational use of the tools — which still lands on the same server-enforced confirmation.

Connect

Every host connects to the same endpoint. The installation section has the canonical URL, the sign-in model and a page per host.

Planned

Dedicated pages per capability are being written. This page currently lists the shipped surface — the seven tools, their kind and scope, and the two host commands — without per-tool guides.