GreenCalculus

Fatores de emissão de carbono com origem rastreada + cálculos com trilha de auditoria que uma IA pode citar.

Documentação

Servidor MCP GreenCalculus

CI npm MCP registry tools free tier licence

Fatores de emissão de gases de efeito estufa com fontes rastreadas e cálculos de carbono com trilha de auditoria, como um servidor MCP. Cada valor retorna com sua referência de fonte exata e uma versão de dados fixada — para que um agente devolva um número que uma pessoa possa citar e uma máquina possa reproduzir, em vez de um palpite.

Você precisa deste pacote?

Provavelmente não. O servidor é remoto, e se o seu cliente suporta MCP remoto, aponte-o diretamente para a URL — nada para instalar, nada para atualizar:

{
  "mcpServers": {
    "greencalculus": {
      "url": "https://mcp.greencalculus.com",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}

Este pacote existe para clientes que só conseguem iniciar um processo stdio local e para instalações docker run. É uma ponte leve: encaminha cada mensagem JSON-RPC para o servidor remoto e retorna a resposta exatamente como recebida. Nenhum método é tratado de forma especial, então novas ferramentas aparecem aqui sem necessidade de lançamento.

Use via stdio

{
  "mcpServers": {
    "greencalculus": {
      "command": "npx",
      "args": ["-y", "greencalculus-mcp"],
      "env": { "GREENCALCULUS_API_KEY": "YOUR_KEY" }
    }
  }
}

Ou com Docker — a imagem é publicada no GitHub Container Registry como ghcr.io/greencalculus/greencalculus-mcp (linux/amd64 e arm64, tags latest e cada versão). -i é obrigatório e -t deve ser omitido, porque o stdin/stdout do contêiner são o transporte e um TTY corrompe o fluxo:

{
  "mcpServers": {
    "greencalculus": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "GREENCALCULUS_API_KEY", "ghcr.io/greencalculus/greencalculus-mcp"],
      "env": { "GREENCALCULUS_API_KEY": "YOUR_KEY" }
    }
  }
}

Obtenha uma chave gratuita em https://greencalculus.com/developers — sem cartão. Descoberta (initialize, tools/list) funciona sem uma, assim como search_factors e explain_absence; todas as outras ferramentas precisam de uma chave.

Ferramentas

FerramentaO que faz
lookup_factorBusca um fator de emissão por chave, com sua fonte e versão
lookup_factorsBusca vários fatores por chave em uma única chamada — um portfólio é uma solicitação, não uma por fator
search_factorsPesquisa o corpus por texto livre
resolve_factorMapeia uma descrição confusa do mundo real para o fator mais adequado
explain_absenceExplica por que um fator não existe, em vez de retornar nada
calculate_activityAtividade → emissões, com conversão de unidades e escopo do GHG Protocol
calculate_electricityEletricidade baseada em localização e baseada em mercado
calculate_embodiedCarbono incorporado (EN 15978), explícito sobre etapas do ciclo de vida ausentes
calculate_pcafEmissões financiadas PCAF, com a trilha de auditoria
calculate_freightFrete por modal, distância e carga
calculate_spendEEIO baseado em gastos
calculate_business_travelViagens de negócios entre modais

Configuração

VariávelPadrãoSignificado
GREENCALCULUS_API_KEY—Sua chave de API. GC_API_KEY é aceito como alias; o nome explícito vence.
GREENCALCULUS_MCP_URLhttps://mcp.greencalculus.comSubstitui o endpoint.
GREENCALCULUS_MCP_TIMEOUT_MS120000Tempo limite por solicitação.

Diagnósticos vão para stderr. Nada além de JSON-RPC é gravado no stdout — um byte perdido lá corrompe a sessão.

Desenvolver

npm test                      # unit tests, no network
node bin/greencalculus-mcp.js # reads JSON-RPC on stdin
docker build -t greencalculus-mcp .   # local image; CI publishes ghcr.io/greencalculus/greencalculus-mcp

Lançamento

Aumente version em package.json, faça merge em main. Esse é todo o procedimento — npm, o registro MCP e a imagem do contêiner seguem a partir disso.

release.yml pergunta ao npm e ao registro MCP se eles já têm essa versão e publica apenas onde não têm, então um merge que aumenta a versão a publica e um merge que não aumenta é uma operação sem efeito. Também roda semanalmente, então uma publicação que falhou é tentada novamente sem um novo commit.

server.json é o manifesto do registro, e o fluxo de trabalho reescreve sua versão a partir de package.json antes de publicar — uma única fonte de verdade, três lugares que precisam concordar.

O npm autentica por publicação confiável, então não há token npm aqui. O registro precisa de um segredo, e o motivo vale a pena conhecer: publicamos como com.greencalculus/api, um namespace DNS, e o GitHub OIDC só concede io.github.<org>/*. Então a etapa do registro assina com a chave correspondente ao registro TXT v=MCPv1 em greencalculus.com, mantido como MCP_PRIVATE_KEY. scripts/rotate-registry-key.sh gera um novo par e o instala sem nunca imprimir a parte privada; imprime o registro TXT para publicar. Sem o segredo, a etapa do registro é ignorada e informa isso — o npm ainda publica.

Também disponível

Licença

MIT — veja LICENSE. A licença cobre esta ponte. Os dados de fatores de emissão retornados pela API carregam a licença de sua fonte subjacente, que é nomeada em cada resposta.