Skip to main content
Glama
seranoxxyz

Seranox MCP Server

Official
by seranoxxyz
README.md
# seranox-mcp-server

[MCP](https://modelcontextprotocol.io) server that wraps the **Seranox** metered API, so Claude, Cursor, or any MCP-compatible agent can read the tape on Robinhood Chain — new pairs, wallet intel, equities dislocation, risk scans — and build **unsigned** swap routes.

Every tool is a 1:1 wrapper over one `/api/v1` endpoint. No business logic lives here, and nothing here can sign or move funds: `seranox_build_route` returns an unsigned transaction for the user's wallet to sign. Each result carries `cost.seraBurned` (from the API's `x-sera-burned` header) so an agent can reason about spend.

## Tools

| Tool | Endpoint | Burns |
|---|---|---|
| `seranox_status` | `GET /health` | 0 |
| `seranox_list_pairs` | `GET /pairs` — filter by risk verdict, max age, limit | 1 SERA |
| `seranox_get_pair` | `GET /pairs/:id` — by id, `$SYMBOL`, or address | 1 SERA |
| `seranox_risk_scan` | `GET /pairs/:id/risk` — honeypot, mint authority, LP lock, deployer, concentration (utility #15) | 5 SERA |
| `seranox_list_wallets` | `GET /wallets` — tracked wallets, filter by tag | 1 SERA |
| `seranox_wallet_flow` | `GET /wallets/:address/flow` — by address or label | 2 SERA |
| `seranox_equities_dislocation` | `GET /equities/dislocation?ticker=` — on-chain vs last close, read-only | 1 SERA |
| `seranox_build_route` | `POST /route` — **unsigned** tx + fee quote; needs an API key (utility #10) | routed fee |

## Install

```bash
pnpm install && pnpm build
```

## Configure

| Env | Default | Purpose |
|---|---|---|
| `SERANOX_API_URL` | `https://app.seranox.xyz/api/v1` | API base. Use `http://localhost:5173/api/v1` against a local `seranox-dapp`. |
| `SERANOX_API_KEY` | — | Key bound to a staked account. Optional for read tools; required for `seranox_build_route`. |

### Claude Code

```bash
claude mcp add seranox -e SERANOX_API_URL=https://app.seranox.xyz/api/v1 -e SERANOX_API_KEY=… -- node /path/to/seranox-mcp-server/dist/index.js
```

### Claude Desktop / Cursor (`mcpServers`)

```json
{
  "mcpServers": {
    "seranox": {
      "command": "node",
      "args": ["/path/to/seranox-mcp-server/dist/index.js"],
      "env": { "SERANOX_API_URL": "https://app.seranox.xyz/api/v1", "SERANOX_API_KEY": "…" }
    }
  }
}
```

## Develop

```bash
pnpm dev          # run over stdio from source (tsx)
pnpm test         # vitest — in-memory MCP transport + fake API
pnpm lint && pnpm typecheck
```

stdout is the MCP wire; log only to stderr.

## Layout

```
src/index.ts      stdio entry
src/server.ts     createServer(): registers every tool; API type shapes
src/client.ts     fetch wrapper: auth header, x-sera-burned, error mapping
src/config.ts     env → config
src/tools/        result + error helpers
tests/            protocol-level tests via InMemoryTransport
```

MIT.

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation5/5

Every tool targets a distinct resource and action: status check, pair listing vs detail, risk scan, wallet list vs specific flow, equities dislocation, and route building. No overlapping functionality or ambiguous boundaries.

Naming Consistency4/5

All tools follow a consistent lowercase_underscore pattern with the 'seranox_' prefix, but verb placement varies (e.g., 'list_pairs', 'risk_scan', 'wallet_flow'). This is largely predictable yet not a strict verb_noun convention throughout.

Tool Count5/5

With 8 tools, the server is well-scoped for its crypto intelligence and routing domain. Each tool covers a distinct function without redundancy or bloat, fitting the ideal 3-15 range.

Completeness5/5

The surface covers the full lifecycle of user interactions: status check, pair discovery, deep-dive details, risk scanning, wallet tracking and flow analysis, equities dislocation data, and route building. No obvious missing operations for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues