protogrid

Search / io.ioswarm/swarmio

SwarmIO

R1· needs a key

AI that does real work for you: cited web research, plans, finance, horoscopes. Self-serve.

v1.0.1 · active · website · descriptor JSON · versions

An agent can connect on its own if it already holds SWARMIO_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality82good
Trust80of 100
Uptime, 30 days100%
Latency p50242 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "swarmio": {
      "type": "http",
      "url": "https://ioswarm.io/mcp",
      "headers": {
        "Authorization": "Bearer ${SWARMIO_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http swarmio https://ioswarm.io/mcp --header "Authorization: Bearer ${SWARMIO_TOKEN}"
[mcp_servers.swarmio]
url = "https://ioswarm.io/mcp"
bearer_token_env_var = "SWARMIO_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "swarmio": {
      "type": "remote",
      "url": "https://ioswarm.io/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:SWARMIO_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "swarmio": {
      "type": "http",
      "url": "https://ioswarm.io/mcp",
      "headers": {
        "Authorization": "Bearer ${SWARMIO_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=swarmio&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vaW9zd2FybS5pby9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtTV0FSTUlPX1RPS0VOfSJ9fQ%3D%3D"
}
{
  "servers": {
    "swarmio": {
      "type": "http",
      "url": "https://ioswarm.io/mcp",
      "headers": {
        "Authorization": "Bearer ${SWARMIO_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "swarmio": {
      "httpUrl": "https://ioswarm.io/mcp",
      "headers": {
        "Authorization": "Bearer ${SWARMIO_TOKEN}"
      }
    }
  }
}
extensions:
  "swarmio":
    enabled: true
    name: "swarmio"
    type: streamable_http
    uri: "https://ioswarm.io/mcp"
    headers:
      "Authorization": "Bearer ${SWARMIO_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${SWARMIO_TOKEN}. The registry never accepts secret values.

Quality 82 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • warn
    tools.descriptions1 of 14 tools have a description under 20 characters
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations14 of 14 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: market.pulse (idempotentHint); search (idempotentHint); news.brief (idempotentHint); …
  • pass
    tools.token_costabout 1,628 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes2 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

14 tools, about 1,628 tokens to load them all · tool set cc7f7604944f · tools last changed 2026-10-02 · checked 2026-10-20 12:13 UTC

Tool changes

  • news.briefadded

    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).

  • web.searchadded

    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 research brief (5¢, pay-only) for when raw results are not enough.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 80 / 100

no-repository
provenance55
liveness100
freshness85
hygiene80

+dns-namespace +website +reachable +uptime-100% ~updated-54d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://ioswarm.io/mcp streamable-httpapi_key ${SWARMIO_TOKEN}yes100%242 ms2025-06-182026-10-20

Tools (14)

billing.balanceread-onlyThe caller's credit balance and plan state.
billing.topup_termsread-onlyHow to refill credits machine-to-machine: USDC on Base to a published address, verified on-chain. Returns the pay_to address, minimum, and rate. Public — no credentials needed.
fetchread-onlyRead 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.
market.pulseread-onlyFREE, 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.
modes.listread-onlyThe launchable modes with a one-line contract for each. Static; never charged, no credentials needed.
news.briefread-onlyPAID, 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).
route.classifyread-onlyClassify a freeform request into the right mode (research, news, finance, astrology, …) before spending a run. Never charged.
runs.canceldestructiveStop a running job.
runs.getread-onlyA run's status and metadata. Poll until status is completed/failed/cancelled.
runs.launchLaunch a run: agents search the web, read sources, and write a cited report — real work, done for the caller. BILLED from the caller's credits. Returns the run record; poll runs.get until completed, then runs.report. Modes: research, news, product, trips, trainer, finance, astrology, horoscope (astrology/horoscope take Birth date constraint lines — see https://ioswarm.io/llms.txt).
runs.reportread-onlyThe finished, cited report for a completed run (report_text is markdown).
runs.waitread-onlyBlock 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.
searchread-onlySearch 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.)
web.searchread-onlyFREE, 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 research brief (5¢, pay-only) for when raw results are not enough.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.ioswarm/swarmio",
  "title": "SwarmIO",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
  "remotes": [
    {
      "url": "https://ioswarm.io/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer sk_swarm_ API key — self-mint with no human per https://ioswarm.io/llms.txt"
        }
      ]
    }
  ],
  "version": "1.0.1",
  "websiteUrl": "https://ioswarm.io",
  "description": "AI that does real work for you: cited web research, plans, finance, horoscopes. Self-serve."
}