riskstate-mcp
Deterministic risk governance for crypto trading agents. 5-level policy engine with position sizing, leverage limits, and trade blocking. One tool: get_risk_policy. Supports BTC and ETH.
README
RiskState MCP Server
MCP server for RiskState — deterministic risk governance API for autonomous crypto trading agents.
Your agent asks: "How much can I risk?" RiskState answers with: policy level, max position size, leverage limits, blocked actions.
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://riskstate.netlify.app) |
Claude Desktop
Add to ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"riskstate": {
"command": "npx",
"args": ["@riskstate/mcp-server"],
"env": {
"RISKSTATE_API_KEY": "your-api-key"
}
}
}
}
Claude Code
claude mcp add riskstate -- npx @riskstate/mcp-server
Set the API key in your environment:
export RISKSTATE_API_KEY=your-api-key
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 and ETH only. More assets planned.
- 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: github.com/likidodefi/riskstate-docs
- SKILL.md: agentskills.io
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.