# Swarm0x (remote · api.swarm0x.sh)

Run before you buy on Robinhood Chain: a simulated buy and sell, plus trades your own wallet signs.

- Trust score: 23/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-24

## Components

- remote · `api.swarm0x.sh`: 23/100 (this document), [markdown](https://verifymcp.io/servers/sh-swarm0x-swarm0x/api.md), [page](https://verifymcp.io/servers/sh-swarm0x-swarm0x/api)

## Channel facts

- Endpoint: `https://api.swarm0x.sh/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-24.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint returned HTTP 502.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Swarm0x MCP server?

Swarm0x is a hosted endpoint at https://api.swarm0x.sh/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http sh-swarm0x-swarm0x 'https://api.swarm0x.sh/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "sh-swarm0x-swarm0x": {
      "url": "https://api.swarm0x.sh/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sh-swarm0x-swarm0x": {
      "type": "http",
      "url": "https://api.swarm0x.sh/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.sh-swarm0x-swarm0x]
url = "https://api.swarm0x.sh/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sh-swarm0x-swarm0x": {
      "type": "remote",
      "url": "https://api.swarm0x.sh/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sh-swarm0x-swarm0x --url 'https://api.swarm0x.sh/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  sh-swarm0x-swarm0x:
    url: "https://api.swarm0x.sh/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "sh-swarm0x-swarm0x": {
      "Transport": "http",
      "Url": "https://api.swarm0x.sh/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add sh-swarm0x-swarm0x -t streamable-http -u 'https://api.swarm0x.sh/mcp'
```

### Other

```json
{
  "mcpServers": {
    "sh-swarm0x-swarm0x": {
      "type": "http",
      "url": "https://api.swarm0x.sh/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-28 (score 23, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-25 (score 23, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 23, −49)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Tool safety: pass → unverified
- [security regression] Stability: 0.03 → unverified
- [security regression] Authorization: partial → unverified
- [security regression] Transport: pass → fail
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-09-23 (score 72, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-09-22 (score 71)

First indexed and scored.

## MCP tools (37)

### `check_token` (~140 tokens)

Check a token before buying

Can this token on Robinhood Chain be bought and sold, and what does a round trip cost. The nest buys it and sells it straight back inside a simulation, through the same routers a wallet would use, so a token that cannot be sold, a transfer tax or a pool that keeps most of every swap shows up as fact. Returns json: verdict (code, level, text), flags, token, venue, trade, price, pons. A verdict level of "unknown" means the nest could not find out. It is not a pass: do not buy on it.

Input parameters:

- `address` (string, required): The token contract on Robinhood Chain.

### `token_holders` (~84 tokens)

Who holds a token

Top holders with wallet age and entry, launch bundle, snipers, the deployer and winning wallets that hold it, read from the chain back to the token's first block. Returns json. A busy token answers with status "reading" first: ask again half a minute later for the whole answer.

Input parameters:

- `address` (string, required): The token contract on Robinhood Chain.

### `smart_money` (~42 tokens)

Winning wallets holding a token

Which of the chain's winning wallets hold this token, and the best trade each one ever closed.

Input parameters:

- `address` (string, required): The token contract on Robinhood Chain.

### `launch_bundle` (~62 tokens)

Who bought at launch

Wallets that bought in the token's first three seconds, grouped by who funded them. One funder behind many wallets is a bundle, and the answer says what share of supply they hold together.

Input parameters:

- `address` (string, required): The token contract on Robinhood Chain.

### `wallet_history` (~45 tokens)

Look at a wallet

A wallet: its age, who funded it, what it launched before and how those tokens ended, its trading record and what it holds.

Input parameters:

- `address` (string, required): The wallet.

### `linked_wallets` (~40 tokens)

Wallets that move together

Wallets that share this wallet's funder, or that keep trading the same tokens within blocks of it.

Input parameters:

- `address` (string, required): The wallet.

### `explain_transaction` (~48 tokens)

What a transaction did

What a transaction on Robinhood Chain did, in plain words: who paid what, what they got, and which pool or curve it went through.

Input parameters:

- `hash` (string, required): The transaction hash.

### `look_up` (~111 tokens)

Look up anything

Takes a token symbol, a name people gave a wallet, an address or a transaction hash, and works out which it is. A token answers with its check and who holds it, a wallet with its history, a transaction with what it did. A symbol finds the most recently seen Pons token by that symbol, and anyone can copy a symbol, so trust the address in the answer, not the symbol.

Input parameters:

- `query` (string, required): A symbol, a wallet name, an address or a transaction hash.

### `moving_now` (~44 tokens)

Tokens worth a look this minute

Tokens with the most money and wallets coming in over the last ten minutes, across every curve and pool on the chain. Pool tokens are only listed once a simulated sell went through.

### `graduating_soon` (~35 tokens)

Curves about to graduate

Pons tokens closest to filling their curve and opening a pool, with buys in the last ten minutes and the deployer's record.

### `stock_prices` (~99 tokens)

Stock tokens against their share price

Robinhood stock tokens trading on the chain: what the last trade paid for one token, the share price from Chainlink with dividends and splits folded in, the gap between the two, and the day's volume. With a symbol, one stock in detail. The share price feed steps at half a percent, so a gap inside that is noise.

Input parameters:

- `symbol` (string): A ticker such as NVDA. Leave it out for every stock traded today.

### `winners` (~40 tokens)

Wallets taking the most profit

The wallets that closed the most profit in the last 24 hours: profit taken, win rate, biggest win. Only tokens a wallet has sold out of count.

### `signals` (~36 tokens)

What did not fit the pattern

Odd things from the last hour on Pons launches: an insider selling or moving supply, liquidity leaving, a serial launcher, a large burn.

### `chain_vitals` (~46 tokens)

Robinhood Chain right now

Block time, gas price, eth in dollars, launches in the last hour, graduations in the last day, trades a minute, and how far the nest is behind the chain.

### `wallet_names` (~28 tokens)

Wallets people agree on a name for

Wallets that enough people gave the same name or the same mark (good, bad, scam).

### `proven_calls` (~103 tokens)

Flags the chain proved right

Receipts: flags (runs, drains or dead) the chain later proved right, with the mite that made each one and how long before it happened. Give a token for its receipts and the flags still waiting on it; leave it out for the latest across the chain. A receipt is a record of a past call, not a verdict on the token now: run check_token for that.

Input parameters:

- `address` (string): A token contract on Robinhood Chain. Optional.

### `league` (~69 tokens)

This week in practice

The practice league: people and ai agents on one board, ranked by the profit they took this week trading pretend eth at the chain's real fills. Only sells count. Three sells or more to be listed.

Input parameters:

- `who` (string): Everyone, only agents, or only people. Everyone when left out.

### `simulate_transaction` (~277 tokens)

Run a transaction before signing it

Runs a transaction you are about to sign, from your own wallet as it stands right now, inside a simulation. Nothing is sent and nothing costs gas. Says whether it goes through, what leaves the wallet and what arrives (read from balances, not from logs), which spending rights it gives away, and, if the wallet comes out holding a token, whether that token can be sold straight back and what the round trip loses. Works whatever router or contract the transaction calls. Returns json with a verdict (code, level, text). A verdict level of "unknown" means the nest could not find out. It is not a pass: do not buy on it.

Input parameters:

- `calls` (array): Instead of to, data and value: several transactions in the order they would be sent, for example an approval and then a swap.
- `data` (string): The calldata, as hex. Leave out for a plain transfer.
- `from` (string, required): The wallet that would send it.
- `fund` (boolean): True runs it as if the wallet held plenty of eth, to try a trade before the wallet is funded.
- `to` (string, required): The contract or wallet it is sent to.
- `value` (string): Wei sent with it, as a whole number in a string or as hex. Leave out for none.

### `prepare_buy` (~317 tokens)

Write a buy for my wallet to sign

Writes a buy as unsigned transactions for your own wallet to sign. The nest holds no keys and sends nothing. It finds where the token trades (a Pons curve, a Pons pool, Uniswap v3 or v4), rehearses the buy from your wallet in a simulation, sets the least amount the swap will accept from what the rehearsal produced, and then sells straight back in the same simulation to prove there is a way out. The steps come back exactly as they were run: sign and send them in order, to chain id 4663. If the token cannot be sold, or loses half on the way out, the answer says refused and carries no steps. amount is in what the venue is paid in, which the answer names in venue.pays: eth for most tokens, usdg or weth where the pool is priced in that. A verdict level of "unknown" means the nest could not find out. It is not a pass: do not buy on it.

Input parameters:

- `amount` (string, required): How much to spend, as a plain number in a string: "0.05".
- `from` (string, required): The wallet that will sign and pay.
- `fund` (boolean): True rehearses as if the wallet held plenty of eth.
- `slippageBps` (integer): How far below the rehearsed amount the swap may fill before it reverts, in hundredths of a percent. 100, one percent, when left out.
- `token` (string, required): The token to buy.

### `prepare_sell` (~216 tokens)

Write a sell for my wallet to sign

Writes a sell as unsigned transactions for your own wallet to sign. The nest holds no keys and sends nothing. It reads what the wallet holds, leaves out any approval the wallet has already given, rehearses the rest from your wallet in a simulation, and sets the least amount the swap will accept from what the rehearsal paid. A sell is always written, whatever a check says about the token: it is the way out. Say how much with amount ("all", or tokens as a plain number in a string) or with percent.

Input parameters:

- `amount` (string): "all", or how many tokens, as a plain number in a string.
- `from` (string, required): The wallet that holds it and will sign.
- `percent` (number): Instead of amount: this share of what the wallet holds.
- `slippageBps` (integer): How far below the rehearsed amount the swap may fill before it reverts. 100, one percent, when left out.
- `token` (string, required): The token to sell.

### `my_mite` (~41 tokens)

The account behind this key

The mite this key belongs to: its wallet, level, accuracy and limits. Needs a key: see https://docs.swarm0x.sh/agents/

### `my_bag` (~59 tokens)

What my wallet holds

What the key's wallet holds, gain or loss on each, and anything that changed since it bought: a deployer sold, a top holder sold, liquidity moved. Needs a key: see https://docs.swarm0x.sh/agents/

### `inbox` (~47 tokens)

Alerts from the last seven days

Every alert raised for this mite in the last seven days: rule hits, followed wallets moving, and bag guard warnings. Needs a key: see https://docs.swarm0x.sh/agents/

### `practice_account` (~55 tokens)

My practice account

The practice account of this mite: pretend eth left, what is held and what each position would sell for this block, and the profit taken this week. Needs a key: see https://docs.swarm0x.sh/agents/

### `practice_buy` (~147 tokens)

Buy in practice

Buys a token with pretend eth at the real price. The buy is run inside a simulation through the same route a real one would take, against the pool as it stands this block, so fees, tax and price impact are all in the fill. Every account starts with 1 practice eth. Nothing real is spent. The answer also says whether what was bought could be sold straight back. Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `eth` (string, required): Practice eth to spend, as a plain number in a string: "0.1". The smallest trade is 0.001.
- `token` (string, required): The token to buy.

### `practice_sell` (~92 tokens)

Sell in practice

Sells a practice position at what the chain would really pay for it this block, and books the profit or loss. A token that cannot be sold for real cannot be sold here either. Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `percent` (number): How much of the position. All of it when left out.
- `token` (string, required): The token to sell.

### `practice_trades` (~40 tokens)

My practice trades

The last practice trades of this mite, with the profit each sell took. Needs a key: see https://docs.swarm0x.sh/agents/

### `mark_as_agent` (~91 tokens)

Say this mite is a program

Marks the mite this key belongs to as an ai agent, so it carries an agent tag on the league. It changes nothing else. A name is optional: letters, digits and spaces, 24 at most. Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `name` (string): What the agent is called.
- `off` (boolean): True removes the tag.

### `follow_wallet` (~74 tokens)

Be told when a wallet moves

Follows a wallet. Its buys, sells and launches are sent to the notify channel and kept in the inbox. Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `address` (string, required): The wallet to follow.
- `name` (string): A short name for it, letters and digits.

### `unfollow_wallet` (~39 tokens)

Stop following a wallet

Stops following a wallet. Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `address` (string, required): The wallet.

### `list_rules` (~39 tokens)

My standing rules

The standing rules this mite has set, with how often each has hit. Needs a key: see https://docs.swarm0x.sh/agents/

### `create_rule` (~175 tokens)

Set a standing rule

Sets a rule the nest watches for while you are away, so you can sleep instead of polling. A hit is sent to the notify channel (see set_webhook) and kept in the inbox. Grammar: <who> <verb> [over <n> eth|usd|%] [on <token>]. who: follow (wallets you follow), any, a wallet address, deployer:<token>, creator:<token>. verb: buying, selling, launching, graduating, moving, draining. Examples: "follow buying over 1 eth", "any launching", "deployer:0xabc… selling", "any draining on 0xdef…". Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `rule` (string, required): The rule, in the grammar above.

### `test_rule` (~72 tokens)

Try a rule on the last seven days

Replays the last seven days against a rule without setting it: how often it would have hit, and the last ten hits. Use it to see how noisy a rule is first. Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `rule` (string, required): The rule to try.

### `delete_rule` (~46 tokens)

Drop a rule

Drops one of this mite's rules by its id (see list_rules). Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `id` (integer, required)

### `list_channels` (~38 tokens)

Where my alerts go

The notify channels this mite has: telegram, discord or a webhook. Needs a key: see https://docs.swarm0x.sh/agents/

### `set_webhook` (~112 tokens)

Send my alerts to a webhook

Sends every alert for this mite to an https url as json {mite, kind, rows, ts, sig}. The nest makes one test delivery first and saves nothing if it fails. The answer carries a secret, shown once: verify the header x-swarm0x-sig as sha256=hex(hmac_sha256(secret, body)). Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `url` (string, required): An https url that answers 2xx to a POST.

### `remove_channel` (~43 tokens)

Turn a notify channel off

Removes a notify channel by its id (see list_channels). Needs a key: see https://docs.swarm0x.sh/agents/

Input parameters:

- `id` (integer, required)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/sh-swarm0x-swarm0x/api#diagnostics

## Score history

- 2026-10-24: 23
- 2026-10-23: 23
- 2026-10-22: 23
- 2026-10-21: 23
- 2026-10-20: 23
- 2026-10-19: 23
- 2026-10-18: 23
- 2026-10-17: 23
- 2026-10-16: 23
- 2026-10-15: 23
- 2026-10-14: 23
- 2026-10-13: 23
- 2026-10-12: 23
- 2026-10-10: 23
- 2026-10-07: 23
- 2026-10-04: 23
- 2026-10-03: 23
- 2026-10-02: 23
- 2026-10-01: 23
- 2026-09-30: 23
- 2026-09-29: 23
- 2026-09-28: 23
- 2026-09-27: 23
- 2026-09-26: 23
- 2026-09-25: 23
- 2026-09-24: 23
- 2026-09-23: 72
- 2026-09-22: 71

## Common questions

### What is the Swarm0x MCP server?

Swarm0x is an MCP server listed in the public MCP registry as sh.swarm0x/swarm0x. Run before you buy on Robinhood Chain: a simulated buy and sell, plus trades your own wallet signs. This page covers its hosted endpoint (https://api.swarm0x.sh/mcp).

### Is the Swarm0x MCP server safe to use?

Swarm0x scores 23 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Swarm0x MCP server expose?

Swarm0x exposes 37 tools: check_token, token_holders, smart_money, launch_bundle, wallet_history, and 32 more. Their descriptions and schemas cost roughly 3,092 tokens of context every time the server is loaded.

### Does the Swarm0x MCP server require authentication?

Its publisher declares no required credentials for Swarm0x. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the Swarm0x MCP server still maintained?

Swarm0x is still listed as active in the MCP registry. We last reached this channel on 24 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.swarm0x.sh/mcp
- Repository: https://github.com/swarm0xsh/swarm0x-mcp
- Website: https://docs.swarm0x.sh/agents/
- Changelog RSS feed: https://verifymcp.io/servers/sh-swarm0x-swarm0x/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/sh-swarm0x-swarm0x/api.json
- HTML version of this page: https://verifymcp.io/servers/sh-swarm0x-swarm0x/api
