list_initiatives
Retrieve decarbonization initiatives filtered by portfolio company and status for cost-curve analysis, payback screening, and status roll-ups.
Instructions
List decarbonization initiatives with estimated reduction, capex, and payback.
Args: portco: Optional. Filter to a single portco. If omitted, returns all portfolio initiatives. status: Optional. One of 'planned', 'in_progress', 'complete'.
Returns: List of initiative dicts: {portco, id, name, category, status, est_reduction_tco2e, capex_k, start_date}.
Useful for cost-curve analysis, payback screening, and status roll-ups.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| portco | No | ||
| status | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- server.py:195-231 (handler)Handler function that lists decarbonization initiatives. Accepts optional portco and status filters. Iterates over INITIATIVES data, filtering by portco slug and initiative status, and returns a list of dicts with id, name, category, status, est_reduction, capex, and start_date.
@mcp.tool() def list_initiatives( portco: str | None = None, status: str | None = None ) -> list[dict[str, Any]]: """ List decarbonization initiatives with estimated reduction, capex, and payback. Args: portco: Optional. Filter to a single portco. If omitted, returns all portfolio initiatives. status: Optional. One of 'planned', 'in_progress', 'complete'. Returns: List of initiative dicts: {portco, id, name, category, status, est_reduction_tco2e, capex_k, start_date}. Useful for cost-curve analysis, payback screening, and status roll-ups. """ rows: list[dict[str, Any]] = [] slugs = [_resolve_portco(portco)] if portco else list(INITIATIVES.keys()) for slug in slugs: for init in INITIATIVES[slug]: if status and init["status"] != status: continue rows.append( { "portco": PORTCOS[slug]["name"], "slug": slug, "id": init["id"], "name": init["name"], "category": init["category"], "status": init["status"], "est_reduction_tco2e": init["estReduction"], "capex_k": init["capex"], "start_date": init["startDate"], } ) return rows - server.py:195-195 (registration)Tool registration via the @mcp.tool() decorator, which registers list_initiatives as an MCP tool with the FastMCP server.
@mcp.tool()