Lead Green
ai.leadgreenPublished by leadgreen.aiv0.3.1Updated Nov 4, 2026
GPU energy per million output tokens by model, GPU and configuration, with grid carbon by country.
Overview
Local MCP server for the Lead Green open index of GPU energy per million output tokens, with grid carbon intensity by country.
- What you can do
- List indexed models and the GPUs they run on, and get the best energy row per GPU for a model
- Estimate GPU energy in Wh and kWh for a token count, with kg CO2e for a chosen grid and optional meter-level energy
- Compare GPUs such as H100 and B200 for a model, and read energy per token across measured running batches
- Look up grid carbon intensity by country or World, and GPU hardware reference data such as TDP, memory and MIG profiles
- Retrieve every source, version, retrieval date and licence behind the figures
- When to use it
- Useful when you want to reason about the energy or carbon cost of serving a model, compare GPU choices, or size token budgets against a country's grid, with sourced figures rather than guesses.
- Requirements
- Python 3.10 or later, installed from PyPI (leadgreen-mcp) or run with uvx; works with the mcp Python SDK 1.x and 2.x. Network access to the Lead Green API is used by default; set LEADGREEN_API_BASE to a local folder or another URL to work offline. No account or API key.
Installation
In SourceWeft
- Open Lead Green in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
leadgreen-mcp
Lead Green is a public index of the GPU energy it takes to serve a million output tokens (watt-hours per million output tokens), by model, GPU and configuration, with grid carbon intensity to price it anywhere, published as open data with a JSON API and an MCP server under CC BY 4.0. Every figure comes from a named public source with a retrieval date; it is a Katonic project, run and paid for by Katonic, and takes no money from hardware, cloud or model vendors.
Lead Green is run and paid for by Katonic, which sells a sovereign AI platform; it takes no money from hardware, cloud or model vendors.
This package is the MCP server for that index: GPU watt-hours per million output tokens by model, GPU and configuration, with grid carbon intensity by country and GPU hardware reference data. Every answer names its source and carries the caveat that the figures are GPU-only floors measured on a busy server.
Install
or, without installing, uvx leadgreen-mcp.
The same wheel is served from the site, with its SHA-256 printed on https://leadgreen.ai/mcp/:
and the source installs with pip install "git+https://github.com/katonic-dev/leadgreen-ai#subdirectory=leadgreen-mcp".
Python 3.10 or later. Works with the mcp Python SDK 1.x and 2.x. Listed in the official MCP Registry as ai.leadgreen/green-token-index.
Versions
Two things are versioned separately. The package is 0.3.1 (this file, pyproject.toml, the wheel name). The data is a dated release of the Lead Green API; the copy bundled in the package is the release named in leadgreen_mcp/data/manifest.json (data_version), and the server reads the live API first, so a session normally answers from the current release whatever package version is installed. Every response says which it used in data_source and data_updated.
Tools
Resource: leadgreen://manifest.
Parameters
running_batch: the average running batch the server holds, meaning how many requests it decodes at once (vLLMnum_requests_running). The estimate then uses the measured configuration nearest to it, on the same GPU count as the best row (for example 2 x H100 for Qwen 3 32B), and widens to every GPU count only when that count has no measurements.requests_in_flightis the old name and is still accepted; giving both with different values is an error. Responses carry bothavg_running_batchandavg_requests_in_flight(the same number).num_gpus: use configurations on exactly this many GPUs.itl_deadline_ms: the latency ceiling for choosing the best row. Rows whose median inter-token latency is at or under it are kept, and the lowest energy wins. Default 500 ms, the leaderboard's own default.pueandsystem_power_ratio(each at least 1.0): when either is given,estimatealso returns energy at the meter, GPU energy x system_power_ratio x pue, labelled as such and shown beside the GPU figure. These are your assumptions, not measurements. For scale, a DGX B200 at its 14.3 kW maximum over 8 x 1.0 kW of GPU power is a ratio of about 1.79.country: a country name, the site's short name, an ISO 3166 alpha-3 or alpha-2 code, orWorld. Common names work: UK, GB, Britain, US, USA, America, Turkey, Korea, South Korea, Russia. Exact matches win over partial ones, and queries of three characters or fewer must match exactly, soUSnever lands on Australia. Grid figures are the 2024 annual average;yearsandlatest_yearshow the other years available. They are lifecycle, location-based figures for comparing places, not a Scope 2 figure to file.
Fields on every response
caveat: the same sentence on every tool, taken from the API'sindex.json. Pass it on.boundary:gpu_onlyfor the measured figures.data_source:live(fetched from the API),bundled snapshot(the copy shipped in the package) orlocal folder(whenLEADGREEN_API_BASEis a folder).data_updatedanddata_version: how current the data is.
What the server sends, and where
- Only HTTP GET requests to
https://leadgreen.ai/api/v1(or the base you set), for the published JSON files: at most once per file per session, then cached in memory. - Your questions, prompts and tool arguments never leave your machine. No request carries them; lookups and arithmetic happen locally.
- If a fetch fails, the server prints one line on stderr and uses the bundled snapshot for the rest of the session without trying the network again.
- For no network at all, set
LEADGREEN_API_BASEto a local folder holding the API files (for example a copy ofleadgreen_mcp/data). Any other URL works too.
Client configuration
Claude Desktop or Cursor (claude_desktop_config.json / .cursor/mcp.json):
With no network:
Claude Code: claude mcp add leadgreen -- leadgreen-mcp
If Claude Desktop cannot find leadgreen-mcp
Claude Desktop started from Finder, the Dock or the Start menu does not see the PATH your terminal uses, so a bare leadgreen-mcp can fail to start. Use the full path instead: run which leadgreen-mcp (macOS, Linux) or where leadgreen-mcp (Windows) and put the result in command. Alternatively, point command at the full path of your Python and set "args": ["-m", "leadgreen_mcp.server"].
Licence
Apache 2.0 for the code (see LICENSE). The data keeps the licences of its sources, listed in the manifest.
Source: leadgreen-mcp/README.md at commit e0e114f
Tools
0Version history
1- v0.3.1LatestOct 20, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts