Reins
Risk limits and an audit log for AI agents trading Hyperliquid, enforced outside the model.
The current version, v0.1.4, was published to the official MCP registry on 2026-09-22. It is distributed as @r2rlabs/reins on npm, filed under Monitoring & Logs by this index, and declares 11 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using Reins in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireVerdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-09-22).
Contracts can change after screening, with no version bump. The gate pins Reins’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
REINS_SYMBOLSMarkets the agent may trade, comma separated, e.g. BTC,ETH. Every other market is refused.
REINS_MAX_POSITION_USDLargest position per market, in USD.
REINS_DAILY_LOSS_USDRealised loss in a UTC day after which new risk is refused.
REINS_MAX_LEVERAGELargest total exposure as a multiple of account value.
REINS_MODEpaper (live prices, simulated fills, nothing signed) or live.
REINS_NETWORKHyperliquid network for prices and, in live mode, orders. Mainnet spends real money.
REINS_REQUIRE_STOP_LOSStrue to refuse any order that adds risk without a stop-loss.
REINS_LOG_FILEDecision log, one JSON line per action with the agent's stated reason. In memory if unset.
REINS_PAPER_FILEWhere the paper account is kept between runs. In memory if unset.
REINS_ACCOUNT_ADDRESSLive mode: the Hyperliquid account traded. Approve Reins' 2 bp builder fee from it first: npx @r2rlabs/reins approve-builder
REINS_PRIVATE_KEYLive mode: an API wallet's key, which can trade but not withdraw. Never the account's own key.
Rust MCP gateway with Code Mode, authentication, setup, logs, CLI, HTTP API, and operator web UI.
Log, query, and edit expenses, budgets, and accounts in Manilo from any MCP-compatible AI assistant.
Read-only MCP server: get_recent_commits over a local deploy log (Quellgeist triage).