MCP server: dated answers about free AI APIs

Every answer this server returns carries the date it was verified, and how many days ago that was. Your agent applies its own freshness tolerance rather than trusting that a page is current.

That is the point of it. A list can tell you something was free at some point; it cannot tell you whether it is free now. Neither can this server — but it can tell you when it last looked, per row, and let you decide.

{
  "mcpServers": {
    "ai-deals-sentinel": {
      "url": "https://ai-deals.rockpool.cc/mcp"
    }
  }
}

No API key, no signup, no account. The endpoint speaks JSON-RPC over HTTP POST.

What "dated" means here — there are two kinds of date

They answer different questions, and the difference is visible in one tool call:

what it coverswhat its date means
Livenessfree, no-key public data APIsre-measured whenever the site is rebuilt — one read-only GET per API, recording HTTP status and latency. generated_at is when that happened
Offersfree tiers, trial credits, discountsdated per row, re-verified on a rolling basis. verified_at is when that row was last read against the provider's own page

Read the dates rather than assuming a cadence. Nothing here promises how often either one refreshes, because nothing schedules builds — so a gap can be any length, and the page cannot tell you the current one. generated_at on the feed and verified_at on the row both say what actually happened, and a row that has not been re-read recently says so instead of looking identical to one checked this morning.

The three tools

**find_free_inference** — free tiers, trial credits and discounts on AI APIs, filterable by capability (inference, gpu, search, embeddings, vector-db, speech-vision, compute-sandbox, eval-observability) or by provider. Every row carries source_url and verified_at.

By default it returns only offers an agent can consume via API once a human has cleared signup. Pass agent_usable_only: false to see the rest — several well-known free GPU offers are notebook environments a script cannot drive, and that default excludes them rather than the catalog missing them.

**get_offer** — full detail for one provider's offer: the caveats, the access barrier, what the allowance actually covers, and where the claim came from.

**check_api_health** — the last measured liveness of free, no-key public data APIs: HTTP status and latency from one read-only GET each. Use counts.measured as the denominator, not counts.total; the difference is rows that were never called because they need a key.

Provenance, and one thing to know before piping this into a model

Rows are sourced to the provider's own page, never to an aggregator, and each carries the URL the claim came from.

Tool responses quote third-party provider text verbatim — caveats and allowance descriptions are the providers' own words, reproduced so you can read what they actually said rather than a paraphrase.

Offers that ended are kept and marked rather than deleted, so an agent asking about a provider gets "this ended" instead of silence. An absent row and a retired row are different answers, and only one of them is useful.

Add this server to your client

The endpoint is https://ai-deals.rockpool.cc/mcp. No key, no signup. Each format below is the client's own documented one, as read on 2026-10-09.

https://cursor.com/docs/mcp/install-links)

claude mcp add --transport http ai-deals-sentinel https://ai-deals.rockpool.cc/mcp

https://code.visualstudio.com/docs/agent-customization/mcp-servers):

code --add-mcp '{"name":"ai-deals-sentinel","type":"http","url":"https://ai-deals.rockpool.cc/mcp"}'

https://docs.windsurf.com/windsurf/cascade/mcp):

{"mcpServers":{"ai-deals-sentinel":{"serverUrl":"https://ai-deals.rockpool.cc/mcp"}}}
{"context_servers":{"ai-deals-sentinel":{"url":"https://ai-deals.rockpool.cc/mcp"}}}

Limits worth knowing

free offer that exists.

unknown where an offer is time-limited but no date is published. Absence means no known expiry.

established first-party — most often a provider documenting a benefit without publishing its quantum — and the row says so rather than repeating a number from elsewhere.