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 needmcp: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-treesand/footprintin 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.