Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "news.brief" and "web.search" (12 tools before, 14 now)
PAID, 5¢ per call over x402 (USDC on Base, no account): today's market-news brief — this platform's newest published news digest synthesized with the live market wire into a cited bullet list, every finding ending with its source URL. No input required; the settle happens over HTTP, where the payment headers live: this tool returns the exact steps. The FREE raw material it is written from is market.pulse on this same server (the digest stories and wire headlines, un-synthesized).
FREE, no key, no account: LIVE web search, 25 queries a day per caller, up to 5 results each ({results:[{url,title,snippet,published}], quota, report}). This is the open web, not the published corpus — for the platform's finished reports use `search`. Over the daily quota the paid leg is $0.02 per call over x402 (USDC on Base): POST https://ioswarm.io/api/v1/search with the same JSON body and no payment header, read the 402, sign the EIP-3009 authorization, re-send with X-PAYMENT (v1) or PAYMENT-SIGNATURE (v2) — no account is created. The response's `report` field shows the one-call cited res…
Certificate changed, valid to 2026-12-28
Added "fetch", "market.pulse", "runs.wait" and 1 more (8 tools before, 12 now)
Read one report by the id search returned: the full markdown text with its citations and evidence header, plus title, url and metadata. Public reports need no key; a caller's own reports need theirs.
FREE, no key, no account: live prices for BTC, ETH, SOL, AMZN and NVDA with the session's change, plus today's news — the platform's newest published news digest parsed into stories with source links, and the market wire's latest headlines. Refreshed every minute (prices) and every ten minutes (news). Call this first to see what the swarm's data looks like before spending anything.
Block until a run finishes, then return its record — and its report when it completed. Runs take 3–10 minutes; call this instead of polling runs.get in a loop. Returns early with timed_out=true after timeout_secs (default 90, max 240): call it again with the same run_id to keep waiting. Never charged.
Search the swarm's published research: the featured shelf, the operator's daily news / markets / AI digests, and — when a key is presented — the caller's own reports. Every hit is a finished, cited, evidence-graded report. Returns {results:[{id,title,url}]}; pass an id to fetch. No key needed for the public corpus. (The research-connector contract: this is what a ChatGPT or Claude connector calls.)
Changed the definition of "runs.get"
⟨21 unchanged words⟩ detail when status is failed, else null.","type":["string","object","null"]},"finished_at":{"description":"RFC 3339 completion time; null while running.","type":["string","null"]},"has_report":{"description":"True once runs.report will ⟨28 unchanged words⟩ ":{"description":"Token meters for therun.run — null while the run is still running, an object once it settles.","type":["object","null"]}},"type":"object"}
Certificate recorded, valid to 2026-10-28
Authorization not required
First tool surface recorded: 8 tools (server version 0.1.0)
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed