The River

Tokenized US stocks onchain: listings, holdings, US prices, pre-filled trade links. Read-only.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
92%
Naming quality
83%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin strategy_link

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,034Tokens (tool definitions)
~837 BTypical response size
Moderate attention impact (0.81% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "the-river": {
      "url": "https://theriver.markets/mcp"
    }
  }
}

Remote endpoints

https://theriver.markets/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_stocks(chain, query)

Tokenized stocks listed on The River, with ticker, token symbol, issuer, chain and trade link. Filter by chain and/or a search query (ticker, symbol or name).

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "base",
        "robinhood"
      ]
    },
    "query": {
      "type": "string",
      "description": "e.g. NVDA or nvidia"
    }
  },
  "additionalProperties": false
}
🟢trade_link(ticker, address, chain, side, usd, ...)

A pre-filled River trade link. A buy by ticker with usd (no address or chain) returns a best-price link that opens the cheapest issuer for the user. Give exactly one of usd (buy only, settlement stablecoin, up to 6 decimals) or qty (tokens, up to 18 decimals). The user reviews this on The River and signs in their own wallet; nothing happens until they do.

Input Schema

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "e.g. NVDA"
    },
    "address": {
      "type": "string",
      "description": "Token address (instead of ticker)"
    },
    "chain": {
      "type": "string",
      "enum": [
        "base",
        "robinhood"
      ],
      "description": "When a ticker is listed on more than one chain"
    },
    "side": {
      "type": "string",
      "enum": [
        "buy",
        "sell"
      ]
    },
    "usd": {
      "type": [
        "string",
        "number"
      ],
      "description": "Plain decimal, e.g. 50 or 0.25"
    },
    "qty": {
      "type": [
        "string",
        "number"
      ],
      "description": "Plain decimal, e.g. 50 or 0.25"
    }
  },
  "required": [
    "side"
  ],
  "additionalProperties": false
}
🟢strategy_link(card, symbol, fields)

A pre-filled River strategy card link (Base, ST0x stocks). Cards and fields: dip (budget, start, step, rungs); peg (amount, discount, max); recurring (budget, days, hours, max); cycle (budget, buy, step, levels, repeat, top, sell); take-profit (amount, target); sell-ladder (amount, first, last, parts); stop (amount, trigger, floor); breakout (amount, trigger, max); spread (amount, spread, weekend); portfolio (amount, preset, stocks). Missing fields are left for the user. See https://theriver.markets/llms.txt for what each card does. The user reviews this on The River and signs in their own wallet; nothing happens until they do.

Input Schema

{
  "type": "object",
  "properties": {
    "card": {
      "type": "string",
      "enum": [
        "dip",
        "peg",
        "recurring",
        "cycle",
        "take-profit",
        "sell-ladder",
        "stop",
        "breakout",
        "spread",
        "portfolio"
      ]
    },
    "symbol": {
      "type": "string",
      "description": "Ticker or token symbol, e.g. NVDA or wtNVDA (not for portfolio)"
    },
    "fields": {
      "type": "object",
      "description": "Card fields as plain decimals, e.g. {\"amount\":\"100\",\"discount\":\"0.3\"}",
      "additionalProperties": {
        "type": [
          "string",
          "number"
        ]
      }
    }
  },
  "required": [
    "card"
  ],
  "additionalProperties": false
}
🟢wallet_holdings(address)

Any wallet's stock-token and cash balances on every chain The River serves (public onchain data), plus its read-only River profile link.

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "0x... wallet address"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟢wallet_pnl(address)

Any wallet's profit and loss on Base, from public chain data. Wallet: its stock tokens since 1 Oct 2026, average cost from the wallet's own USDC trades on any venue (DEX or orderbook), realised and unrealised per token; transfers are never priced. Strategies: one row per strategy (live and cancelled orders it placed, incl. its RiverAccount): fills, USDC spent and received, tokens bought and sold, and P&L at today's prices (value now minus what was put in). Robinhood Chain is not counted yet (stated in notes).

Input Schema

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "0x... wallet address"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false
}
🟢fair_value(tickers)

Last US market price and market status of listed stocks (what the tokens track). Up to 12 tickers.

Input Schema

{
  "type": "object",
  "properties": {
    "tickers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 12
    }
  },
  "required": [
    "tickers"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools