carbon-footprint-mcp
カーボンフットプリント計算機 (MCPサーバー)
EPA GHG排出係数を使用して、銀行取引明細書、財務エクスポート、および構造化された活動データから組織のカーボンフットプリントを計算するためのMCP (Model Context Protocol) サーバーです。
プライバシーとセキュリティを最優先
お使いのPCまたはサーバー上で100%ローカルに動作します
財務データを外部APIやクラウドプロバイダーに送信しません
デフォルトではデータを保存しません
読み取り専用の計算およびレポートツールのみを公開します
Claude Desktop、Cursor、およびその他のMCPクライアントで動作します
なぜこれが必要なのか
ESGレポート、投資家向けのデューデリジェンス資料、または社内のサステナビリティレビューを作成する場合、利用可能な排出量のベースラインを算出する作業は通常、時間がかかり手作業で行われています。
このサーバーは、生の銀行取引明細書、XeroやQBOのエクスポート、および構造化された運用入力を、数分でカーボンフットプリントレポートに変換するのに役立ちます。活動をEPA準拠の排出係数にマッピングし、HTMLとMarkdownの両方の形式で出力を作成します。
ユーザーエクスペリエンスはあらゆる国の組織で機能するように設計されていますが、現在の電力ベンチマークは、内部的にEPA eGRIDの地域係数を使用しています。
Related MCP server: carbonstop-mcp
機能
銀行のCSV、XeroやQBOのエクスポート、および構造化された活動データを取り込みます。
取引を電力、燃料、移動、輸送、廃棄物などの可能性の高い排出源に分類するのを支援します。
EPA GHG排出係数を使用して、スコープ1、スコープ2、およびスコープ3の排出量を計算します。
入力された収益と従業員数に基づいて、カーボンインテンシティ(炭素集約度)をスコアリングします。
洗練されたHTMLおよびMarkdownレポートを生成します。
排出係数のソース
すべての排出係数は、EPA GHG Emission Factors Hub (2025年1月版) に基づいており、eGRID 2023の電力係数およびIPCC AR5の地球温暖化係数を含みます。
対象となるカテゴリには、固定燃焼、移動燃焼、電力、蒸気または熱、輸送、廃棄物処理、出張、従業員の通勤、および冷媒が含まれます。
インストール
Claude Desktop
uvをインストールします。Claude Desktopの設定を開き、MCP設定を編集します。
このサーバーを追加します:
{
"mcpServers": {
"carbon-footprint": {
"command": "uvx",
"args": ["carbon-footprint-mcp"]
}
}
}Claude Desktopを再起動します。
Claude Code または Cursor
claude mcp add carbon-footprint -- uvx carbon-footprint-mcpローカル開発
git clone https://github.com/MayankTalwar0/carbon-footprint-mcp.git
cd carbon-footprint-mcp
pip install -e .
carbon-footprint-mcp利用可能なMCPツール
ツール | 説明 |
| 構造化された活動データから、全3スコープのGHG排出量を計算します。 |
| 洗練されたHTMLおよびMarkdownレポートをレンダリングし、ディスクに保存します。 |
| 利用可能な燃料、eGRID、および廃棄物の排出係数を一覧表示します。 |
サポートされている排出カテゴリ
スコープ | カテゴリ | 必要な入力 |
1 | 固定燃焼 | 燃料の種類と数量 |
1 | 移動燃焼 | 燃料の種類とガロン数 |
1 | 冷媒漏洩 | ガス種、漏洩量(kg)、GWP |
2 | 購入電力 | kWhとeGRIDサブリージョン |
2 | 購入蒸気または熱 | mmBtu |
3 | 輸送および配送 | 車両タイプと距離 |
3 | 廃棄物処理 | 素材、ショートトン、処理方法 |
3 | 出張 | 移動手段と乗客マイル |
3 | 従業員の通勤 | 通勤手段と乗客マイル |
カーボンインテンシティのスコアリング
スコア | tCO2e / 100万ドル収益 | 解釈 |
Excellent | < 5 | 低フットプリント運用のベストクラス |
Good | 5-20 | 低インテンシティ |
Moderate | 20-100 | サービス業やテクノロジー企業に典型的 |
High | 100-500 | 重い運用 |
Very High | > 500 | 非常に高いインテンシティ |
ライセンス
MIT
SlickBooksによる開発
SlickBooks の創設者であるMayankによって構築されました。
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