Climate Peer Comparison

mohsen-ahmed-pm/cdu-climate-peer-comparison-mcp
1 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Generates peer comparison reports on emissions trends, reduction targets, and gaps for companies in a given SICS sector/sub-sector using live data from the Climate Data Utility (CDU).

README.md

Climate Peer Comparison

A Claude Skill that generates a peer comparison report — emissions trends, reduction targets, and the gap between pledges and reported actuals — for companies in a given SICS sector/sub-sector, using live data from the Climate Data Utility (CDU).

Setup

pip install -r requirements.txt
playwright install chromium

Create .env in the project root:

CDU_BEARER_TOKEN=your_cdu_api_key_here
ANTHROPIC_API_KEY=your_anthropic_key_here

(CDU_BEARER_TOKEN is a plain API key sent as X-API-Key, not a Bearer JWT — the name is kept for backward compatibility with the original spec.)

Two Modes

Synthetic — demo data, safe to share externally:

python execution/climate_peer_comparison/main.py --sector "Oil & Gas" --synthetic

No CDU API calls. Fixed-seed fake data. This is the only mode safe to publish outside the project (LinkedIn, screenshots, etc.) — see Terms of Service below.

Live — real CDU data, via MCP server:

python execution/climate_peer_comparison/mcp_server.py

Register this with an MCP-compatible client (e.g. Claude Desktop) and invoke the generate_climate_report tool from a conversation. The tool asks for sector, sub-sector, and region conversationally rather than requiring them as arguments — see directives/climate_peer_comparison.md for the full invocation flow.

You can also exercise the live pipeline directly from the CLI (useful for testing without an MCP client):

python execution/climate_peer_comparison/main.py --sector "Oil & Gas" --sub-sector "Oil & Gas" --region Europe

Valid sub-sector values are in execution/climate_peer_comparison/config/sics_taxonomy.json (rebuild it with python -m execution.climate_peer_comparison.cdu.discover_taxonomy if CDU adds new ones). Valid regions: Europe, North America, APAC, All.

Output

A .pdf in .tmp/reports/, plus a .json metadata sidecar. 10 sections:

  1. Cover
  2. Executive Summary (LLM-generated, grounded only in pre-computed metrics)
  3. Sector Snapshot
  4. Emissions Ranking
  5. Targets Analysis
  6. Promise vs. Reality
  7. Restatements Log
  8. Transparency & Coverage
  9. Companies Excluded from Peer Report (with the specific reason for each)
  10. Methodology & Data Notes

.tmp/ is gitignored — everything in it is regenerable, never a deliverable.

CDU Terms of Service

CDU data must not be published externally. Use --synthetic for demos, screenshots, and social media sharing.

Tests

python -m pytest execution/climate_peer_comparison/tests/ -v

Known Limitations

See "Known Limitations" in docs/superpowers/plans/2026-05-21-climate-peer-comparison.md — covers near-duplicate company entries, restatement checking, target data gaps, and region-filtering assumptions for live CDU data.

Related MCP servers

Browse all →