
Lantern Works GPU Prices: daily GPU rental price comparison
io.github.connormatthewdouglas由 GitHub 账号 connormatthewdouglas 发布v0.6.0更新于 Nov 3, 2026
每日核查GPU租用价格,提供价格历史与变动推送;堆栈优化器;AI基础设施优惠
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
GPU rental prices checked daily, with price history and change feed; stack optimizer; AI-infra deals
发布方自己的服务:Lantern
概览
Lantern Works GPU Prices: daily GPU rental price comparison 的托管 MCP 服务(lantern-works-mcp.lantern-works.workers.dev);无需登录;Streamable HTTP。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
- 端点
- lantern-works-mcp.lantern-works.workers.dev
- 最近检查
安装
在 SourceWeft 中
- 打开 控制台中的 Lantern Works GPU Prices: daily GPU rental price comparison,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.connormatthewdouglas%2Flantern-works-deals/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"lantern-works-gpu-prices-daily-gpu-renta": {
"type": "http",
"url": "https://lantern-works-mcp.lantern-works.workers.dev/mcp?ref=mcp-registry"
}
}
}README
Lantern Works — GPU price comparison for agents, checked daily
Lantern Works compares GPU rental prices and estimates job costs for agents, with vendor source links, check times and quote receipts. Prices refresh daily; "cheapest" means among tracked providers. Referral links are labeled and never affect ranking.
Get your first quote — no installation or API key
Python 3.10+, standard library only. Read the example, then download and run it:
This calls the public hosted MCP: three on-demand rates checked within 24 hours, then a 100-hour, one-GPU compute estimate with sources, assumptions, missing costs and a receipt. It creates no purchase or watch. Use --qa for internal tests.
Client setup · Quickstart · Agent manifest · Small per-model JSON feeds · Add this to your README or dataset
- GPU prices: thelanternworks.com · /gpu/ · JSON api/v1/gpu-prices.json · history api/v1/gpu-prices/history.json · what moved since yesterday api/v1/gpu-price-changes.json (RSS)
- GPU coverage: which GPU models each vendor is tracked for (in stock, priced, not listed): /coverage/ · JSON api/v1/coverage.json
- Deals directory: thelanternworks.com/deals/ · About
- Agent feed (JSON, no auth): thelanternworks.com/api/v1/deals.json (same bytes as
/deals.json) · mirror: gist - Stack pricing: api/v1/stack-pricing.json
- Query CLI:
python3 query_deals.py --category unblock --max-price 20(filter contract: USAGE.md) - MCP test summaries: /receipts/ · JSON (dated findings, separate from job-price receipts)
Contact: [email protected]
MCP server (v0.6.0, read-only, stdio)
Free, read-only, no API key. Package lantern-works-deals-mcp on PyPI; MCP Registry name io.github.connormatthewdouglas/lantern-works-deals. Built on the official Python MCP SDK.
Tools
Tool counts: 9 in the local package (stdio, below); 13 on the hosted endpoint (the same 9 plus create_watch_key, watch_price, list_watches, delete_watch).
Note on rebuild_quote: a receipt issued from an earlier feed generation on a day whose daily snapshot was later re-cut can come back reproduced: "arithmetic_only" (price_mismatch) even though its price was genuine at the time. That is a safe false negative; it never verifies a forged price.
Install
Quickstart: ask for compare_gpu_prices(gpu="H100"), then the next day call get_price_changes(since="<data_checked_at date>") to see what moved. Prices refresh daily at about 10:23 UTC; compare_gpu_prices and optimize_agent_stack return data_checked_at and next_refresh_utc.
Claude Code:
Cursor (.cursor/mcp.json) and Cline (cline_mcp_settings.json, via MCP Servers → Configure) use the same entry:
Docker: docker build -t lantern-works-deals-mcp . && docker run -i --rm lantern-works-deals-mcp (the root Dockerfile installs the pinned PyPI release and runs the stdio server). Without uv: pip install lantern-works-deals-mcp, then use "command": "lantern-works-deals-mcp". Other clients: https://thelanternworks.com/install/?ref=readme · Skill: npx skills add connormatthewdouglas/agent-work-stack-deals.
Telemetry is off by default. LANTERN_TELEMETRY=1 opts in to an anonymous daily count of tool calls: tool name, version, day and count only. No arguments, IDs or IPs are sent or stored. See PRIVACY.md.
[Terminal demo: cheapest H100 for 100 hours via compare_gpu_prices]
Demo (live data, 2026-10-28): the MCP server answers "cheapest H100 for 100 hours?". It shows 100-hour totals for the cheapest, next and most expensive tracked rates, each with its source and check time, and labels referral links. Recording: docs/demo/cheapest-h100-100h.cast · script: docs/demo/demo.py.
Framework examples: LangGraph (cheapest H100), CrewAI and OpenAI Agents SDK (cheapest GPU for a described job), Stack optimizer (describe your agent, get the cheapest cited stack via optimize_agent_stack), GPU price watcher (what moved since a date via get_price_changes, cron-ready), GPU price monitor (price-drop alerts from the history API). All examples: examples/. Some tool results include referral links (affiliate: true).
Arguments, errors, data sources and tests: mcp_server/README.md.
Hosted endpoint (no install)
Streamable HTTP, same read-only tools: https://lantern-works-mcp.lantern-works.workers.dev/mcp?ref=readme
(claude mcp add --transport http lantern-works-deals https://lantern-works-mcp.lantern-works.workers.dev/mcp?ref=readme). Free Cloudflare Worker; it stores only anonymous call counts per tool per day (no IPs, user agents or arguments), public at https://lantern-works-mcp.lantern-works.workers.dev/stats. ?ref= only tags which link was used.
Alert delivery (hosted watches)
- At-least-once. An alert counts as delivered on any 2xx. Dedupe on
x-lantern-event-id+x-lantern-watch-id. - 408, 425, 429, 5xx and network errors retry with backoff: 15 min, then x4 each time, capped at 24 h.
Retry-Afteris honoured up to 24 h. At most 6 attempts, and none after 72 h from the first; then the alert isexpired. - Any other status (3xx are not followed, 4xx) is
rejectedand not retried. - Fair continuation: never-tried alerts go first, then the least recently tried; at most 10 POSTs per receiver host per run, and a host that fails is skipped for the rest of that run. Work left over is
backlog, sent on the next push. stats.deliveryshowslast_push_at,last_success_at,pending_retriesand the last outcome counts. The push job fails when any delivery fails or D1 cannot record results.- Local alternative:
examples/gpu-price-watcher/watch_prices.py --state FILEpages every event after a saved cursor and saves it atomically after each page, so a crash or missed day re-reads and never skips.
Eligibility (region, memory, tier, stock)
compare_gpu_prices, estimate_job_cost, hosted price watches and the calculator share one contract (core/eligibility.py). Each result carries eligibility {eligible, applied, unmet, unknown}.
gpu="A100 80GB"(orvram_gb=80) never matches a 40GB row;tiers=["on-demand"]never matches spot.region="US"(country/area: US, CA, EU, APAC, ...) matches every zone in it: 'US-MD-1 (United States)', 'us-east-1'. A zone (region="us-ne-1") matches exactly, any case, ignoring the '(...)' suffix. Published rows carryavailable_regions_normalized({label, zone, country, group}) beside the original labels. The summary starts with what the region filter found, and names a cheapest "regardless of region" when no confirmed row leads.- GPU names fold form-factor generations: 'A100 SXM4' = 'A100 SXM', 'H100 PCIe5' = 'H100 PCIe'. A form no tracked rate has is not_found in compare, estimate and watches.
region="US"drops rows whose unexpired published regions exclude it. Rows with no region evidence are kept, marked unresolved and ranked last; a watch never alerts on them.- Unknown stock is not confirmed availability. A row confirmed sold out never alerts.
Stale prices
By default no tool or page ranks a GPU price older than 168 hours (7 days) or names it cheapest. Such rows are listed separately as "stale price (N days old)" in stale_prices. If every matching price is stale, no current cheapest is named and the summary says so. Pass max_data_age_hours to set a different limit (for example 1000 to rank older quotes anyway; confirm them on the vendor page).
Published GPU throughput data (T20 Phase B, data only)
data/gpu_throughput.json (schema lantern-works-gpu-throughput/1) holds published throughput and peak-spec figures for H100 (SXM, PCIe 80GB, NVL), A100 (40/80GB, SXM vs PCIe), L40S and RTX 4090, from NVIDIA spec sheets and MLPerf Inference results (closed division, Offline). Each figure carries gpu, variant, workload, metric, unit, value, conditions (precision, sparsity, scenario, batch, gpu_count, per_gpu), source_url, source_title, publication_date, retrieved_at (UTC) and a verbatim quote.
Rules: values are copied from the quote, never estimated or derived. Multi-GPU MLPerf results are whole-system numbers (per_gpu: false) and are not divided per GPU. Vendor TFLOPS are theoretical peaks, not job throughput. Missing combinations are listed in gaps with gap: true and a reason. tests/test_gpu_throughput.py enforces this. estimate_job_cost reads it (since 0.3.21): for inference workloads with no user throughput it uses a directly applicable cited figure and reports throughput_basis="published_benchmark" with the source; training and uncovered GPU/model pairs still need a user-supplied throughput.
Report a wrong price
See a price that doesn't match the vendor's page, or an offer you can't rent? Open a wrong-price report. Agents can prefill it from a feed row; see docs/REPORT-WRONG-PRICE.md.
Feed contract, validation and deploy gate
- Schema:
schema.json(JSON Schema 2020-12).deals.jsoncarriesschema_version; prices are nullable (null= unknown,0= free tier), with explicitcurrency,unit,billing_period,verified_at,updated_at. - Stable feed:
https://thelanternworks.com/api/v1/deals.jsonis byte-identical to/deals.json(both written byscripts/generate_seo_pages.py). The gist is a byte-identical mirror. - Private data: commission, payout and compliance data live only in a private file outside this repo (path set by
LANTERN_PRIVATE_FIELDS). The generator reads it only for local sanity checks and leak detection and fails the build if any private key or commission-like text reaches public output. - Validation:
pip install jsonschema && python3 scripts/validate_feed.py --gist --linkschecks schema, private-leak scan, api/v1 parity, sitemap host, old-host hardcodes, gist parity and redeem URLs (403/429/timeouts warn; 404/410/DNS/persistent 5xx fail, exit 1). - Deploy gate: GitHub Actions runs schema validation, the test suite, a clean PyPI install check and a Docker build/stdio check; Pages deploys only after they pass, then live checks run.
- Migration test:
python3 scripts/test_url_migration.pychecks old GitHub Pages project URLs 301 to the new domain, key pages return 200, and the feeds match. - Compliance gate: when the private registry (path set by
LANTERN_COMPLIANCE_REGISTRY) is present, the generator publishes only deals whose status isapproved; others move to a private held file and come back automatically once approved. Absent registry (CI) = feed published as-is. - For agents: https://thelanternworks.com/for-agents/?ref=readme documents endpoints, schema and offer types.
License
- Code: MIT, see LICENSE.
- Field reference for
canonical_modelandform_factoringpu-prices.json: docs/GPU-PRICES-FIELDS.md. - Price and deal data (
deals.json,api/v1/*.jsonincludinggpu-prices.json, the price history and change feed,data/gpu_pricing/): CC BY 4.0, see LICENSE-DATA. Attribution: "Lantern Works" with a link to https://thelanternworks.com. Every JSON feed carries these terms in itslicensefield.
来源:README.md,提交 12fc321
工具
0版本历史
6- v0.6.0最新Nov 3, 2026
- v0.3.52Oct 31, 2026
- v0.3.46Oct 30, 2026
- v0.3.34Oct 30, 2026
- v0.3.32Oct 30, 2026
- v0.3.24Oct 29, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具必需15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分