Risk limits and an audit log for AI agents trading Hyperliquid, enforced outside the model.
Connect Runs on your machine
claude mcp add hyperliquid-reins -e REINS_SYMBOLS=<REINS_SYMBOLS> -e REINS_MAX_POSITION_USD=<REINS_MAX_POSITION_USD> -e REINS_DAILY_LOSS_USD=<REINS_DAILY_LOSS_USD> -e REINS_MAX_LEVERAGE=<REINS_MAX_LEVERAGE> -e REINS_MODE=<REINS_MODE> -e REINS_NETWORK=<REINS_NETWORK> -e REINS_REQUIRE_STOP_LOSS=<REINS_REQUIRE_STOP_LOSS> -e REINS_LOG_FILE=<REINS_LOG_FILE> -e REINS_PAPER_FILE=<REINS_PAPER_FILE> -e REINS_ACCOUNT_ADDRESS=<REINS_ACCOUNT_ADDRESS> -e REINS_PRIVATE_KEY=<REINS_PRIVATE_KEY> -- npx -y @r2rlabs/[email protected]
{
"mcpServers": {
"hyperliquid-reins": {
"command": "npx",
"args": [
"-y",
"@r2rlabs/[email protected]"
],
"env": {
"REINS_SYMBOLS": "<REINS_SYMBOLS>",
"REINS_MAX_POSITION_USD": "<REINS_MAX_POSITION_USD>",
"REINS_DAILY_LOSS_USD": "<REINS_DAILY_LOSS_USD>",
"REINS_MAX_LEVERAGE": "<REINS_MAX_LEVERAGE>",
"REINS_MODE": "<REINS_MODE>",
"REINS_NETWORK": "<REINS_NETWORK>",
"REINS_REQUIRE_STOP_LOSS": "<REINS_REQUIRE_STOP_LOSS>",
"REINS_LOG_FILE": "<REINS_LOG_FILE>",
"REINS_PAPER_FILE": "<REINS_PAPER_FILE>",
"REINS_ACCOUNT_ADDRESS": "<REINS_ACCOUNT_ADDRESS>",
"REINS_PRIVATE_KEY": "<REINS_PRIVATE_KEY>"
}
}
}
}
{
"mcpServers": {
"hyperliquid-reins": {
"command": "npx",
"args": [
"-y",
"@r2rlabs/[email protected]"
],
"env": {
"REINS_SYMBOLS": "<REINS_SYMBOLS>",
"REINS_MAX_POSITION_USD": "<REINS_MAX_POSITION_USD>",
"REINS_DAILY_LOSS_USD": "<REINS_DAILY_LOSS_USD>",
"REINS_MAX_LEVERAGE": "<REINS_MAX_LEVERAGE>",
"REINS_MODE": "<REINS_MODE>",
"REINS_NETWORK": "<REINS_NETWORK>",
"REINS_REQUIRE_STOP_LOSS": "<REINS_REQUIRE_STOP_LOSS>",
"REINS_LOG_FILE": "<REINS_LOG_FILE>",
"REINS_PAPER_FILE": "<REINS_PAPER_FILE>",
"REINS_ACCOUNT_ADDRESS": "<REINS_ACCOUNT_ADDRESS>",
"REINS_PRIVATE_KEY": "<REINS_PRIVATE_KEY>"
}
}
}
}
{
"servers": {
"hyperliquid-reins": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@r2rlabs/[email protected]"
],
"env": {
"REINS_SYMBOLS": "<REINS_SYMBOLS>",
"REINS_MAX_POSITION_USD": "<REINS_MAX_POSITION_USD>",
"REINS_DAILY_LOSS_USD": "<REINS_DAILY_LOSS_USD>",
"REINS_MAX_LEVERAGE": "<REINS_MAX_LEVERAGE>",
"REINS_MODE": "<REINS_MODE>",
"REINS_NETWORK": "<REINS_NETWORK>",
"REINS_REQUIRE_STOP_LOSS": "<REINS_REQUIRE_STOP_LOSS>",
"REINS_LOG_FILE": "<REINS_LOG_FILE>",
"REINS_PAPER_FILE": "<REINS_PAPER_FILE>",
"REINS_ACCOUNT_ADDRESS": "<REINS_ACCOUNT_ADDRESS>",
"REINS_PRIVATE_KEY": "<REINS_PRIVATE_KEY>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
REINS_SYMBOLSRequired | Markets the agent may trade, comma separated, e.g. BTC,ETH. Every other market is refused. |
REINS_MAX_POSITION_USDRequired | Largest position per market, in USD. |
REINS_DAILY_LOSS_USDRequired | Realised loss in a UTC day after which new risk is refused. |
REINS_MAX_LEVERAGEOptional | Largest total exposure as a multiple of account value. |
REINS_MODEOptional | paper (live prices, simulated fills, nothing signed) or live. |
REINS_NETWORKOptional | Hyperliquid network for prices and, in live mode, orders. Mainnet spends real money. |
REINS_REQUIRE_STOP_LOSSOptional | true to refuse any order that adds risk without a stop-loss. |
REINS_LOG_FILEOptional | Decision log, one JSON line per action with the agent's stated reason. In memory if unset. |
REINS_PAPER_FILEOptional | Where the paper account is kept between runs. In memory if unset. |
REINS_ACCOUNT_ADDRESSOptional | Live mode: the Hyperliquid account traded. Approve Reins' 2 bp builder fee from it first: npx @r2rlabs/reins approve-builder |
REINS_PRIVATE_KEYOptional, secret | Live mode: an API wallet's key, which can trade but not withdraw. Never the account's own key. |
Details
| Package | @r2rlabs/[email protected] (NPM, stdio) |
| First published | 4 Oct 2026 |
| Last updated | 4 Oct 2026 |
| Registry name | io.github.R2Rlabs/hyperliquid-reins |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
