GreenCalculus

Factores de emisión de carbono con fuente verificada + cálculos con trazabilidad de auditoría que una IA puede citar.

Documentación

Servidor MCP de GreenCalculus

CI npm MCP registry tools free tier licence

Factores de emisión de gases de efecto invernadero con fuentes verificadas y cálculos de carbono con trazabilidad de auditoría, como servidor MCP. Cada valor devuelve su referencia de origen exacta y una versión de datos fijada, de modo que un agente entrega un número que una persona puede citar y una máquina puede reproducir, en lugar de una suposición.

¿Necesitas este paquete?

Probablemente no. El servidor es remoto, y si tu cliente habla MCP remoto deberías apuntarlo directamente a la URL: nada que instalar, nada que actualizar:

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

Este paquete existe para los clientes que solo pueden lanzar un proceso local stdio, y para instalaciones de docker run. Es un puente ligero: reenvía cada mensaje JSON-RPC al servidor remoto y devuelve la respuesta tal cual. Ningún método recibe tratamiento especial, así que las nuevas herramientas aparecen aquí sin necesidad de una versión nueva.

Úsalo a través de stdio

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

O con Docker: la imagen se publica en GitHub Container Registry como ghcr.io/greencalculus/greencalculus-mcp (linux/amd64 y arm64, etiquetas latest y cada versión). -i es obligatorio y -t debe omitirse, porque la entrada/salida estándar del contenedor son el transporte y una TTY corrompe el flujo:

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

Obtén una clave gratuita en https://greencalculus.com/developers — sin tarjeta. El descubrimiento (initialize, tools/list) funciona sin una, y también search_factors y explain_absence; todas las demás herramientas necesitan una clave.

Herramientas

HerramientaQué hace
lookup_factorObtiene un factor de emisión por clave, con su fuente y versión
lookup_factorsObtiene muchos factores por clave en una sola llamada: una cartera es una solicitud, no una por factor
search_factorsBusca en el corpus por texto libre
resolve_factorAsigna una descripción real desordenada al factor que mejor coincide
explain_absenceExplica por qué un factor no existe, en lugar de devolver nada
calculate_activityActividad → emisiones, con conversión de unidades y alcance del GHG Protocol
calculate_electricityElectricidad basada en ubicación y en mercado
calculate_embodiedCarbono incorporado (EN 15978), explícito sobre las etapas del ciclo de vida faltantes
calculate_pcafEmisiones financiadas PCAF, con la pista de auditoría
calculate_freightFlete por modo, distancia y carga
calculate_spendEEIO basado en gasto
calculate_business_travelViajes de negocio en todos los modos

Configuración

VariablePredeterminadoSignificado
GREENCALCULUS_API_KEY—Tu clave de API. GC_API_KEY se acepta como alias; el nombre explícito tiene prioridad.
GREENCALCULUS_MCP_URLhttps://mcp.greencalculus.comSobrescribe el endpoint.
GREENCALCULUS_MCP_TIMEOUT_MS120000Tiempo de espera por solicitud.

Los diagnósticos van a stderr. Nada más que JSON-RPC se escribe jamás en stdout: un byte suelto allí corrompe la sesión.

Desarrollo

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

Publicación

Incrementa version en package.json, fusiona a main. Ese es todo el procedimiento: npm, el registro MCP y la imagen del contenedor se derivan de ello.

release.yml pregunta a npm y al registro MCP si ya tienen esa versión y publica solo donde no la tienen, de modo que una fusión que incrementa la versión la publica y una que no la incrementa no hace nada. También se ejecuta semanalmente, así que una publicación fallida se reintenta sin necesidad de un commit nuevo.

server.json es el manifiesto del registro, y el flujo de trabajo reescribe su versión desde package.json antes de publicar: una única fuente de verdad, tres lugares que deben coincidir.

npm se autentica mediante publicación de confianza, así que no hay token de npm aquí. El registro necesita un secreto, y la razón vale la pena conocerla: publicamos como com.greencalculus/api, un espacio de nombres DNS, y GitHub OIDC solo otorga io.github.<org>/*. Así que el paso del registro firma con la clave que coincide con el registro TXT de v=MCPv1 en greencalculus.com, guardado como MCP_PRIVATE_KEY. scripts/rotate-registry-key.sh genera un par nuevo y lo instala sin imprimir jamás la mitad privada; imprime el registro TXT para publicar. Sin el secreto, el paso del registro se omite y lo dice: npm aún publica.

También disponible

Licencia

MIT — ver LICENSE. La licencia cubre este puente. Los datos de factores de emisión devueltos por la API llevan la licencia de su fuente subyacente, que se nombra en cada respuesta.