isocast-mcp

isocast-mcp

MCP server providing Polymarket weather-market bucket-transition signals for AI agents, with free city/signal inspection tools and paid signal bundles via USDC on Base using x402.

Category
访问服务器

README

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-mcp

Claude Desktop / Cursor: add the JSON block above to your MCP config (claude_desktop_config.json or .cursor/mcp.json).


Tools

Free tools

Tool Description
get_health Isocast API health, payment mode, OFAC status + signal freshness.
get_cities List every active city (slug, unit, timezone, station, latest signal seq).
get_city One city by slug, with its current target market day + Polymarket URL.
get_sample_signal A free real sample signal for a city (fixed seq-1, never the latest; cross-city fallback via sampleNote) — shows the exact signal shape.
get_signal_meta Pricing + payment metadata: unit price, min spend, network, payTo, tier table.

Paid / keyed tools

Tool Description Cost
buy_signals Buy the next N signals for a city (by count or spend_usdc). USDC via x402
poll_signals Read the signals you are entitled to, using a bundle receipt. free (uses receipt)
set_telegram Register/delete the Telegram chat_id that receives your signals. free (signed intent)
get_spot 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:

  1. POST /v1/subscribe?city=…&count=… with no payment → the API replies HTTP 402 with the accepted payment terms (accepts[]: amount in USDC atomic units, payTo, network) and an extra.binding block.
  2. The MCP constructs a signed USDC authorization and retries the request with the payment attached.
  3. On success the API returns your paidThroughSeq, a 24h receiptToken, and the settlement txHash. The receipt is cached so poll_signals can 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/fetch flow.


Environment variables

Variable Required Description
EVM_PRIVATE_KEY No 0x-prefixed wallet key with USDC on Base Mainnet. Enables the paid/keyed tools. Free tools work without it.
ISOCAST_API_URL No Override the API base URL (default https://api.isocast.dev).

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选