Skip to main content

Lantern Works GPU prices — MCP server (v0.3.16, read-only, stdio)

mcp-name: io.github.connormatthewdouglas/lantern-works-deals

Free, read-only, no API key. GPU price comparison for agents, checked daily: compare_gpu_prices returns hourly rental prices for H100, A100, RTX 4090 and more across tracked providers, cheapest first, each with the vendor's source page and check date; include_history=true adds daily price history (since 2026-10-27) and recent changes. Also prices the cheapest stack for your monthly usage (optimize_stack) and, last, searches and compares AI-infra deals and free tiers, ranked by customer value (never by affiliate status). Some result links are referral links.

Quick start

uvx lantern-works-deals-mcp

Claude Code:

claude mcp add lantern-works-deals -- uvx lantern-works-deals-mcp

Cursor (.cursor/mcp.json), Cline (cline_mcp_settings.json) and Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "lantern-works-deals": {
      "command": "uvx",
      "args": ["lantern-works-deals-mcp"]
    }
  }
}

Without uv: pip install lantern-works-deals-mcp, then use "command": "lantern-works-deals-mcp". Docker (from the repo root; installs the pinned PyPI release): docker build -t lantern-works-deals-mcp . && docker run -i --rm lantern-works-deals-mcp. More clients: https://thelanternworks.com/install/

Hosted endpoint (no install)

Streamable HTTP, same read-only tools: https://lantern-works-mcp.lantern-works.workers.dev/mcp?ref=pypi-readme (claude mcp add --transport http lantern-works-deals https://lantern-works-mcp.lantern-works.workers.dev/mcp?ref=pypi-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.

Tools

Tool Args Returns
compare_gpu_prices gpu (e.g. H100, A100 SXM, RTX 4090), limit (1-25, default 10), include_history (default false), on_demand_only (bool, default false) {summary, scope, total, results[], data_source, feed_updated_at, ...} sorted by hourly_usd; each result has source_url and checked_at. With include_history=true, each result adds price_history (daily-snapshot change points) and the response adds history.recent_changes (last 30 days)
get_price_changes since (YYYY-MM-DD, optional), gpu (substring filter, optional), limit (1-200, default 50) GPU price moves among tracked providers, newest first (drops, rises, removals, then newly tracked rates): from_hourly_usd, to_hourly_usd, change_pct, direction, source_url; window, counts, data_checked_at, next_refresh_utc. Without since, the latest day (/api/v1/gpu-price-changes.json); with it, /api/v1/gpu-prices/history.json. Bad date → invalid_argument
optimize_stack scrape_pages, scrape_pages_js, proxy_gb, emails_sent, search_queries, gpu_hours, gpu_model, exclude_manual_signup per-line chosen plan, monthly_cost_usd, calc, vendor quote, source_url, checked_at, assumptions, alternatives; unpublished prices are unknown
optimize_agent_stack description (free text) plus optional workload, gpu_hours, gpu_model, model_size_b, scrape_pages, js_rendering, proxy_gb, search_queries, emails_sent, llm_api, monthly_budget_usd, exclude_manual_signup parsed (what the deterministic parse found), per-component cheapest cited option with calc, source_url, verified_at, referral_disclosure, manual-signup notes; monthly_estimate_usd with estimate_math and estimate_is_complete; "no sourced price tracked" where there is no data
search_deals query, category, offer_type, max_price, tags[], limit (1-25, default 10), cursor {total, count, results[], next_cursor} (summary fields only)
compare_deals ids (2-5) {order, deals[], note} best value first
get_deal id the deal's public record

compare_gpu_prices uses exactly the data published at https://thelanternworks.com/api/v1/gpu-prices.json (history: https://thelanternworks.com/api/v1/gpu-prices/history.json). Prices are re-read daily from each vendor's own page or API and change only where a price was parsed; a rate not re-verified for 7 days is held out of rankings. Model matching is by whole tokens (H100 matches H100 SXM; L40 does not match L40S). "Cheapest" means cheapest among tracked providers, not the whole market.

Errors: {"error": {"code": "invalid_argument|invalid_cursor|not_found|feed_unavailable|feed_invalid", "message": ...}}.

Data and privacy

Deals: https://thelanternworks.com/api/v1/deals.json; stack pricing: https://thelanternworks.com/api/v1/stack-pricing.json; GPU prices: https://thelanternworks.com/api/v1/gpu-prices.json. Each is cached 5 min (a stale copy is served if a refetch fails). Requests send only User-Agent: lantern-works-deals-mcp/<version> (no user, host or install identifiers). Overrides: LANTERN_DEALS_FILE / LANTERN_DEALS_URL, LANTERN_GPU_PRICES_FILE / LANTERN_GPU_PRICES_URL, LANTERN_STACK_PRICING_FILE / LANTERN_STACK_PRICING_URL. Only an allow-list of public fields is returned.

Telemetry: off by default. Opt in with LANTERN_TELEMETRY=1 to send an anonymous daily count of tool calls. Each count is only the tool name, package version, UTC day and number of calls. No arguments, IDs or IPs are sent or stored. It is batched to at most one request per day and never blocks or breaks a tool call. Details: PRIVACY.md.

From git (fallback)

git clone https://github.com/connormatthewdouglas/agent-work-stack-deals.git
cd agent-work-stack-deals
python3 -m venv .venv && .venv/bin/pip install -r mcp_server/requirements.txt
.venv/bin/python mcp_server/server.py

Test

.venv/bin/pip install pytest && .venv/bin/python -m pytest -q tests
python3 scripts/test_pypi_install.py --uvx   # clean venv + uvx install from PyPI, calls every tool over stdio

Package

pyproject.toml at the repo root builds lantern-works-deals-mcp (MIT) with a lantern-works-deals-mcp console command. Published on PyPI and in the MCP Registry as io.github.connormatthewdouglas/lantern-works-deals.

Metadata

Release files for lantern-works-deals-mcp 0.3.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lantern-works-deals-mcp 0.3.16
File Size Uploaded Provenance Actions
lantern_works_deals_mcp-0.3.16.tar.gz 85.5 kB Without provenance Details for lantern_works_deals_mcp-0.3.16.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lantern-works-deals-mcp 0.3.16
File Interpreter ABI Platform Actions
lantern_works_deals_mcp-0.3.16-py3-none-any.whl Python 3 none any Details for lantern_works_deals_mcp-0.3.16-py3-none-any.whl

Total release size: 142.7 kB

Release files / lantern_works_deals_mcp-0.3.16.tar.gz

Download URL lantern_works_deals_mcp-0.3.16.tar.gz
Size 85.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f2e6ce2c23c26deb8752ed05bed4425e024d581e1ef5240bc137aa32735e20b3
BLAKE2b-256 checksum
How to use checksums
998c1fc5e5902c117bc97e8ad2493c596fc1eb47151896668c56e1739979dadc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / lantern_works_deals_mcp-0.3.16-py3-none-any.whl

Download URL lantern_works_deals_mcp-0.3.16-py3-none-any.whl
Size 57.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27a656c2a7e23558b158867142fac0aa29ccbe2c85382edbe8eea3675635e6c0
BLAKE2b-256 checksum
How to use checksums
d1e64ce9a993355ed534e7ec1dad2302dba11949dc27a18c67b329432c13786d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for lantern-works-deals-mcp 0.3.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.16 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page