The River
by theriver.markets · remote · no sign-in to list tools · v1.0.0 · published by markets.theriver
Tokenized US stocks onchain: listings, holdings, US prices, pre-filled trade links. Read-only.
7 tools: 5 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things5Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http the-river https://theriver.markets/mcpFindings
Matches of fixed checks, with the text they matched.
- Warntrade_link
The server marks "trade_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "trade_link" says "link": a word for a change.
- Warnstrategy_link
The server marks "strategy_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "strategy_link" says "link": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
7 tools
Changes things 5Claude Code: ask
fair_valueLast US market price and market status of listed stocks (what the tokens track).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Last US market price and market status of listed stocks (what the tokens track). Up to 12 tickers.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
strategy_linkA pre-filled River strategy card link (Base, ST0x stocks).1 finding
Why it is in this group
- The name "strategy_link" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "strategy_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "strategy_link" says "link": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
trade_linkA pre-filled River trade link.1 finding
Why it is in this group
- The name "trade_link" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "trade_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The name "trade_link" says "link": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
wallet_holdingsAny wallet's stock-token and cash balances on every chain The River serves (public onchain data), plus its read-only River profile link.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Any wallet's stock-token and cash balances on every chain The River serves (public onchain data), plus its read-only River profile link.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
wallet_pnlAny wallet's profit and loss on Base, from public chain data.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
Only reads 2Claude Code: allow
compare_issuersWhere a tokenized stock is cheapest: each issuer's token (ST0x, Coinbase, Robinhood) priced per share for a $100 buy, against the stock's own price (US, or the home exchange's in d…No findings
Why it is in this group
- The name "compare_issuers" says "compare": a word for reading.
Description, as the server wrote it Where a tokenized stock is cheapest: each issuer's token (ST0x, Coinbase, Robinhood) priced per share for a $100 buy, against the stock's own price (US, or the home exchange's in dollars), with the gap in % and the lowest issuer. From quotes taken every 5 minutes (biggest stocks) or hourly; the time is in the answer. Not a live quote: for an executable best-price buy use trade_link with usd. Up to 12 tickers.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
list_stocksTokenized stocks listed on The River, with ticker, token symbol, issuer, chain and trade link.No findings
Why it is in this group
- The name "list_stocks" says "list": a word for reading.
Description, as the server wrote it 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).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http the-river https://theriver.markets/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__the-river__list_stocks",
"mcp__the-river__compare_issuers"
],
"ask": [
"mcp__the-river__trade_link",
"mcp__the-river__strategy_link",
"mcp__the-river__wallet_holdings",
"mcp__the-river__wallet_pnl",
"mcp__the-river__fair_value"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as the-river. Review it before you use it.