GreenPick
PYPI · GREENPICK
Greener, cheaper cloud infra decisions — carbon + cost + latency tradeoffs, in-editor.
Available components
Last scanned (19 hours ago)
Scores higher than 64% of PyPI servers
Category Cloud Infrastructure
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 0 of 28 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability57
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2323 tokens (~154/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability observed for 0 of 30 days with no destabilising changes; credit accrues until the full window elapses.Unverified
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 22 Oct 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Oct 2026 · Analysed pypi/greenpick@0.1.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Background: Why install scripts are a supply-chain risk →
Dependencies 28 packages
| Packages resolved | 28 |
|---|---|
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
carbon_forecast ~153
Forward-looking scheduling: which UPCOMING hours will be cleanest? Uses the EU day-ahead wind+solar forecast (ENTSO-E) to rank the greenest hours over the next `hours_ahead`. This is a RELATIVE ranking (more forecast renewables = cleaner), not an absolute gCO2/kWh forecast. EU regions get a true forecast; US/uncovered regions degrade to the recent historical pattern (labelled 'historical'). Use this to PLAN a deferrable job, vs cleanest_hours_to_run (reactive).
| Name | Type | Req | Description |
|---|---|---|---|
| hours_ahead | integer | – | – |
| provider | string | yes | – |
| region | string | yes | – |
| top_n | integer | – | – |
No output schema declared.
No examples provided.
carbon_metric_scaffold ~196
Emit paste-in instrumentation so the user's OWN app can report an ESTIMATED carbon metric over time. Consider offering this when the user is building an app/service and wants ongoing visibility into its footprint. GreenPick returns a code snippet (Python in v1) + the power-model coefficients + a methodology note; the app measures observable proxies (CPU utilisation, vCPU/RAM, uptime) and multiplies by GreenPick's power model x the region's grid intensity. Pass `region` to bake in live grid intensity. The emitted number is a DIRECTIONAL estimate, self-labelled, NOT metered energy — and it's for SELF-tracking, not ranking against other apps. GreenPick does not run or measure anything itself.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | – |
| provider | – | – | – |
| ram_gb | number | – | – |
| region | – | – | – |
| vcpu | number | – | – |
No output schema declared.
No examples provided.
cleanest_hours_to_run ~153
Carbon-aware scheduling: given a region, report its cleanest recent hours so you can time a DEFERRABLE job (nightly ETL, batch, backups, training) when the grid is greenest. Returns the lowest-carbon hours + the % reduction vs. the dirtiest hour. Pass `window_hours` (e.g. 6) for a job of known duration — it finds the cleanest CONTIGUOUS run of that many hours to start at, since you can't split one job across scattered non-adjacent hours. Directional.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | – |
| region | string | yes | – |
| top_n | integer | – | – |
| window_hours | – | – | – |
No output schema declared.
No examples provided.
cleanest_time_of_day ~124
For a RECURRING job (e.g. a nightly batch you run every day), find the region's cleanest time of day — each hour-of-day averaged across the recent days of data. Returns the cleanest/ dirtiest hour-of-day and the % gap. Honest scope: a DAILY pattern over the few days of free data, NOT a 7-day day-of-week pattern. Use `cleanest_hours_to_run` for a one-off job's timing.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | – |
| region | string | yes | – |
No output schema declared.
No examples provided.
compare_regions_tri_axis ~218
Rank candidate cloud regions by carbon, with cost + latency tradeoffs, and recommend one. Give the user's location (lat/lon) and the service shape (vcpu, ram_gb, egress). Pass `regions` (e.g. ["us-east-1","us-west-2","eu-west-1"]) to rank ONLY those you'd actually consider, instead of the whole catalog — your baseline is always kept in the comparison. If the pick is in a different region from where your data lives, run data_locality_egress_check before moving: cross-region/cross-cloud egress can erase the carbon/cost win.
| Name | Type | Req | Description |
|---|---|---|---|
| baseline_region | – | – | – |
| est_monthly_egress_gb | number | – | – |
| max_added_latency_ms | – | – | – |
| optimize_for | string | – | – |
| providers | – | – | – |
| ram_gb | number | yes | – |
| regions | – | – | – |
| user_lat | number | yes | – |
| user_lon | number | yes | – |
| vcpu | number | yes | – |
No output schema declared.
No examples provided.
data_locality_egress_check ~159
Will running compute away from where your DATA lives backfire via egress? Give where compute runs, where the data lives (provider+region), and monthly GB crossing between them. Returns a directional egress-COST ballpark, a coarse transfer-carbon figure, and — if you pass the carbon saving the greener-region move buys — whether it's still a net win. Use this before accepting a greener-region suggestion when your data stays put.
| Name | Type | Req | Description |
|---|---|---|---|
| carbon_saving_kg_co2_from_move | – | – | – |
| compute_provider | string | yes | – |
| compute_region | string | yes | – |
| data_provider | string | yes | – |
| data_region | string | yes | – |
| monthly_cross_boundary_gb | number | yes | – |
No output schema declared.
No examples provided.
estimate_inference_carbon ~201
Energy + CO2 of running an LLM INFERENCE workload (serving queries) — the inference-side sibling of estimate_training_carbon. Give the model SIZE CLASS (small | mid | large | frontier_dense | moe, or a param alias like '8b' / '70b' / 'moe'), monthly request volume, and avg OUTPUT tokens per request (output drives inference energy). Pass `region` to add CO2 at live grid intensity. Returns a LOW-HIGH kWh/CO2 band (wide on purpose — serving choices move the same model many-fold). Directional, most trustworthy for self-hosted/open models; keyed on size class, NOT a named-model leaderboard. Smaller size class is the biggest lever.
| Name | Type | Req | Description |
|---|---|---|---|
| avg_output_tokens | integer | – | – |
| monthly_requests | number | yes | – |
| provider | – | – | – |
| region | – | – | – |
| size_class | string | yes | – |
No output schema declared.
No examples provided.
estimate_training_carbon ~215
Carbon of a GPU training run, with greener WHERE (region) and WHEN (hours) guidance. Give the GPU (e.g. 'a100', 'h100', 'l4'), how many, and total GPU-hours for the run. Omit `region` to rank regions greenest-first; pass one to score just that region. Training is both portable and deferrable, so this combines region choice with cleanest-hours timing. Directional (TDP-based energy); GPU availability per region is NOT checked - verify your card is offered there. Training data is often large: if your dataset lives in another region, run data_locality_egress_check before shipping the job to the greenest region - the data egress can outweigh the carbon saving.
| Name | Type | Req | Description |
|---|---|---|---|
| gpu | string | yes | – |
| gpu_count | integer | yes | – |
| gpu_hours | number | yes | – |
| provider | – | – | – |
| region | – | – | – |
| top_n_regions | integer | – | – |
| utilization | – | – | – |
No output schema declared.
No examples provided.
estimate_workload_carbon ~81
Rough kgCO2/month for a workload running in a region. An ESTIMATE (documented power model x grid intensity), not a measurement.
| Name | Type | Req | Description |
|---|---|---|---|
| hours_per_month | number | – | – |
| provider | string | yes | – |
| ram_gb | number | yes | – |
| region | string | yes | – |
| vcpu | number | yes | – |
No output schema declared.
No examples provided.
explain_methodology_and_limits ~30
GreenPick's assumptions and what it explicitly does NOT claim. Read this before trusting a number.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
greener_alternative_to ~189
You picked `current_region` — find the greenest region within +max_added_latency_ms, with the carbon/cost/latency delta vs. your current choice. The core 'nudge' tool. Pass `regions` to limit the search to options you'd actually move to; your current region is always included. Before accepting a move, run data_locality_egress_check if your data stays in the current region — the egress to feed compute from afar can outweigh the greener-region win.
| Name | Type | Req | Description |
|---|---|---|---|
| current_region | string | yes | – |
| est_monthly_egress_gb | number | – | – |
| max_added_latency_ms | number | – | – |
| providers | – | – | – |
| ram_gb | number | yes | – |
| regions | – | – | – |
| user_lat | number | yes | – |
| user_lon | number | yes | – |
| vcpu | number | yes | – |
No output schema declared.
No examples provided.
greener_instance_family ~140
Suggest a greener SAME-SIZE instance family in the SAME region. The mechanism is performance-per-watt: a newer-generation or ARM (Graviton-class) family does the same work on less energy -> less CO2 at the region's grid intensity. Give your current family (e.g. 'm5', 'n2', 'Dv5') for a savings delta. Directional, not a measurement.
| Name | Type | Req | Description |
|---|---|---|---|
| current_family | – | – | – |
| hours_per_month | number | – | – |
| provider | string | yes | – |
| ram_gb | number | yes | – |
| region | string | yes | – |
| vcpu | number | yes | – |
No output schema declared.
No examples provided.
region_carbon_now ~41
Current grid carbon intensity for a region, with source, timestamp, and data freshness.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | – |
| region | string | yes | – |
No output schema declared.
No examples provided.
rightsizing_check ~201
Right-sizing (the #1 FinOps win) with a carbon twin: if you're over-provisioned, a smaller size cuts BOTH cost and carbon — same work, less waste, no tradeoff. Give the provisioned size (vcpu, ram_gb) and observed CPU utilisation (0..1, e.g. 0.2 for 20%); optionally RAM utilisation. Returns the right-sized target (keeps ~40% headroom) with the monthly $ AND kg CO2 saving. Lead with the cost number, carbon is the twin. Directional, design-time — uses the utilisation you report, not a reading of your fleet.
| Name | Type | Req | Description |
|---|---|---|---|
| cpu_utilization | number | yes | – |
| hours_per_month | number | – | – |
| provider | string | yes | – |
| ram_gb | number | yes | – |
| ram_utilization | – | – | – |
| region | string | yes | – |
| vcpu | number | yes | – |
No output schema declared.
No examples provided.
serving_pattern_advice ~222
Design-time advice for a USER-FACING PLATFORM: should you serve users from ONE region or SEVERAL? Consider calling this when the user is building a web app / dashboard / API that serves end users. Give `hubs` as where your users are — a list like [{"name":"eu","share":0.4},{"name":"us","share":0.4},{"name":"apac","share":0.2}] (known names us/eu/uk/apac/au/india/japan/sa resolve automatically, or pass lat+lon). Rough shares are fine. Scores single-region-for-all vs one-region-per-hub on weighted latency + grid carbon, and flags the multi-region catches: cross-region data-sync egress and cross-jurisdiction residency. This is design-time guidance, NOT a runtime meter — it never measures your running app.
| Name | Type | Req | Description |
|---|---|---|---|
| hubs | array | yes | – |
| providers | – | – | – |
| ram_gb | number | – | – |
| vcpu | number | – | – |
No output schema declared.
No examples provided.
How do I install the GreenPick MCP server?
GreenPick runs locally as a PyPI package, launched with uvx greenpick. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · greenpick
claude mcp add bithug01-greenpick -- uvx greenpick
What is the GreenPick MCP server?
GreenPick is an MCP server listed in the public MCP registry as io.github.bithug01/greenpick. Greener, cheaper cloud infra decisions, carbon + cost + latency tradeoffs, in-editor. This page covers its PyPI package (greenpick).
Is the GreenPick MCP server safe to use?
GreenPick scores 65 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the GreenPick MCP server expose?
GreenPick exposes 15 tools: compare_regions_tri_axis, greener_alternative_to, estimate_workload_carbon, region_carbon_now, cleanest_hours_to_run, and 10 more. Their descriptions and schemas cost roughly 2,323 tokens of context every time the server is loaded.
Is the GreenPick MCP server still maintained?
GreenPick is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the GreenPick MCP server under?
GreenPick declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.