mcpField
G
green-mcp

green-mcp

本地服务
github.com/rlawogh1005开发工具09 周前更新

关于 green-mcp

green-mcp 是本地 MCP 服务,用于测量程序的 CPU 能耗和 LLM Token 消耗,并支持以降低成本为目标的重构及行为等价检查。它报告实测数据和不确定性,而非估算能耗或 Token。

主要功能

  1. 01通过硬件遥测测量 CPU 能耗
  2. 02通过代理测量 LLM Token 用量
  3. 03比较能耗和 Token 测量结果
  4. 04验证行为等价性
  5. 05报告能耗后端可用性

适用场景

  1. 01比较代码更改前后的能耗
  2. 02找出不同程序版本的 Token 用量差异
  3. 03检查重构是否保留原有行为
  4. 04测量通过可配置端点发出的 LLM 调用

MCP 相关

向 MCP 客户端提供测量、比较、等价性检查和后端信息工具。它由 IDE 作为本地 stdio 子进程启动。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rlawogh1005-green": {
"command": "uvx",
"args": [
"green-mcp"
]
}
}
}
启动命令uvx green-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypigreen-mcp0.1.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Green Agent

一个可插拔的 MCP 服务,用于衡量程序在两个效率维度上的表现,并在保持行为不变的前提下进行重构,使其成本更低:

  • CPU 能耗 — 代码实际消耗的焦耳数,来自真实硬件遥测数据(AMD uProf / Linux RAPL / macOS powermetrics),并根据主机自动选择。
  • LLM 令牌 — 调用 LLM 的程序所使用的令牌数(输入 / 输出 / 缓存 / 推理),以提供商无关且非阻塞的方式测量。

核心原则:只测量,绝不估算。 每项结论都基于测量,并附带运行命令、数值和多次运行之间的不确定性;否则就会标明为估算。对比结果基于真正的统计检验(将空闲基线的不确定性纳入考量的 Welch t 检验),而非启发式判断。

快速开始

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

在 IDE 中挂载它(配置文件位于 deploy/):

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

然后让你的 Agent 测量或比较某条命令的能耗 / 令牌数。完整的挂载和测试框架指南请参阅 deploy/README.md。

工具

measure_energy · compare_energy · measure_tokens · compare_tokens · verify_equivalence · energy_backend_info

要求(各部分实际运行所需条件)

无需托管服务。 green-mcp 不是 Web 服务——你的 IDE 会将其作为本地 stdio 子进程启动。无需云服务或账号,测量服务本身也不需要 LLM 密钥。

运行服务Python 3.10+,pip install green-mcp。就这么简单——工具会立即挂载。

能耗维度 — 主机上需要有电源传感器后端(这是主要前置条件):

  • Windows + AMD → 需单独安装 AMD uProf(基于驱动;安装时需要管理员权限)。不随包附带。
  • Linux → 读取 /sys/class/powercap(RAPL);无需额外安装,但某些发行版仅 root 用户可访问 energy_uj。
  • macOS → 使用内置的 powermetrics,需要 root / 无密码 sudo 权限。
  • 无法访问传感器(虚拟机、容器、受限机器)→ 能耗工具会报告 energy_available: false,并拒绝估算。能耗通常无法在 Docker/CI 中使用——容器和虚拟机没有电源传感器直通功能。请在此类环境中使用令牌维度。
  • 测量的命令会在本地运行(可执行任意命令 → 仅在可信环境中使用)。

令牌维度 — 无需特殊硬件,可在任何环境中使用,但:

  • 目标程序必须通过环境变量(ANTHROPIC_BASE_URL、OPENAI_BASE_URL,……)读取其 LLM 端点,以便我们通过计数代理转发请求。硬编码的端点无法测量(报告的调用数为 0)。
  • 测量会执行目标程序的真实 LLM 调用——代理会将请求转发到真实提供商,因此目标程序的 API 密钥仍会照常产生费用,并且需要能够访问提供商的网络连接。

随附 Agent(可选)— pip install green-mcp[agent] 会安装 Claude Agent SDK,并需要 Anthropic 凭据。MCP 服务本身无需凭据。

适用范围说明

  • 能耗是 CPU 封装能耗(RAPL 还包括 DRAM)——不代表碳排放,也不代表整个系统的能耗。
  • 不同后端的数值不可比较。
  • 目前只有 AMD/uProf 后端经过真实硬件上的重复性验证;Linux/macOS 后端已编写并通过单元测试,但尚未在实际硬件上验证,也尚未有任何后端与墙上电源表进行交叉验证。令牌测量器已通过实时提供商验证(兼容 OpenAI 的 NVIDIA NIM:进行了 5 次真实调用,包含流式和非流式调用,结果与提供商自身的用量记录完全一致)——但 Anthropic 格式的 usage 路径和速率限制行为仍仅通过本地模拟上游进行测试。这些差距均有记录,并未隐瞒。

开发

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)

架构和决策记录在 North Star.md、Green.md 和 docs/ 中。采用 MIT 许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。