mcpField
C
carboncalc

carboncalc

ローカル
github.com/CloudCorpRecords科学・教育02 日前に更新

carboncalc について

carboncalcは、出典情報付きの排出係数コーパスと決定論的な計算ツールを組み合わせた、炭素会計・排出分析向けのローカルブリッジです。GreenCalculus MCPサーバーへ呼び出しを転送し、活動データ、貨物輸送、支出、出張、PCAFなどの計算に対応します。

主な機能

  1. 01監査情報付き排出係数を検索
  2. 02排出係数を検索・特定
  3. 03活動、材料、Scope 2の排出量を計算
  4. 04PCAF、貨物、支出、出張の排出量を計算
  5. 05係数が存在しない理由を確認

活用シーン

  1. 01電力使用によるScope 2排出量を計算
  2. 02貨物輸送や出張の排出量を推定
  3. 03ポートフォリオのファイナンスド排出量を評価
  4. 04支出ベースでScope 3をスクリーニング

MCP 対応

MCP サーバーとして、上流のツール一覧をローカルで公開し、ツール呼び出しをGreenCalculus MCPサーバーへ転送します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-carboncalc": {
"command": "npx",
"args": [
"-y",
"@reneturcios/carboncalc"
]
}
}
}
起動コマンドnpx -y @reneturcios/carboncalc

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/carboncalc0.1.0
ocighcr.io/cloudcorprecords/carboncalc:0.1.0

ツール

12

掲載時のツール一覧 · 2 日前に更新

パラメーター型必須説明
keystringはい正規の係数キー。例:"grid.gbr.electricity.location_based"。

詳細

carboncalc

carboncalc は、ホストされた GreenCalculus MCP サーバーへの小規模なローカルブリッジです。温室効果ガス排出係数を集めた出典付きコーパスと、その上に構築された決定論的な計算機能を利用できます。標準キーで係数を検索すると、値だけでなく監査情報一式も取得できます。公開元、正確な出典参照、取得日時、適用ライセンス、ガス別の内訳の合計が一致するかどうかが含まれます。また、キーがまだ分からない場合は、平易な説明から係数を検索して特定できます。

このコーパスを基盤として、各種の計算機能を利用できます。活動データからの排出量計算、材料のライフサイクル全体にわたるエンボディドカーボン、指定したポートフォリオのPCAF融資排出量、2つの方法によるScope 2電力、GLECフレームワークに基づく貨物輸送、支出ベースのEEIOスクリーニング、距離ベースの出張です。補助ツールでは、係数がコーパスにない理由を説明します。公開元がどこにも発行していないのか、まだ出典が調査されていないのか、採用が見送られたのか、別の空の分類群と連動した空白なのかを確認できます。

このブリッジは係数データを独自に保持しません。稼働中のエンドポイントから取得した upstream サーバーのツール一覧をそのままローカルで提供し、各ツール呼び出しを upstream に転送して、結果を変更せずに返します。計算は呼び出し元が指定した入力に対して実行されます。送信や支払いを行うツールは提供されません。

ツール

  • lookup_factor — 標準キーで排出係数を1つ検索し、監査情報一式を取得します。 必須:key。
  • search_factors — フリーテキスト、セクション、またはキーのプレフィックスで係数を検索します。任意:query、section、key_prefix、limit。
  • lookup_factors — 1回の呼び出しで複数の係数をキーで検索し、それぞれの監査情報一式を取得します。 必須:keys。
  • calculate_activity — 排出量 = 活動量 × 係数。係数の基準に合わせて単位を換算します。 必須:activity、factor_key。
  • calculate_embodied — EN 15978 に準拠した、材料のライフサイクル全体にわたるエンボディドカーボンを計算します。必須:materials。
  • calculate_pcaf — ポートフォリオのPCAF Part A融資排出量を計算します。必須:holdings。任意:asset_class。
  • calculate_electricity — 購入電力のGHG Protocol Scope 2を、ロケーション基準で計算し、市場係数または供給元係数が指定された場合はマーケット基準でも計算します。 必須:consumption、location_factor_key。
  • calculate_freight — 貨物輸送と物流の排出量を計算します(GLEC)。係数の分母に応じて、mass または teu を指定します。 必須:distance、factor_key。
  • calculate_spend — 支出ベース(EEIO)のScope 3スクリーニングを行います。排出量 = 支出額 × 排出原単位係数。 必須:spend、factor_key。
  • calculate_business_travel — 距離法で出張の排出量を計算します。 必須:distance、factor_key。任意:passengers。
  • resolve_factor — 平易な説明から最適な係数キーを特定します。説明文には国名も含めます。 必須:description。
  • explain_absence — 係数がコーパスにない理由を確認します。任意:country、family、classification。

設定

  • GREENCALCULUS_MCP_URL(任意)— upstream エンドポイントを上書きします。デフォルトは https://mcp.greencalculus.com です。(この上書きフックは、この再構築で独自に追加したものと明示されています。)
  • GREENCALCULUS_API_KEY(任意)— 設定すると、すべての upstream リクエストに、呼び出し元自身の GreenCalculus キーを使った Authorization: Bearer <key> ヘッダーが付加されます。未設定の場合、キーのヘッダーは送信されません。(ヘッダー名は元のレジストリ記録に基づいて固定されています。Bearer スキームとこの環境変数の転送は、再構築で追加したものと明示されています。元のインターフェースはキーなしの状態で取得されています。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流とのストリーミング可能な HTTP セッションを開きます。JSON-RPC initialize リクエスト(protocolVersion 2025-03-26、 clientInfo name carboncalc)、続いて notifications/initialized 通知、さらに呼び出し元の引数を 変更せずに含む tools/call リクエストを送信します。上流が Mcp-Session-Id ヘッダーを付けて initialize に応答すると、 その値はセッションの後続リクエストすべてに付加され、プロセスの 終了まで同じセッションが再利用されます。応答はプレーンな JSON と サーバー送信イベントのどちらでも受信できます。

上流からの成功結果は、上流が設定した isError フラグも含め、 そのまま引き渡されます。失敗(JSON-RPC エラー、2xx 以外のステータス、 読み取り不能な応答、または完了できないリクエスト)は、テキストが carboncalc error: で始まる isError 結果として返されます (この表現は、この再構築独自のラベル付き再現です)。

CLI

各ツールは、1 つの JSON 引数文字列を受け取るサブコマンドとしても 実行できます。

npx @reneturcios/carboncalc lookup_factor '{"key":"grid.gbr.electricity.location_based"}'
npx @reneturcios/carboncalc calculate_freight '{"distance":{"value":500,"unit":"km"},"factor_key":"freight.road_hgv.tonne_km","mass":{"value":10,"unit":"tonne"}}'
npx @reneturcios/carboncalc --version

終了コード:成功時は 0、isError 結果の場合は 1、 使用方法に誤りがある場合は 2 です。

MCP サーバー

npx -y @reneturcios/carboncalc mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "carboncalc": {
      "command": "npx",
      "args": ["-y", "@reneturcios/carboncalc", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/carboncalc
docker run --rm ghcr.io/cloudcorprecords/carboncalc --version

コンテナーのデフォルトコマンドは mcp であるため、最初の形式は stdio MCP サーバーとして動作します。それ以外の引数は通常どおり CLI に 渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートは、スタブ化された JSON-RPC 上流のみを使用して実行されます。 実際のネットワーク呼び出しは行いません。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。