Green Mcp

io.github.rlawogh1005Published by GitHub account rlawogh1005v0.1.2Updated Oct 27, 2026

Measure a program's CPU energy and LLM tokens, then refactor it cheaper. Measure, never estimate.

Overview

AI-generated overview

Local MCP server that measures a program's CPU energy use and LLM token consumption, compares runs statistically, and helps refactor code to be cheaper.

What you can do
  • Measure CPU energy of a command from hardware telemetry (AMD uProf, Linux RAPL, macOS powermetrics)
  • Compare energy between two runs with a statistical test
  • Measure LLM token usage of a program through a counting proxy
  • Compare token usage between runs
  • Verify that a refactored program still behaves the same
  • Report which energy backend is available on the host
When to use it
Useful when you want an assistant to quantify the energy or token cost of a command or script, check whether a refactor actually made it cheaper, or confirm behavior is preserved after optimization. Best suited to local development machines with a reachable power sensor.
Requirements
Runs as a local stdio subprocess launched by the IDE; Python 3.10+ and the green-mcp package (pipx or pip). Energy measurement needs a power-sensor backend: AMD uProf on Windows+AMD, /sys/class/powercap on Linux, or powermetrics with root or passwordless sudo on macOS. Token measurement requires the target program to read its LLM endpoint from an environment variable such as ANTHROPIC_BASE_URL or OPENAI_BASE_URL, plus network access to the provider. The optional bundled agent needs Anthropic…
Before you install
The measured command runs locally with arbitrary commands, so only use it in a trusted environment. Token measurement forwards the target's real LLM calls to the real provider, so the target's API key is billed as usual. macOS energy measurement needs root or passwordless sudo. Energy tools generally do not work in Docker or CI and refuse to estimate when no sensor is reachable. Numbers from different backends are not comparable, and only the AMD/uProf backend is validated for repeatability on…

Installation

In SourceWeft

  1. Open Green Mcp in the dashboard and add it to a workspace.
  2. 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

Green Agent

A pluggable MCP server that measures two efficiency axes of a program and refactors it to be cheaper while preserving behavior:

  • CPU energy — joules the code actually consumes, from real hardware telemetry (AMD uProf / Linux RAPL / macOS powermetrics), chosen automatically for the host.
  • LLM tokens — the token usage of a program that calls LLMs (input/output/cache/reasoning), measured provider-neutrally and non-blockingly.

Defining principle: measure, never estimate. Every claim is a measurement with the command, the number, and its run-to-run uncertainty — or it's labeled an estimate. The comparison verdict is a real statistical test (Welch's t with the idle-baseline uncertainty folded in), not a heuristic.

Quick start

sh
pipx install green-mcp        # provides the `green-mcp` command (stdlib + mcp only)

Mount it in your IDE (configs in deploy/):

IDEFile
Claude Code.mcp.json
Cursor.cursor/mcp.json
OpenAI Codex~/.codex/config.toml (codex mcp add green -- green-mcp)
Google Antigravity~/.gemini/config/mcp_config.json

Then ask your agent to measure or compare energy/tokens of a command. See deploy/README.md for the full mount + harness guide.

Tools

measure_energy · compare_energy · measure_tokens · compare_tokens · verify_equivalence · energy_backend_info

Requirements (what each part needs to actually work)

No server to host. green-mcp is not a web service — your IDE launches it as a local stdio subprocess. There's no cloud, no account, and no LLM key needed for the measurement server itself.

To run the serverPython 3.10+, pip install green-mcp. That's it — tools mount immediately.

Energy axis — needs a power-sensor backend on the host (the largest prerequisite):

  • Windows + AMD → install AMD uProf separately (driver-based; admin to install). Not bundled.
  • Linux → reads /sys/class/powercap (RAPL); no extra install, but energy_uj is root-only on some distros.
  • macOS → uses the built-in powermetrics, which requires root / passwordless sudo.
  • No reachable sensor (a VM, a container, a locked-down machine) → energy tools report energy_available: false and refuse to estimate. Energy generally does NOT work in Docker/CI — containers and VMs have no power-sensor passthrough. Use the token axis there.
  • The measured command runs locally (arbitrary commands → use in a trusted environment only).

Token axis — no special hardware, works anywhere, but:

  • The target program must read its LLM endpoint from an env var (ANTHROPIC_BASE_URL, OPENAI_BASE_URL, …) so we can route it through the counting proxy. A hardcoded endpoint won't be measured (reports 0 calls).
  • Measuring runs the target's real LLM calls — the proxy forwards to the real provider, so the target's API key is billed as usual, and network access to the provider is required.

Bundled agent (optional) — pip install green-mcp[agent] adds the Claude Agent SDK and needs Anthropic credentials. The MCP server alone needs none.

Honest scope

  • Energy is CPU package energy (+DRAM on RAPL) — not carbon, not whole-system.
  • Numbers from different backends are not comparable.
  • Only the AMD/uProf backend is validated for repeatability on real hardware; Linux/macOS are written and unit-tested but unverified on metal, and no backend is yet cross-validated against a wall power meter. The token measurer is validated against a live provider (NVIDIA NIM, OpenAI-compatible: 5 real calls, streaming and non-streaming, matching the provider's own usage records exactly) — but the Anthropic-shaped usage path and rate-limit behavior are still only exercised against a local fake upstream. These gaps are tracked, not hidden.

Development

sh
python -m venv .venv && .venv/Scripts/pip install -e ".[dev]".venv/Scripts/python -m pytest -q          # unit tests.venv/Scripts/python -m pytest -m integration   # real-hardware (needs AMD uProf)

Architecture and decisions live in North Star.md, Green.md, and docs/. Licensed under MIT.

Source: README.md at commit 7049f98

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 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