RiskState
Pre-trade risk governance for crypto agents — returns dynamic max-position-size, leverage caps, and direction bias for BTC/ETH from live market state.
RiskState MCP Server
MCP server for RiskState — pre-trade risk permissions for BTC/USD and ETH/USD. Spot, perpetual futures (perps), and DeFi borrowing aware.
Your system asks: **"How much can I risk right now?"**RiskState answers with: policy level, max exposure, leverage limits, blocked actions — computed from 30+ real-time signals.
What it does
Wraps the RiskState /v1/risk-state API as an MCP tool. One tool: get_risk_policy.
| Field | Description |
|---|---|
| policy_level | 5 levels: BLOCK_SURVIVAL, BLOCK_DEFENSIVE, CAUTIOUS, GREEN_SELECTIVE, GREEN_EXPANSION |
| max_size_pct | Maximum position size as % of portfolio (0-100) |
| leverage_max | Maximum allowed leverage multiplier |
| allowed_actions | What the agent CAN do at this policy level |
| blocked_actions | What the agent CANNOT do |
| confidence_score | Signal agreement x data quality (0-1) |
The API aggregates 9+ real-time data sources server-side. See API docs for details.
What this wrapper does (and doesn't)
This is a thin wrapper — it translates MCP tool calls into REST API requests to POST /v1/risk-state and returns the response. All computation (scoring, policy engine, data ingestion) happens server-side.
This wrapper adds:
- MCP protocol compliance (stdio transport for Claude Desktop/Code)
- Input validation via Zod schemas
- Human-readable policy summary prepended to responses
- Specific error messages (auth, rate limit, timeout) for agent recovery
This wrapper does NOT:
- Cache responses (the API has 60s server-side cache)
- Perform any scoring or computation locally
- Guarantee response schema stability (follows API versioning)
Installation
npm install @riskstate/mcp-server
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
| RISKSTATE_API_KEY | Yes | API key from riskstate.ai (free during beta) |
| RISKSTATE_API_URL | No | Custom API base URL (default: https://api.riskstate.ai) |
Claude Desktop
Add to ~/.config/Claude/claude_desktop_config.json:
{ "mcpServers": { "riskstate": { "command": "npx", "args": ["-p", "@riskstate/mcp-server", "riskstate-mcp"], "env": { "RISKSTATE_API_KEY": "your-api-key" } } } }
Claude Code
claude mcp add riskstate -- npx -p @riskstate/mcp-server riskstate-mcp
Set the API key in your environment:
export RISKSTATE_API_KEY=your-api-key
Global install (alternative)
npm install -g @riskstate/mcp-server riskstate-mcp # starts MCP server on stdio
Usage
The server exposes one tool: get_risk_policy
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset | "BTC" | "ETH" | Yes | Asset to analyze |
| wallet_address | string | No | DeFi wallet for on-chain position data |
| protocol | "spark" | "aave" | No | Lending protocol (default: spark) |
| include_details | boolean | No | Include full breakdown (subscores, macro, risk flags) |
Example Response
{ "exposure_policy": { "policy_level": "CAUTIOUS", "max_size_pct": 35, "leverage_max": 1.5, "allowed_actions": ["DCA", "WAIT", "SPOT_LONG_CONFIRMED"], "blocked_actions": ["LEVERAGE_GT_2X", "NEW_POSITIONS_UNCONFIRMED"] }, "classification": { "cycle_phase": "MID", "market_regime": "RANGE", "macro_regime": "NEUTRAL", "direction": "SIDEWAYS" }, "auditability": { "composite_score": 52, "confidence_score": 0.72, "policy_hash": "a3f8c2...", "ttl_seconds": 60 } }
How Agents Should Use This
Call get_risk_policy before every trade:
- If
policy_levelstarts withBLOCK→ do not open new positions - Use
max_size_pctto cap position sizing - Check
blocked_actionsbefore executing - Re-query after
ttl_seconds(60s cache)
Limitations
- v1 scope: BTC/USD and ETH/USD only (USD-denominated assessment). More assets planned.
- Markets: Spot, perpetual futures, and DeFi borrowing. Same response — interpretation differs by market (see API docs).
- Protocols: Spark and Aave V3 only for DeFi position data.
- Rate limit: 60 requests/minute per API key.
- Latency: ~1-3s per request (9+ upstream data source aggregation).
- Tested with: Claude Desktop, Claude Code. Should work with any MCP-compatible client.
Links
- Landing page: riskstate.ai
- API docs: riskstate.ai/docs/api
- SKILL.md: agentskills.io
License
MIT
Máy chủ liên quan
FalsifyLab Alpha
8 data tools surfacing crypto + US-equity alpha to AI agents via MCP
American Default Research
Read-only MCP for U.S. household financial distress data: 96 indicators, the American Distress Index (ADI), and county-level distress scores for all 3,144 U.S. counties.
Deribit MCP with Claude Session injection
Claude Opus full auto trading
fffinstill MCP Server
Investment analysis for 2,260+ US equities — 43 tools for stock screening, ML earnings predictions, insider/congressional trades, macro signals, Fear & Greed, and alternative data.
iPayX FX Audit
Forensic FX audit MCP. Detects hidden bank markups on cross-border payments. FINTRAC MSB registered.
Headless Tracker
Stop building portfolio dashboards — describe the view you want and let Claude render it. Read-only MCP server for Bybit, Binance, EVM wallets, Solana, and Polymarket.
Stripe Billing MCP
Stripe billing automation — subscription management, invoice generation, payment analytics, webhook handling by MEOK AI Labs
Papierkram
An MCP (Model Context Protocol) server for the Papierkram.de accounting API. Enables AI assistants to manage invoices, expenses, contacts, projects, time tracking and more directly in your Papierkram account.
Laravel QuickBooks MCP
A first-party PHP/Laravel Composer package that exposes QuickBooks Online (QBO) as a Model Context Protocol (MCP) server.
Blocksize Real Time Market Data
Remote MCP discovery for real-time crypto, FX, and metals market data, with x402-paid HTTP endpoints settled in USDC on Solana and Base.