MCP server that helps AI agents pick the lowest-carbon cloud region for a workload.
Three well-named tools with comprehensive Zod schemas and detailed descriptions. All parameters have types and descriptions. Output schemas are documented. However, error handling lacks recovery guidance, and some parameter descriptions could be more concise. Tool names follow verb_noun pattern (list_, rank_, find_). Descriptions average ~150 chars, within the 10-1024 baseline. All params have type constraints and descriptions. No security issues detected (no secrets in params). Composition is sound, each tool has one clear responsibility.
Find the cleanest time window to run a job in specified regions, using carbon intensity forecasts.
List cloud regions with their carbon intensity data and metadata.
Rank cloud regions by carbon intensity and optionally latency, returning the best options for a workload.
Error handling lacks recovery guidance. No tool documents what to do if a call fails (e.g., 'If no regions match filters, try broadening countries or removing maxCarbonIntensity'). LLMs cannot self-correct without actionable error messages.
find_clean_window parameter 'regions' accepts arbitrary strings (provider/id format) but no validation or error guidance if format is wrong. Should document exact format and provide examples.
rank_regions output includes 'carbonSource' and 'carbonAsOf' fields that are metadata, useful but not essential for ranking decision. Consider whether these dilute the signal or aid transparency.
No pagination support on list_regions. If dataset grows, returning all matching regions could exhaust context. Should add limit and offset/cursor parameters.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Tool descriptions do not state when to call each tool in sequence. E.g., 'Call rank_regions first to shortlist candidates, then find_clean_window to pick the best time.' Dependency hints improve agent planning.