isocast-mcp
Allows registering a Telegram chat ID to receive push notifications for purchased Isocast signals.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@isocast-mcp Show me a sample signal for Austin."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
isocast-mcp
MCP server for Isocast — Polymarket weather-market bucket-transition signals for AI agents. Discover cities and inspect the signal shape for free; buy prepaid signal bundles with USDC on Base via x402, poll the signals you are entitled to, and register Telegram push delivery.
5 free tools — no wallet, no API key.
4 paid/keyed tools — unlocked by an
EVM_PRIVATE_KEY(USDC on Base Mainnet for purchases).
An Isocast signal fires when a city's expected daily-high temperature bucket flips on the corresponding Polymarket market — the moment the market's implied outcome moves from one bucket to the next.
Quick start
Free tier (no wallet)
{
"mcpServers": {
"isocast": {
"command": "npx",
"args": ["-y", "isocast-mcp"]
}
}
}You get get_health, get_cities, get_city, get_sample_signal, get_signal_meta.
Paid tier (with wallet)
Add an EVM wallet private key (0x-prefixed) that holds USDC on Base Mainnet:
{
"mcpServers": {
"isocast": {
"command": "npx",
"args": ["-y", "isocast-mcp"],
"env": { "EVM_PRIVATE_KEY": "0x..." }
}
}
}This additionally unlocks buy_signals, poll_signals, set_telegram, get_spot.
Install snippets
Claude Code:
claude mcp add isocast -- npx -y isocast-mcp
# with a wallet:
claude mcp add isocast --env EVM_PRIVATE_KEY=0x... -- npx -y isocast-mcpClaude Desktop / Cursor: add the JSON block above to your MCP config
(claude_desktop_config.json or .cursor/mcp.json).
Related MCP server: oom-x402-mcp
Tools
Free tools
Tool | Description |
| Isocast API health, payment mode, OFAC status + signal freshness. |
| List every active city (slug, unit, timezone, station, latest signal seq). |
| One city by slug, with its current target market day + Polymarket URL. |
| A free real sample signal for a city (fixed seq-1, never the latest; cross-city fallback via |
| Pricing + payment metadata: unit price, min spend, network, payTo, tier table. |
Paid / keyed tools
Tool | Description | Cost |
| Buy the next N signals for a city (by | USDC via x402 |
| Read the signals you are entitled to, using a bundle receipt. | free (uses receipt) |
| Register/delete the Telegram chat_id that receives your signals. | free (signed intent) |
| Snapshot of a city's LATEST signal — exactly one, never history. Stock x402, no binding nonce; uncharged on unknown city / no data yet. | $0.01 via x402 |
Pricing
Signals are sold in prepaid bundles. The effective unit price drops as the requested
count crosses volume tiers (live values come from get_signal_meta):
Tier | Min count | Unit price (USDC) |
Min | 2 | $0.005 |
Starter | 20 | $0.005 |
Standard | 100 | $0.0045 |
Pro | 500 | $0.004 |
Whale | 2000 | $0.0035 |
Minimum spend: $0.01 (i.e. 2 signals). buy_signals with spend_usdc derives the
count from these tiers and refuses a spend that cannot meet the minimum.
Single latest signal: get_spot is a flat $0.01 USDC per call — one snapshot of a
city's latest signal (never history). It is a plain x402 pay-per-call, not a bundle, so it
carries no receipt token and needs no binding nonce.
How payments work (x402)
buy_signals speaks the x402 exact scheme over EIP-3009
transferWithAuthorization on Base:
POST /v1/subscribe?city=…&count=…with no payment → the API replies HTTP 402 with the accepted payment terms (accepts[]:amountin USDC atomic units,payTo,network) and anextra.bindingblock.The MCP constructs a signed USDC authorization and retries the request with the payment attached.
On success the API returns your
paidThroughSeq, a 24h receiptToken, and the settlementtxHash. The receipt is cached sopoll_signalscan read your bundle without re-paying.
The binding nonce (important)
Isocast is anti-grief: the EIP-3009 authorization nonce is not random — it is bound
to (payer, citySlug, count):
nonce = keccak256(abi.encodePacked(payer, citySlug, uint256 count, bytes32 salt))The 402 challenge publishes the salt, and the server recomputes and verifies this exact
nonce before settling — so a stock x402 client that sends a random nonce is
rejected. isocast-mcp computes the binding nonce for you automatically; you never
have to think about it.
The binding nonce applies only to bundle purchases (
buy_signals//v1/subscribe).get_spot(GET /v1/spot) is a stock x402 call with no binding nonce — any standard x402 client can pay it, and this MCP settles it with the vanilla@x402/fetchflow.
Environment variables
Variable | Required | Description |
| No | 0x-prefixed wallet key with USDC on Base Mainnet. Enables the paid/keyed tools. Free tools work without it. |
| No | Override the API base URL (default |
Disclaimer
Isocast provides informational data only. It is not financial, trading, or betting advice, and there is no guarantee of accuracy or of any market outcome. You assume all risk for any decisions you make. Prediction markets are restricted or prohibited in some jurisdictions — it is your responsibility to comply with the laws that apply to you. See https://isocast.dev/terms.
License
MIT © jcislo
Available Tools
5 toolsget_citiesA
List every active Isocast city — slug, display name, country, temperature unit, bucket width, timezone, resolution source, station, and the latest public signal sequence number. Use this to discover which weather markets have signals. Free, no wallet or API key required.
Inputs: no named parameters.
get_cityA
Get one Isocast city by slug, including its current target market day and the Polymarket market URL. Free, no wallet or API key required.
Inputs: slug (required).
get_healthA
Check Isocast API health: liveness (ok), configured payment mode (live|mock), OFAC screening status, and a signals freshness block (lastSignalAt, ageSeconds, stale). Free, no wallet or API key required.
Inputs: no named parameters.
get_sample_signalA
Get a FREE sample Isocast signal for a city — the fixed seq-1 signal (never the latest), or, when that city has no servable sample yet, a REAL past signal from another city labeled via a sampleNote field. Always marked sample: true; never fabricated and never reveals any city's latest signal. Shows the exact shape of a bucket-transition signal (old/new reading, buckets with yes/no/midpoint, market URL) without paying. Free, no wallet or API key required. For live entitled signals, use buy_signals + poll_signals.
Inputs: city (required).
get_signal_metaA
Get Isocast pricing and payment metadata — per-signal unit price, minimum spend, currency, network, payTo address, and the volume tier table (Min/Starter/Standard/Pro/Whale). Pass a city to also get its latestSeq. NEVER returns any signal rows. Free, no wallet or API key required.
Inputs: city.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: health check, list cities, get a single city, get a sample signal, and get pricing metadata. No two tools overlap in functionality, so an agent can unambiguously select the right one.
All tool names follow the same verb_noun pattern: get_health, get_cities, get_city, get_sample_signal, get_signal_meta. This is highly predictable and consistent.
With 5 tools, the server is well-scoped for a read-only API providing public data and metadata. Each tool earns its place without redundancy or bloat.
The description explicitly references buy_signals and poll_signals as the way to get live entitled signals, but these tools are missing from the server. This leaves a significant gap in the core workflow of actually obtaining signals, making the tool surface incomplete for the apparent domain.
Maintenance
Related MCP Connectors
Real-time planetary signal engine and Model Context Protocol (MCP) server for autonomous AI agents.
37 paid x402 MCP tools for OSINT, prediction markets, web intel, and agent security on Base USDC.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
Pay-per-use MCP tools for AI agents. USDC on Base via x402. No API keys.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceMCP server enabling AI agents to place bets on Polymarket using CLOB v2 with x402 payment and auto-setup.-

oom-x402-mcpofficial
FlicenseNot gradedqualityBmaintenanceMCP server exposing 1,000+ pay-per-call API endpoints across agent infrastructure (memory, coordination, secrets, verification), data, compute, finance, weather, geography, and reference categories — payments via x402 protocol in USDC on Base.-- AlicenseNot gradedqualityCmaintenanceMCP server providing 50+ crypto, market intelligence, and AI inference endpoints with x402 pay-per-request micropayments on Base.2Apache 2.0
- AlicenseAqualityDmaintenanceMCP server for Signalis, providing AI agents with pay-per-call global intelligence including Master Intelligence digests and Pulse narratives, with payments settled in USDC on Base via x402.108 npmMIT