Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Greener, cheaper cloud infra decisions — carbon + cost + latency tradeoffs, in-editor.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GREENPICK_CARBON_SOURCE, EIA_API_KEY, ENTSOE_TOKEN, ELECTRICITYMAPS_TOKEN, GREENPICK_CACHE_TTL_SECONDS, GREENPICK_LOG_LEVELค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"greenpick": {
"command": "uvx",
"args": [
"greenpick"
],
"env": {
"GREENPICK_CARBON_SOURCE": "ใส่ค่าของคุณ",
"EIA_API_KEY": "ใส่ค่าของคุณ",
"ENTSOE_TOKEN": "ใส่ค่าของคุณ",
"ELECTRICITYMAPS_TOKEN": "ใส่ค่าของคุณ",
"GREENPICK_CACHE_TTL_SECONDS": "ใส่ค่าของคุณ",
"GREENPICK_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add greenpick --env GREENPICK_CARBON_SOURCE='ใส่ค่าของคุณ' --env EIA_API_KEY='ใส่ค่าของคุณ' --env ENTSOE_TOKEN='ใส่ค่าของคุณ' --env ELECTRICITYMAPS_TOKEN='ใส่ค่าของคุณ' --env GREENPICK_CACHE_TTL_SECONDS='ใส่ค่าของคุณ' --env GREENPICK_LOG_LEVEL='ใส่ค่าของคุณ' -- uvx greenpickเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"greenpick": {
"command": "uvx",
"args": [
"greenpick"
],
"env": {
"GREENPICK_CARBON_SOURCE": "ใส่ค่าของคุณ",
"EIA_API_KEY": "ใส่ค่าของคุณ",
"ENTSOE_TOKEN": "ใส่ค่าของคุณ",
"ELECTRICITYMAPS_TOKEN": "ใส่ค่าของคุณ",
"GREENPICK_CACHE_TTL_SECONDS": "ใส่ค่าของคุณ",
"GREENPICK_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"greenpick": {
"type": "stdio",
"command": "uvx",
"args": [
"greenpick"
],
"env": {
"GREENPICK_CARBON_SOURCE": "ใส่ค่าของคุณ",
"EIA_API_KEY": "ใส่ค่าของคุณ",
"ENTSOE_TOKEN": "ใส่ค่าของคุณ",
"ELECTRICITYMAPS_TOKEN": "ใส่ค่าของคุณ",
"GREENPICK_CACHE_TTL_SECONDS": "ใส่ค่าของคุณ",
"GREENPICK_LOG_LEVEL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
GREENPICK_CARBON_SOURCE envGREENPICK_CACHE_TTL_SECONDS envGREENPICK_LOG_LEVEL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub bithug01 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: EIA_API_KEY, ENTSOE_TOKEN, ELECTRICITYMAPS_TOKEN
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.6.2) เข้า registry วันนี้
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, AI Deprecations
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
AI model shutdown dates, replacements, change feed and webhook alerts for 8 providers.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
GreenPick
Write greener, cheaper cloud infrastructure — before you deploy.
A design-time sustainability co-pilot that runs as an MCP server inside your vibe-coding environment (Cursor / Claude Code / Kiro). Ask it where to deploy, when to run a job, or how to right-size — and it answers with an honest carbon + cost + latency tradeoff, in-editor, in seconds. (It responds when you ask; auto-nudging on infra-code changes is on the roadmap.)
Status: working — 19 tools. Live carbon for US (EIA-930), EU (ENTSO-E) and Canada (Hydro-Québec,
IESO — no key needed), cross-cloud cost
parity (Vantage-refreshed), per-axis R/Y/G ratings, carbon-aware scheduling + day-ahead forecast,
GPU-training and LLM-inference carbon, right-sizing, serving-pattern and data-locality/residency
checks — all shipped. Offline or without API keys, falls back to clearly-labelled *typical* values:
this month's average for each grid, from a year of real data.
*The same 40-GPU-hour training run emits ~0.6 kg CO₂ in Stockholm vs ~17.5 kg in Sydney — a ~28× difference from region choice alone (typical October grids; Sydney on Ember's 2025 national figure, a lower bound for its coal-heavier state grid). Ask GreenPick and it surfaces that (with the cost and latency tradeoff) while you're still in the editor, before you commit.*
▶ [See the 5-minute demo](docs/demo.md) — three scenarios with real tool output (training placement, the egress backfire, the forecast).
The same web service emits very different CO₂ depending on which region it runs in, because electricity grids differ in carbon intensity. Existing tools either rank regions in the abstract, or measure carbon *after* you deploy. GreenPick does it at the moment you choose, and tells you what the greener choice *costs you* in latency and dollars — so you can accept or reject it with eyes open.
The combination — cross-cloud, carbon + cost + latency, at design time, in the editor, with backfire guards — is the part nothing else puts together.
Roadmap: data-format/engine efficiency advice, sub-national grid zones, CI/CD integration. See docs/user-questions-backlog.md.
19 tools, grouped by what you're trying to do.
| Tool | What it does |
|---|---|
compare_regions_tri_axis | Rank candidate regions by carbon with cost + latency tradeoffs; recommend a pick, each axis rated R/Y/G. Pass regions to rank only the ones you'd actually consider. |
greener_alternative_to | "You picked X — the greenest region within +N ms latency is Y (−Z% carbon, Δcost)." The core nudge. |
region_carbon_now | Current gCO₂/kWh for a region, with source + timestamp + freshness — and, when live, whether that's cleaner, dirtier or about usual for that hour this month. |
| Tool | What it does |
|---|---|
cleanest_hours_to_run | Cleanest recent hours to time a deferrable job (ETL, backups, training), + % reduction. Pass window_hours for a job of known duration → cleanest contiguous window to start at. |
cleanest_time_of_day | For a recurring job (nightly batch): the region's cleanest time of day, averaged across recent days. A daily pattern, not a 7-day weekly one. |
greenest_regions_on_average | Which regions are cleanest on a typical day in a given month (or the whole year), ranked from last year's real data. Offline, no keys; a planning view, not today's grid. |
carbon_forecast | Forward-looking: which upcoming hours will be cleanest, from the EU day-ahead wind+solar forecast (ENTSO-E). Relative ranking; US/uncovered zones degrade to the recent historical pattern. |
| Tool | What it does |
|---|---|
estimate_workload_carbon | Rough kgCO₂/month for a workload in a region (an *estimate*, not a measurement). |
estimate_training_carbon | Carbon of a GPU training run (TDP-based energy × live grid), with greener where (region ranking) + when (cleanest hours) — the two levers that compound for portable, deferrable training. |
estimate_inference_carbon | Energy + CO₂ of an LLM inference workload, by model size class × output tokens × requests (× live grid). A low–high band; smaller size class is the big lever. Self-hosted-friendly; not a named-model leaderboard. |
| Tool | What it does |
|---|---|
greener_instance_family | A greener same-size family in the same region via perf-per-watt (newer generation / ARM Graviton-class does the same work on less energy). |
rightsizing_check | Right-sizing (the #1 FinOps win) with a carbon twin: if you're over-provisioned, a smaller size cuts both cost and carbon → the right-sized target with monthly $ and kg CO₂ saving. |
offhours_check | For dev/test/staging that doesn't need to run 24/7: the monthly $ and kg CO2 saved by running it only N hours a week. Compute only, directional. |
data_locality_egress_check | Warn when running compute away from where your data lives backfires: directional egress $ + coarse transfer carbon, and whether a greener-region move is still a net win. |
migration_payoff | Does moving the data to the compute's region pay off? Payback in months, one-off vs monthly egress and transfer carbon, net over 12 months. Egress only. |
region_move_justification | A short paste-ready paragraph for a pull request or decision record, with the carbon, cost, latency and egress numbers and their quality labels. Says so if the move is not an improvement. |
serving_pattern_advice | For a user-facing platform: serve from one region or several? Traffic-weighted latency + carbon, with the multi-region data-sync egress and cross-jurisdiction residency catches. |
| Tool | What it does |
|---|---|
carbon_metric_scaffold | Emits paste-in instrumentation (Python) so your app reports its own estimated carbon over time — observable proxies × GreenPick's power model × live grid. Self-tracking, directional; not a runtime meter. |
explain_methodology_and_limits | The assumptions and what GreenPick explicitly does not claim. |
cleanest_hours_to_run from recent hourly history.data/typical.json, refreshed by scripts/refresh_typical.py). Labelled quality: "typical" — a realistic norm, never presented as a current reading.data/annual.json). Labelled quality: "annual_average"; fine for comparing regions, but carries no timing signal.ตัดมาแค่ช่วงต้น อ่านต่อใน repo