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
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
| Herramienta | Qué hace |
|---|---|
lookup_factor | Obtiene un factor de emisión por clave, con su fuente y versión |
lookup_factors | Obtiene muchos factores por clave en una sola llamada: una cartera es una solicitud, no una por factor |
search_factors | Busca en el corpus por texto libre |
resolve_factor | Asigna una descripción real desordenada al factor que mejor coincide |
explain_absence | Explica por qué un factor no existe, en lugar de devolver nada |
calculate_activity | Actividad → emisiones, con conversión de unidades y alcance del GHG Protocol |
calculate_electricity | Electricidad basada en ubicación y en mercado |
calculate_embodied | Carbono incorporado (EN 15978), explícito sobre las etapas del ciclo de vida faltantes |
calculate_pcaf | Emisiones financiadas PCAF, con la pista de auditoría |
calculate_freight | Flete por modo, distancia y carga |
calculate_spend | EEIO basado en gasto |
calculate_business_travel | Viajes de negocio en todos los modos |
Configuración
| Variable | Predeterminado | Significado |
|---|---|---|
GREENCALCULUS_API_KEY | — | Tu clave de API. GC_API_KEY se acepta como alias; el nombre explícito tiene prioridad. |
GREENCALCULUS_MCP_URL | https://mcp.greencalculus.com | Sobrescribe el endpoint. |
GREENCALCULUS_MCP_TIMEOUT_MS | 120000 | Tiempo 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
- API REST y documentación — https://greencalculus.com/developers
- SDK de cliente (Python, JS/TS) — https://github.com/greencalculus/greencalculus-sdk
- Registro MCP oficial —
com.greencalculus/api - Smithery — https://smithery.ai/servers/greencalculus/api
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.