carbon-footprint-mcp
Calculadora de Huella de Carbono (Servidor MCP)
Un servidor MCP (Model Context Protocol) para calcular huellas de carbono organizacionales a partir de extractos bancarios, exportaciones financieras y datos de actividad estructurados utilizando factores de emisión de GEI de la EPA.
Privacidad y seguridad ante todo
Se ejecuta 100% localmente en su máquina o servidor
No envía datos financieros a API externas ni proveedores en la nube
No almacena datos por defecto
Expone herramientas de cálculo y generación de informes de solo lectura
Funciona con Claude Desktop, Cursor y otros clientes MCP
Por qué existe esto
Si está preparando informes ESG, materiales de diligencia debida para inversores o revisiones internas de sostenibilidad, obtener una línea base de emisiones útil suele ser lento y manual.
Este servidor ayuda a convertir extractos bancarios sin procesar, exportaciones de Xero o QBO y entradas operativas estructuradas en un informe de huella de carbono en minutos. Asigna actividades a factores de emisión alineados con la EPA y produce resultados tanto en HTML como en Markdown.
La experiencia de usuario está diseñada para funcionar para organizaciones en cualquier país, mientras que la evaluación comparativa de electricidad actual sigue utilizando factores regionales eGRID de la EPA internamente.
Related MCP server: carbonstop-mcp
Qué hace
Ingiere CSV bancarios, exportaciones de Xero o QBO y datos de actividad estructurados.
Ayuda a categorizar las transacciones en fuentes de emisión probables como electricidad, combustible, viajes, transporte y residuos.
Calcula las emisiones de Alcance 1, Alcance 2 y Alcance 3 utilizando factores de emisión de GEI de la EPA.
Califica la intensidad de carbono por ingresos y número de empleados cuando se proporcionan esos datos.
Genera informes pulidos en HTML y Markdown.
Fuente de los Factores de Emisión
Todos los factores de emisión se basan en el Centro de Factores de Emisión de GEI de la EPA (enero de 2025), incluidos los factores de electricidad eGRID 2023 y los potenciales de calentamiento global del IPCC AR5.
Las categorías cubiertas incluyen combustión estacionaria, combustión móvil, electricidad, vapor o calor, transporte, eliminación de residuos, viajes de negocios, desplazamientos de empleados y refrigerantes.
Instalación
Claude Desktop
Instale
uv.Abra la configuración de Claude Desktop y edite la configuración de MCP.
Añada este servidor:
{
"mcpServers": {
"carbon-footprint": {
"command": "uvx",
"args": ["carbon-footprint-mcp"]
}
}
}Reinicie Claude Desktop.
Claude Code o Cursor
claude mcp add carbon-footprint -- uvx carbon-footprint-mcpDesarrollo Local
git clone https://github.com/MayankTalwar0/carbon-footprint-mcp.git
cd carbon-footprint-mcp
pip install -e .
carbon-footprint-mcpHerramientas MCP Disponibles
Herramienta | Descripción |
| Calcula las emisiones de GEI a partir de datos de actividad estructurados en los 3 alcances. |
| Genera un informe pulido en HTML y Markdown y lo guarda en el disco. |
| Enumera los factores de emisión disponibles para combustible, eGRID y residuos. |
Categorías de Emisión Soportadas
Alcance | Categoría | Entrada Requerida |
1 | Combustión Estacionaria | Tipo de combustible y cantidad |
1 | Combustión Móvil | Tipo de combustible y galones |
1 | Fugas de Refrigerante | Tipo de gas, kg fugados y GWP |
2 | Electricidad Comprada | kWh y subregión eGRID |
2 | Vapor o Calor Comprado | mmBtu |
3 | Transporte y Distribución | Tipo de vehículo y distancia |
3 | Eliminación de Residuos | Material, toneladas cortas y método de eliminación |
3 | Viajes de Negocios | Modo de viaje y millas por pasajero |
3 | Desplazamientos de Empleados | Modo de desplazamiento y millas por pasajero |
Puntuación de Intensidad de Carbono
Puntuación | tCO2e por $1M de Ingresos | Interpretación |
Excelente | < 5 | La mejor de su clase para operaciones de baja huella |
Buena | 5-20 | Baja intensidad |
Moderada | 20-100 | Típica para servicios y tecnología |
Alta | 100-500 | Operaciones pesadas |
Muy Alta | > 500 | Intensidad muy alta |
Licencia
MIT
Creado por SlickBooks
Creado por Mayank, fundador de SlickBooks.
Available Tools
3 toolscomputeEmissionsA
Computes greenhouse gas emissions from structured activity data.
IMPORTANT: After calling this tool, you MUST call generateEmissionsReport with the
full output of this tool. Do not present results to the user without first saving
the report files. The _required_next_step field in the response will remind you.
Args:
inputs_json: A JSON string containing categorized activity data.
Required fields vary by scope:
- Scope 1: stationary_combustion, mobile_combustion, refrigerants
- Scope 2: electricity_kwh, egrid_subregion, steam_mmbtu
- Scope 3: business_travel, employee_commuting, transportation, waste
Optional: annual_revenue, headcount (for scoring), period, source
Returns:
JSON string containing computed emissions by scope, totals, breakdown,
carbon intensity scores, and a _required_next_step instruction.
| Name | Required | Description | Default |
|---|---|---|---|
| inputs_json | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds behavioral context: the required next step and the structure of output (through scope details). It does not explicitly mention idempotency or side effects, but the computation nature makes that less critical. Overall, it provides good transparency for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a bold IMPORTANT note and bullet-like list for args, which enhances readability. It is slightly verbose but every sentence contributes value. Front-loading the purpose helps quickly grasp intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of emissions computation and the presence of an output schema, the description covers input structure, required follow-up, and scope breakdown. It is complete enough for an agent to understand how to invoke and proceed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only has 'inputs_json' with no description, but the description compensates fully by detailing required fields per scope, optional fields, and format. This adds enormous meaning beyond the bare schema, enabling correct usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes greenhouse gas emissions from structured activity data. The verb 'computes' and resource 'emissions' are specific. Sibling tools generateEmissionsReport and listEmissionFactors are distinct, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to call generateEmissionsReport after and not present results without saving. It provides a clear workflow and references the _required_next_step field, giving strong guidance on when and how to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generateEmissionsReportA
Generates a carbon footprint report in HTML + Markdown and saves to disk.
Args:
emissions_json: JSON string - the direct output from computeEmissions.
output_dir: Directory to save reports to. Default is current directory.
Returns:
JSON with paths to both report files and the markdown content inline.
| Name | Required | Description | Default |
|---|---|---|---|
| emissions_json | Yes | ||
| output_dir | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must stand alone. It discloses side effects (saves to disk) and return format (paths + inline markdown). Missing details on overwrite behavior, directory existence, and error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise: one sentence for purpose, followed by clear parameter and return descriptions. No redundant information, front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two simple parameters and output schema existence, the description covers the main use case well. Lacks details on file overwrite behavior and required permissions, but is sufficient for a straightforward report generation tool within a sibling context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description fully carries the burden. It adds crucial meaning: emissions_json is 'the direct output from computeEmissions', and output_dir is 'Directory to save reports to' with default. This goes well beyond the schema's bare titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool generates a carbon footprint report in HTML+Markdown and saves to disk. It specifies the verb 'generates' and resource 'report', and implicitly distinguishes from siblings by being the report generation step after computeEmissions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance that emissions_json should be the output of computeEmissions, and explains the default output_dir. Does not mention when not to use or alternatives, but sibling tools provide context for intended workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
listEmissionFactorsA
Lists available emission factors for reference.
Args:
category: One of 'fuels', 'egrid', 'waste', or 'all'.
Returns:
JSON string listing available factors.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool returns a JSON string listing factors, implying read-only behavior, but does not explicitly confirm no side effects or data dependencies. More disclosure would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two lines of content, front-loaded with purpose. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and an output schema (present), the description covers purpose, parameter values, and return type. It could mention that the output is a list of factor names or IDs, but overall it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'category' has no schema description coverage (0%), but the description lists the allowed values ('fuels', 'egrid', 'waste', 'all'), adding crucial meaning beyond the schema. It does not explain what each category represents, but the baseline is high due to compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists emission factors for reference, using a specific verb and resource. It distinguishes from sibling tools (computeEmissions, generateEmissionsReport) which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing factors but lacks explicit guidance on when to use this vs alternatives. No exclusion criteria or context for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.0- First observed
computeEmissions - First observed
generateEmissionsReport - First observed
listEmissionFactors
TDQS
Scored across 3 tools
Each tool has a clear, distinct purpose: computing emissions, generating reports, and listing emission factors. No functional overlap exists.
All tool names follow a consistent camelCase verb_noun pattern: computeEmissions, generateEmissionsReport, listEmissionFactors.
Three tools is appropriate for a focused carbon footprint calculator, covering computation, reporting, and reference without being too few or too many.
The tool set covers core workflow steps (compute, report, reference). Minor gaps like update/delete for reports or scenario comparison are not essential for the core purpose.
Maintenance
Related MCP Connectors
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
TaxSort — Tollbooth-monetized MCP server for personal tax transaction classification
MCP server for Modern Treasury — payment orders, transactions, counterparties and ledgers.
A MCP server for the Frankfurter API for currency exchange rates.
Related MCP Servers
- FlicenseAqualityDmaintenanceAn MCP server that provides access to Northwood Capital Partners' portfolio carbon data, enabling MCP-compatible agents to query emissions, analyze decarbonization gaps, and simulate reduction initiatives through natural language.5-

carbonstop-mcpofficial
AlicenseBqualityDmaintenanceMCP server enabling AI assistants to automatically perform carbon footprint modeling, product queries, and emission analysis via the Carbonstop Cloud API.86 npmMIT- AlicenseNot gradedqualityBmaintenanceClimatiq MCP server that calculates carbon footprints using emission factors, enabling users to list unit types and compute environmental impact.150 npmMIT
- AlicenseNot gradedqualityFmaintenanceMCP server for accessing and managing Banktivity personal finance data, enabling account, transaction, and budget operations through natural language.3MIT